Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@bednarik_radek/mockserver-cli

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bednarik_radek/mockserver-cli

CLI utility for Mock-server client. Allows for easy creation/deletion of expectations on the Mock-server instance.

  • 0.1.4
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
5
increased by66.67%
Maintainers
1
Weekly downloads
 
Created
Source

mockserver-cli

Utility for handling expectations setup, teardown and other action on MockServer instance.

System Preconditions

  • Node.js - developed and tested on v20.10.0

Installation for usage of the library

  1. run npm i -g mockserver-cli. Global installation is recommended for usage of the library. So it will be accessible from any directory.

  2. run npx expectations -h to see the list of available commands. Will display something like this:

npx expectations -h

# output
Usage: expectations [options] [command]

Options:
  -V, --version           output the version number
  -c, --config <path>     set config path. defaults to './mockserver.config.json' (default: "./mockserver.config.json")
  --concurrency <number>  set number of concurrent requests. defaults to '10' (default: "10")
  -h, --help              display help for command

Commands:
  set <paths...>          send prepared expectations up to the mockserver instance
  clear <paths...>        clear all expectations from the mockserver instance
  reset                   resets everything in the running mockserver instance
  help [command]          display help for command

Installation for development

  1. clone the repository

  2. run npm i to install dependencies

How to Run

Global options

Set config path
npx expectations set -c ./examples/mockserver.config.json ./examples/expectations/expectation1.json
Configuration file format

Example:

{
  "host": "localhost",
  "port": 5999,
  "protocol": "<http|https>"
}

File can be placed anywhere. If -c or --config option is not provided, program will look for mockserver.config.json in the current directory.

Set concurrency

Concurrency of promises sets, how many promises many promises will be held in the queue at max to resolve. Defaults to 10.

This limiting is applied for both set and clear commands.

  • set is limited for how many expectations requests to mock-server can be sent at once.

  • clear is limited for how many expectations.json files can be processed at once. If the expectations array in the file contains multiple expectations, they will be processed one by one sequentially.

Uses p-queue library under the hood.

npx expectations --concurrency=5 set ./examples/expectations/expectation1.json

Set Expectations

Expectations definitions are stored in json files. These files can be placed anywhere.

Expectation file format
  • file name must end with .expectations.json

  • file must contain array of expectations objects

  • see Mockserver documentation for more details about expectations

Example:

[
  {
    "httpRequest": {
      "method": "GET",
      "path": "/api/test/endpoint/v1"
    },
    "httpResponse": {
      "statusCode": 200,
      "body": "Hello World!"
    }
  },
  {
    "httpRequest": {
      "method": "GET",
      "path": "/api/test/endpoint/v2"
    },
    "httpResponse": {
      "statusCode": 200,
      "body": {
        "message": "Hello World!",
        "flag": "test"
      }
    }
  }
]
Set Expectations from a single file
npx expectations -c=some/filepath/mockserver.config.json --concurrency=50 set ./examples/expectations/expectation1.json
Set Expectations from multiple files
npx expectations set ./examples/expectations/expectation1.json ./examples/expectations/expectation2.json
Set Expectations from a directory
npx expectations set ./examples/expectations
Set Expectations from multiple directories
npx expectations set ./examples/expectations ./examples/expectations2

Clear Expectations

Clear Expectations from a single file
npx expectations clear ./examples/expectations/expectation1.json
Clear Expectations from multiple files

npx expectations clear ./examples/expectations/expectation1.json ./examples/expectations/expectation2.json
Clear Expectations from a directory
npx expectations clear ./examples/expectations
Clear Expectations from multiple directories
npx expectations clear ./examples/expectations ./examples/expectations2

Reset MockServer

npx expectations reset

Logging

Logging is done via pino.js library. Currently, there is only the possibility to log to the console.

Log Levels

Logger settings

These are done via ENV variables.

  • LOG_LEVEL - set log level. Defaults to info if not provided.

  • LOG_ENABLED - set log enabled. Defaults to true if not provided.

Keywords

FAQs

Package last updated on 14 Dec 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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc