A simple mockserver for testing with nodejs
npm install simulado
var Simulado = require('simulado');
path
is mandatory, without it Simulado will not mock anything.
status
defaults to 200
if no status is provided.
headers
defaults to {}
if no headers are provided.
response
will respond with {}
if no response is provided, otherwise it will return what you give it.
method
defaults to GET
if no method is provided. Possible values are GET
POST
PUT
DELETE
The callback
will be called once Simulado has finished mocking the endpoint. You should probably put the rest of your step in a function here.
Simulado.mock({
path: '/account/devices',
status: 401,
headers: {"Content-Type": 'application/json'},
response:
id: 123,
type: "MOBILE",
name: "My work phone"
}
}, callback)
You can retrive the request made to an endpoint with Simulado.lastRequest(httpMethod, path)
var lastRequestMade = Simulado.lastRequest('POST', '/postingPath')
lastRequestMade.headers // => {"Content-Type": "application/json"}
lastRequestMade.body // => {"name": "simulado"}
// http://localhost:7000/postingPath?paramName=value
lastRequestMade.params // => {"paramName": "value"}
After mocking, you can call the endpoint whichever way you like. Simulado starts a server on localhost:7000
the path you specify is relative to this.
To view the mocked reponses you will need to run simulado
before running the tests. This will start a server up on port 7001 and will persist all the mocked endpoints that are used in the tests.
# If you have simulado installed gloabally run
simulado
# otherwise
./node_modules/simulado/bin/simulado
To inspect all the mocked endpoints you can goto http://localhost:7001/inspect
. You can use these enpoints while developing your app by making an API call the http://localhost:7001/[path]
.
To clear all mocked responses
Simulado.reset()
To stop simulado call Simulado.stop([callback])
.