Skip to content

Commit

Permalink
Add mock for random data
Browse files Browse the repository at this point in the history
  • Loading branch information
mittsh committed Sep 22, 2017
1 parent 48da74f commit f4bc6a1
Showing 1 changed file with 20 additions and 0 deletions.
20 changes: 20 additions & 0 deletions src/MockingjayGenerator.js
Expand Up @@ -37,9 +37,29 @@ class StubGenerator {
}
return this._generateJsonBuilder()
}
else if (this.httpExchange.responseBody.length > 0) {
return this._generateDataBuilder()
}
return `http(${this.httpExchange.responseStatusCode})`
}

_generateDataBuilder() {
const responseHeaders = this.httpExchange.responseHeaders
const allowHeaders = ['Content-Type', 'Content-Language', 'Set-Cookie']
let headers = []
for (let headerName of Object.keys(responseHeaders)) {
if (allowHeaders.indexOf(headerName) >= 0) {
headers.push(`"${headerName}":"${responseHeaders[headerName]}"`)
}
}
const headerString = headers.length === 0 ? '[:]' : `[${headers.join(', ')}]`

const slug = this._getRequestSlug(this.request)
const dataVarName = `${slug}Data`
this.setupLines.push(`let ${dataVarName} = try! Data(contentsOf: Bundle.main.url(forResource: "${slug}", withExtension: "dat" /* set your file extension */)!)`)
return `http(${this.httpExchange.responseStatusCode}, headers: ${headerString}, download: Download.content(${dataVarName}))`
}

_generateLargeJsonBuilder() {
const slug = this._getRequestSlug(this.request)
const dataVarName = `${slug}JsonData`
Expand Down

0 comments on commit f4bc6a1

Please sign in to comment.