This is the @chrisdobby/wiremock-js
library.
It is designed to give typescript and javascript developers a library to run Wiremock with a familiar API.
The API is based on the jest mocking API so, for instance, you could create a mock for a GET
request against the /hello-world
path using wm.mock('GET', '/hello-world').mockResponse({ statusCode: 200 })
. The full API is listed below.
To install the package use
npm install @chrisdobby/wiremock-js
The package can be imported using
import { wm } from '@chrisdobby/wiremock-js
wiremock-js
can either use an existing Wiremock server or will start a docker container running a wiremock server.
To start wiremock-js
to use an existing server a url
must be passed to the wm.start
function
wm.start({ url: 'http://my-wiremock-server' })
To start wiremock-js
by running wiremock in docker
wm.start({})
When you have finished call wm.stop()
to clear all mappings and, if a docker container was started, shut it down.
To add a single mock response use
wm.mock('GET', '/hello-world').mockResponse({ status: 200 }).map()
Starts a new Wiremock server if required, clears any existing mocks and adds a proxy if required.
Type: Object
Default: {}
startup options for the library
Type: string
Default: undefined
The url of an existing Wiremock server, if not supplied then a docker container running a server on port 8080 will be started.
Type: number
Default: undefined
Specifies a different port to run the docker container on.
Type: string
Default: undefined
Specifies the url of a proxy to be called for any paths that have no explicit mocks set.
Clears any existing mocks and stops the docker container if one was started.
Clears all existing mocks except the proxy if one was supplied.
Type: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD' | 'OPTIONS'
Specifies the http method that the mock refers to.
Type: string
Specifies the path that the mock refers to.
Type: Object
Response object
Type: number
The http status code for the response
Type: Object
Default: undefined
The response headers
Type: Object
Default: undefined
The response body
The demo will start up a docker container running Wiremock and perform some sample integration tests using vitest.
To run it ensure the docker daemon is running and run
npm run build
npm run demo