Socket
Book a DemoInstallSign in
Socket

@chrisdobby/wiremock-js

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@chrisdobby/wiremock-js

![Release workflow](https://github.com/ChrisDobby/wiremock-js/actions/workflows/release.yaml/badge.svg)

latest
Source
npmnpm
Version
1.0.2
Version published
Maintainers
1
Created
Source

@chrisdobby/wiremock-js

Release workflow

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.

Installation

To install the package use

npm install @chrisdobby/wiremock-js

Getting started

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()

API

wm.start([options]) => Promise<void>

Starts a new Wiremock server if required, clears any existing mocks and adds a proxy if required.

options

Type: Object
Default: {}

startup options for the library

url

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.

port

Type: number
Default: undefined

Specifies a different port to run the docker container on.

proxy

Type: string
Default: undefined

Specifies the url of a proxy to be called for any paths that have no explicit mocks set.

wm.stop() => Promise<void>

Clears any existing mocks and stops the docker container if one was started.

wm.clearAllMocks() => Promise<void>

Clears all existing mocks except the proxy if one was supplied.

wm.mock([httpMethod], [path]) => WmMock

httpMethod

Type: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'HEAD' | 'OPTIONS'

Specifies the http method that the mock refers to.

path

Type: string

Specifies the path that the mock refers to.

Mock.mockResponse([response])

response

Type: Object

Response object

status

Type: number

The http status code for the response

headers

Type: Object
Default: undefined

The response headers

body

Type: Object
Default: undefined

The response body

Demo

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

FAQs

Package last updated on 18 Sep 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts