A server that responds with mock data.
Run the linter:
npm run watch
NOTE: These tests probably only work on macos, since using gtimeout
and greadlink
in the wait-for-it.sh
script.
NOTE: If running on macos, you will need coreutils
installed.
brew install coreutils
Run tests:
npm run test
This command starts up a service running on a specified port. The command is added to npm's bin as starworld-mock-api
.
Usage: starworld-mock-api -p <num>
Options:
--version Show version number [boolean]
-h Show help [boolean]
-p The port to listen on. [required]
The service exposes several endpoints.
Register an endpoint with the server. After registering, if this endpoint is queried, it will respond with the data provided in the request. The query part of the URL will be ignored when matching the requested URL (e.g. if your endpoint is '/test', it will match '/test?blah=1'). However, the endpoint
param provided when registering will not be altered, so if you include a query in it, it likley won't match any requests.
Method: POST
Content Type: application/json
Parameters:
- endpoint (string, required) The path of the endpoint you want to register (e.g.
/user/messages
) - method (string, optional, default:
GET
) The request method to respond to. - status (int, optional, default:
200
) The status to respond with when the endpoint is queried - headers (object, optional, default:
{'Content-type': 'application/json'}
) Any response headers to send. - respondRaw (boolean, optional, default: false) By default, the response will be sent as JSON. Set this to
true
and the response body will be returned exactly as provided. - body (any, required) The response body. By default will send this as JSON string. See
respondRaw
to change this behavior. - responses (array[object], optional) Instead of sending
status
,headers
,responseRaw
andbody
, you can send an array of objects with those keys. Each subsequent call to the endpoint will respond with a value from that array. After the array is exhausted, all subsequent calls will response with the last value from the array.
Result:
Status: 200, 500 (on error)
Clear one ore all endpoints.
Method: POST
Content Type: application/json
Parameters:
- endpoint (string, optional) The endpoint to clear. If not provided, will clear all endpoints
- method (string, optional, default:
GET
) The method to clear.
Result:
Status: 200, 500 (on error)