Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

wiremock-mapper

ike18t280MIT0.7.0TypeScript support: included

DSL for setting up WireMock mappings.

wiremock

readme

Node.js CI Code Climate Test Coverage npm version

wiremock-mapper

DSL for setting up WireMock mappings

Installation

npm install wiremock-mapper

Configuring

import { Configuration } from 'wiremock-mapper';

Configuration.wireMockBaseUrl = 'http://localhost:8080/some_path_prefix'; // default is 'http://localhost:8080'

Creating a global mapping

Global mappings are a way to predefine part o

import { Configuration } from 'wiremock-mapper';

Configration.createGlobalMapping((request, response) => {});

Reset global mapping

import { Configration } from 'wiremock-mapper';

Configration.reset();

Create a mapping

Import the library

import { WireMockMapper } from 'wiremock-mapper';

Mappings are created with WireMockMapper.createMapping() which takes a function argument defining the mock behavior. It asyncronously sends the configuration to the WireMock server.

await WireMockMapper.createMapping((req, res) => {});

Define matching parameters

All request modifiers are set from req provided by createMapping, and return an instance of RequestBuilder, MatchBuilder, or UrlMatchBuilder. These can be chained together to form a complete request expectation.

It should read like a sentence when set up properly.

await WireMockMapper.createMapping((req, res) => {
  req.isAGet.withUrlPath.matching('/my/.*/path');
});

Interfaces

RequestBuilder

Method Argument(s) Effect Returns
isAGet none sets request method to GET RequestBuilder
isAPost none sets request method to POST RequestBuilder
isAPut none sets request method to PUT RequestBuilder
isADelete none sets request method to DELETE RequestBuilder
isAHead none sets request method to HEAD RequestBuilder
isAnOptions none sets request method to OPTIONS RequestBuilder
isATrace none sets request method to TRACE RequestBuilder
isAnyVerb none sets request method to ANY RequestBuilder
withBody none sets request body RequestBuilder
withBasicAuth username: string, password: string sets basic auth RequestBuilder
withUrl none sets expected URL UrlMatchBuilder
withUrlPath none sets URL path match to urlPathPattern UrlMatchBuilder
withCookie key: string sets request cookie MatchBuilder
withHeader key: string sets request header MatchBuilder
withQueryParam key: string sets request query parameter MatchBuilder

UrlMatchBuilder

Method Arguments Effect Returns
equalTo url: string Matches text given RequestBuilder
matching regexp: string Matches with regular expression RequestBuilder

MatchBuilder

Method Argument(s) Returns
absent none RequestBuilder
containing value: string RequestBuilder
equalTo value: string RequestBuilder
equalToJson json: any, ignoreArrayOrder: boolean, ignoreExtraElements: boolean RequestBuilder
equalToXml xml: string RequestBuilder
macthing value: string RequestBuilder
matchingJsonPath path: string RequestBuilder
matchingXPath xpath: string RequestBuilder
notMatching value: string RequestBuilder

Define response behavior

Responses are created from res provided by WireMockMapper.createMapping()

await WireMockMapper.createMapping((req, res) => {
  res
    .withJsonBody({
      someKey: 'theValue',
      otherKey: 'otherValue'
    })
    .withStatus(200)
    .withStatusMessage('ok');
});

Interface

ResponseBuilder

Method Argument(s) Returns
withBody value: string ResponseBuilder
withDelay milliseconds: number ResponseBuilder
withHeader key: string ResponseBuilder
withJsonBody value: object ResponseBuilder
withStatus statusCode: object ResponseBuilder
withStatusMessage statusMessage: string ResponseBuilder
withTransformer transformerName: string ResponseBuilder

Example

await WireMockMapper.createMapping((req, res) => {
  req.isAGet.withUrlPath.equalTo('/my/api/path');
  res
    .withJsonBody({
      someKey: 'theValue',
      otherKey: 'otherValue'
    })
    .withStatus(200)
    .withStatusMessage('ok');
});

Get Requests Received

Get all requests

await WireMockMapper.getRequests();

Get all requests for a given stub id

await WireMockMapper.getRequests({ stubId: 'some_stub_id' });

The interface for the returned object can be found here.

changelog

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

0.7.0 (2024-10-11)

Features

  • add ability to delete requests (0fec1eb)

0.5.0 (2024-07-22)

Bug Fixes

0.4.0 (2024-07-02)

Features

0.3.0 (2024-05-22)

⚠ BREAKING CHANGES

  • upgrade TS (may not break anything but JIC) and other dev deps
  • DSL update

Features

  • getRequests to query wiremock's received requests (5c65483)
  • upgrade TS (may not break anything but JIC) and other dev deps (d8a16fb)
  • use getters for builder chains that do not require args (7ced9f3)

0.2.1 (2017-11-02)

Bug Fixes

  • MatchBuilder#equalToJson stringifies the json if it is an object (a53f889)

