simulado
v3.5.2
Published
A simple nodejs mockserver
Downloads
195
Readme
Simulado

Install
npm i simulado --save-devor
docker run -p <desired_port>:80 ldabiralai/simuladoUsage
CLI
This will keep the server alive until the process is killed (unlike the below).
./node_modules/.bin/simuladoOptions
-p, --port - Port number that Simulado should start on.
-f, --file - Path to a JSON file containing mocks to mock on startup.
For HTTPS, use the following options
-c, --cert <filepath> - Path to certificate
-k, --key <filepath> - Path to certificate key
Web Client
Once Simulado has started, going to http://localhost:<SIMULADO_PORT_NUM> will display a list of mocked endpoints and their responses.
Basic Usage (ES6)
import simulado from 'simulado';
import axios from 'axios';
(async function() {
// Start Simulado server
await simulado.start();
// Mock a response
await simulado.setMock({
path: '/data',
body: 'Hello World!'
});
// Make a request
const response = await axios.get('http://localhost:7001/data');
console.log(response.data); // => 'Hello World!'
// Stop Simulado server once done
await simulado.stop();
})();API
start([options])
Start Simulado
- options
<Object>port<number>- Specify the port number to start Simulado on. Default:7001https<object>- Enable https supportkey<string>- path to key filecert<string>- path to cert file
setRemoteServer(url)
Sets the url of a simulado instance on which the client should set mocks, for use if simulado lives on another server.
url<String>for examplehttps://my-simulado-server.herokuapp.com
isRunning()
Returns true if simulado is running. Returns false if simulado is not started.
setMock(mockResponse)
Sets a mock response
mockResponse<MockResponse>- Add a response to the store. Full options MockResponse.
setMocks(mockResponses)
Sets multiple mock responses
mockResponses[<MockResponse>]- Add responses to the store. Full options MockResponse.
setDefaults(mockResponses)
Clears mocked responses and sets new mocked responses
mockResponses[<MockResponse>]- Add responses to the store. Full options MockResponse.
lastRequests(method, path[, limit])
Fetch the last requests for a path
method<String>- The request method for the requests you want to fetchpath<String>- The path of the requests you want to fetchlimit<number>- Only return the given number of last requests
lastRequest(method, path)
Fetch the last request for a path
method<String>- The request method for the requests you want to fetchpath<String>- The path of the requests you want to fetch
clearResponse(method, path)
Clear mocked response from the store
method<String>- The HTTP request method to clear saved response frompath<String>- The path to match against when clearing
clearResponses()
Clear all mocked responses from the store.
clearRequest(method, path)
Clear captured request from the store
method<String>- The HTTP request method to clear saved request frompath<String>- The path to match against when clearing
clearRequests()
Clear all captured requests from the store.
stop()
Stop Simulado.
Mock Response Options
{
// Path - Mandatory - The HTTP request path that you want the mock to response to.
path: '/testPath', // String path
path: /\/testPath/.*/, // Regex path
method: 'GET', // Optional (defaults to GET if not set) - The HTTP request method that you want the mock to response to.
status: 200, // Optional (defaults to 200 if not set) - The HTTP status you want to mock to response with.
headers: {
'X-Custom-Header': 'Custom Header Value'
}, // Optional - The HTTP headers you want the mock to respond with.
body: {
data: 'DATA'
}, // Optional - The HTTP response body you want the mock to respond with.
conditionalHeaders: {
needMe: 'true'
}, // Optional - The mock with only response if the conditional headers are sent in the request.
conditionalBody: {
data: 'YouNeedThisData'
}, // Optional - The mock will only response if the conditional body is sent in the request.
delay: 5000 // the time (in milliseconds) to wait until responding to a request
}