HTTP assertions for node
npm install test-clienttest-client is a small HTTP assertion library.
``js
'use strict'
const http = require('http')
const Client = require('test-client')
async function test () {
const server = http.createServer((request, response) => {
response.setHeader('content-type', 'application/json')
response.end(JSON.stringify({x: 2}))
})
const client = new Client(server)
const response = await client
.get('/test')
.type('json')
.accept('json')
.set('user-agent', 'smith')
.send({x: 1})
response
.assert(200, {x: 2})
.assert('content-type', /json/)
}
`
npm install test-client
app can be a [koa][koa]/[express][express] app, an http.Server, or anything.listen()
with a method.
Returns a Request with the corresponding path and method. method can behttp.METHODS
any of the values in .
There is a convenience method proxying .request(…) for each method inhttp.METHODS. Returns a Request.
A [CookieJar][cookiejar] instance for storing cookies.
Set a request header by key and value. Returns the request.
Set headers from an object containing header key/value pairs. Returns the
request.
Set the accept header from a content-type or extension viamime-types
[][mime-types]. Returns the request.
Set the content-type header from a content-type or extension viamime-types
[][mime-types]. Returns the request.
Send the request with no body. Returns a promise that resolves as a Response.
Send the request with the specified body. If body is an object, it's JSONcontent-type
encoded and is set to application/json. If body is a stream,Response
it's piped to the request. Returns a promise that resolves as a .
The numeric status code from the response.
An object containing header values from the response.
If the response is JSON as indicated by the content-type`, the decoded
response. Otherwise, the response string.
Assert the HTTP status value. Returns the response.
Assert the repsonse body value. Returns the response.
Assert that the response body matches a RegExp. Returns the response.
Assert the response body as a JSON object. Returns the response.
Assert the HTTP status and response body value. Returns the response.
Assert the HTTP status value and the response body matches a RegExp. Returns
the response.
Assert an HTTP header value. Returns the response.
Assert an HTTP header matches a RegExp. Returns the response.
[koa]: http://koajs.com/
[express]: http://expressjs.com/
[cookiejar]: https://github.com/bmeck/node-cookiejar
[mime-types]: https://github.com/jshttp/mime-types