0.2.0 (2017-10-31)

Features

  • add withJsonBody to responseBuilder (278816d)

0.1.0 (2017-10-30)

Features

  • add support for scenarios (f3834f9)

0.0.3 (2017-09-26)

Bug Fixes

  • package with compiled assets and typing (4b16c14)

0.0.2 (2017-08-01)

0.0.1 (2017-07-30)

0.5.0 (2024-07-22)

Bug Fixes

0.4.0 (2024-07-02)

Features

0.3.0 (2024-05-22)

⚠ BREAKING CHANGES

  • upgrade TS (may not break anything but JIC) and other dev deps
  • DSL update

Features

  • getRequests to query wiremock's received requests (5c65483)
  • upgrade TS (may not break anything but JIC) and other dev deps (d8a16fb)
  • use getters for builder chains that do not require args (7ced9f3)

0.2.1 (2017-11-02)

Bug Fixes

  • MatchBuilder#equalToJson stringifies the json if it is an object (a53f889)

0.2.0 (2017-10-31)

Features

  • add withJsonBody to responseBuilder (278816d)

0.1.0 (2017-10-30)

Features

  • add support for scenarios (f3834f9)

0.0.3 (2017-09-26)

Bug Fixes

  • package with compiled assets and typing (4b16c14)

0.0.2 (2017-08-01)

0.0.1 (2017-07-30)

0.4.0 (2024-07-02)

Features

0.3.0 (2024-05-22)

⚠ BREAKING CHANGES

  • upgrade TS (may not break anything but JIC) and other dev deps
  • DSL update

Features

  • getRequests to query wiremock's received requests (5c65483)
  • upgrade TS (may not break anything but JIC) and other dev deps (d8a16fb)
  • use getters for builder chains that do not require args (7ced9f3)

0.2.1 (2017-11-02)

Bug Fixes

  • MatchBuilder#equalToJson stringifies the json if it is an object (a53f889)

0.2.0 (2017-10-31)

Features

  • add withJsonBody to responseBuilder (278816d)

0.1.0 (2017-10-30)

Features

  • add support for scenarios (f3834f9)

0.0.3 (2017-09-26)

Bug Fixes

  • package with compiled assets and typing (4b16c14)

0.0.2 (2017-08-01)

0.0.1 (2017-07-30)

0.3.0 (2024-05-22)

⚠ BREAKING CHANGES

  • upgrade TS (may not break anything but JIC) and other dev deps
  • DSL update

Features

  • getRequests to query wiremock's received requests (5c65483)
  • upgrade TS (may not break anything but JIC) and other dev deps (d8a16fb)
  • use getters for builder chains that do not require args (7ced9f3)

0.2.1 (2017-11-02)

Bug Fixes

  • MatchBuilder#equalToJson stringifies the json if it is an object (a53f889)

0.2.0 (2017-10-31)

Features

  • add withJsonBody to responseBuilder (278816d)

0.1.0 (2017-10-30)

Features

  • add support for scenarios (f3834f9)

0.0.3 (2017-09-26)

Bug Fixes

  • package with compiled assets and typing (4b16c14)

0.0.2 (2017-08-01)

0.0.1 (2017-07-30)

0.2.1 (2017-11-02)

Bug Fixes

  • MatchBuilder#equalToJson stringifies the json if it is an object (a53f889)

0.2.0 (2017-10-31)

Features

  • add withJsonBody to responseBuilder (278816d)

0.1.0 (2017-10-30)

Features

  • add support for scenarios (f3834f9)

0.0.3 (2017-09-26)

Bug Fixes

  • package with compiled assets and typing (4b16c14)

0.0.2 (2017-08-01)

0.0.1 (2017-07-30)

0.2.0 (2017-10-31)

Features

  • add withJsonBody to responseBuilder (278816d)

0.1.0 (2017-10-30)

Features

  • add support for scenarios (f3834f9)

0.0.3 (2017-09-26)

Bug Fixes

  • package with compiled assets and typing (4b16c14)

0.0.2 (2017-08-01)

0.0.1 (2017-07-30)

0.1.0 (2017-10-30)

Features

  • add support for scenarios (f3834f9)

0.0.3 (2017-09-26)

Bug Fixes

  • package with compiled assets and typing (4b16c14)

0.0.2 (2017-08-01)

0.0.1 (2017-07-30)

0.0.3 (2017-09-26)

Bug Fixes

  • package with compiled assets and typing (4b16c14)

0.0.2 (2017-08-01)

0.0.1 (2017-07-30)

0.0.3 (2017-09-26)

Bug Fixes

  • package with compiled assets and typing (4b16c14)

0.0.2 (2017-08-01)

0.0.1 (2017-07-30)

0.0.2 (2017-08-01)

Implement create_global_mapping for setting mapping state for all future mappings.

0.0.1 (2017-07-30)