simulado

3.5.2 • Public • Published

Simulado CircleCI npm node

Deploy

2.x docs

Install

npm i simulado --save-dev

or

docker run -p <desired_port>:80 ldabiralai/simulado

Usage

CLI

This will keep the server alive until the process is killed (unlike the below).

./node_modules/.bin/simulado
Options

-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: 7001
    • https <object> - Enable https support
      • key <string> - path to key file
      • cert <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 example https://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

setMocks(mockResponses)

Sets multiple mock responses

setDefaults(mockResponses)

Clears mocked responses and sets new mocked responses

lastRequests(method, path[, limit])

Fetch the last requests for a path

  • method <String> - The request method for the requests you want to fetch
  • path <String> - The path of the requests you want to fetch
  • limit <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 fetch
  • path <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 from
  • path <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 from
  • path <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
}

Readme

Keywords

Package Sidebar

Install

npm i simulado

Weekly Downloads

425

Version

3.5.2

License

ISC

Unpacked Size

1.57 MB

Total Files

33

Last publish

Collaborators

  • acnalesso
  • bdo
  • ldabiralai