All Projects → mock-server → mockserver-node

mock-server / mockserver-node

Licence: Apache-2.0 License
Node.js module and grunt plugin to start and stop MockServer and MockServer Proxy

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to mockserver-node

Mockserver
MockServer enables easy mocking of any system you integrate with via HTTP or HTTPS with clients written in Java, JavaScript and Ruby. MockServer also includes a proxy that introspects all proxied traffic including encrypted SSL traffic and supports Port Forwarding, Web Proxying (i.e. HTTP proxy), HTTPS Tunneling Proxying (using HTTP CONNECT) and…
Stars: ✭ 3,479 (+10132.35%)
Mutual labels:  mock-server, ruby-client, java-client, grunt-plugin, node-module, node-client
Mockserver Client Node
MockServer javascript client for browsers, Node.js or any grunt build
Stars: ✭ 52 (+52.94%)
Mutual labels:  mock-server, node-module
Kubernetes Client
Java client for Kubernetes & OpenShift
Stars: ✭ 2,188 (+6335.29%)
Mutual labels:  mock-server, java-client
oxford-dictionary
A nodeJS wrapper for using the oxforddictionary.com V2 REST API.
Stars: ✭ 28 (-17.65%)
Mutual labels:  node-module
mockify
Easy, configurable API mocking you can change on-the-fly
Stars: ✭ 83 (+144.12%)
Mutual labels:  mock-server
nakama-java
Android optimized Java client for Nakama server.
Stars: ✭ 26 (-23.53%)
Mutual labels:  java-client
justreq
A caching proxy server for testing interface of HTTP or HTTPS. A never offline testing interface server. A mock server
Stars: ✭ 15 (-55.88%)
Mutual labels:  mock-server
pactum
REST API Testing Tool for all levels in a Test Pyramid
Stars: ✭ 190 (+458.82%)
Mutual labels:  mock-server
wiremock-junit5
Wiremock extension to inject server into JUnit5 tests
Stars: ✭ 43 (+26.47%)
Mutual labels:  mock-server
jest-pact-typescript
A PACT consumer example written in TypeScript with Jest
Stars: ✭ 22 (-35.29%)
Mutual labels:  mock-server
servirtium-java
Service Virtualized HTTP - to help service test automation stay fast and consistent
Stars: ✭ 16 (-52.94%)
Mutual labels:  mock-server
gmocker
Create a blazing fast mock server with just a JSON file
Stars: ✭ 49 (+44.12%)
Mutual labels:  mock-server
mocka
Mocka — A Mock Server Made for Developers by Developers, made in Swift ❤️
Stars: ✭ 56 (+64.71%)
Mutual labels:  mock-server
redis-modules-java
Java client libraries for redis-modules https://redis.io/modules, based on Redisson. https://github.com/redisson/redisson
Stars: ✭ 57 (+67.65%)
Mutual labels:  java-client
vuetibook
Integrating Vue.js, Vuetify and Storybook
Stars: ✭ 16 (-52.94%)
Mutual labels:  mock-server
wp-api-v2-client-java
WP-API v2 Java Client
Stars: ✭ 72 (+111.76%)
Mutual labels:  java-client
catbird
Mock server for UI tests
Stars: ✭ 32 (-5.88%)
Mutual labels:  mock-server
mocky
Mocky is a simple API mocking solution written in PHP.
Stars: ✭ 29 (-14.71%)
Mutual labels:  mock-server
grafana-api-java-client
A simple java client for interacting with Grafana using a fluent interface.
Stars: ✭ 40 (+17.65%)
Mutual labels:  java-client
jsxmock
使用 JSX 来定义 Mock Server
Stars: ✭ 31 (-8.82%)
Mutual labels:  mock-server

mockserver-node

Node module and grunt plugin to start and stop MockServer and MockServer proxy

Build status Dependency Status devDependency Status

NPM

Community

  • Backlog:                     Trello Backlog
  • Freature Requests:  Github Issues
  • Issues / Bugs:           Github Issues
  • Chat:                           Join Slack

Getting Started

This node module can be used to start and stop MockServer and the MockServer proxy as a node module or as a Grunt plugin. More information about the MockServer can be found at mock-server.com.

You may install this plugin / node module with the following command:

npm install mockserver-node --save-dev

Node Module

To start or stop the MockServer from any Node.js code you need to import this module using require('mockserver-node') as follows:

var mockserver = require('mockserver-node');

Then you can use either the start_mockserver or stop_mockserver functions as follows:

mockserver.start_mockserver({
                serverPort: 1080,
                trace: true
            });

// do something

mockserver.stop_mockserver({
                serverPort: 1080
            });

The MockServer uses port unification to support HTTP, HTTPS, SOCKS, HTTP CONNECT, Port Forwarding Proxying on the same port. A client can then connect to the single port with both HTTP and HTTPS as the socket will automatically detected SSL traffic and decrypt it when required.

Grunt Plugin

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins.

In your project's Gruntfile, add a section named start_mockserver and stop_mockserver to the data object passed into grunt.initConfig().

The following example will result in a both a MockServer and a MockServer Proxy being started on ports 1080 and 1090.

grunt.initConfig({
    start_mockserver: {
        options: {
            serverPort: 1080,
            trace: true
        }
    },
    stop_mockserver: {
        options: {
            serverPort: 1080
        }
    }
});

grunt.loadNpmTasks('mockserver-node');

Request Log

Note: The request log will only be captured in MockServer if the log level is INFO (or more verbose, i.e. DEBUG or TRACE) therefore to capture the request log and use the /retrieve endpoint ensure either the option trace: true or the command line switch --verbose is set.

Options

options.serverPort

Type: Integer Default value: undefined

The HTTP, HTTPS, SOCKS and HTTP CONNECT port(s) for both mocking and proxying requests. Port unification is used to support all protocols for proxying and mocking on the same port(s). Supports comma separated list for binding to multiple ports.

options.proxyRemotePort

Type: Integer Default value: undefined

Optionally enables port forwarding mode. When specified all requests received will be forwarded to the specified port, unless they match an expectation.

options.proxyRemoteHost

Type: String Default value: undefined

Specified the host to forward all proxy requests to when port forwarding mode has been enabled using the proxyRemotePort option. This setting is ignored unless proxyRemotePort has been specified. If no value is provided for proxyRemoteHost when proxyRemotePort has been specified, proxyRemoteHost will default to "localhost".

options.artifactoryHost

Type: String Default value: oss.sonatype.org

This value specifies the name of the artifact repository host.

options.artifactoryPath

Type: String Default value: /content/repositories/releases/org/mock-server/mockserver-netty/

This value specifies the path to the artifactory leading to the mockserver-netty jar with dependencies.

options.mockServerVersion

Type: String Default value: 5.12.0

This value specifies the artifact version of MockServer to download.

Note: It is also possible to specify a SNAPSHOT version to get the latest unreleased changes.

options.verbose

Type: Boolean Default value: false

This value indicates whether the MockServer logs should be written to the console. In addition to logging additional output from the grunt task this options also sets the logging level of the MockServer to DEBUG. At DEBUG all matcher results, including when specific matchers fail (such as HeaderMatcher) are written to the log. The MockServer logs are written to mockserver.log in the current directory.

Note: It is also possible to use the --verbose command line switch to enabled verbose level logging from the command line.

options.trace

Type: Boolean Default value: false

This value sets the logging level of the MockServer to TRACE. At TRACE level (in addition to INFO level information) all matcher results, including when specific matchers fail (such as HeaderMatcher) are written to the log. The MockServer logs are written to mockserver.log in the current directory.

options.javaDebugPort

Type: Integer Default value: undefined

This value indicates whether Java debugging should be enabled and if so which port the debugger should listen on. When this options is provided the following additional option is passed to the JVM:

"-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=" + javaDebugPort

Note that suspend=y is used so the MockServer will pause until the debugger is attached. The grunt task will wait 50 seconds for the debugger to be attached before it exits with a failure status.

options.jvmOptions

Type: String Default value: undefined

This value allows any system properties to be passed to the JVM that runs MockServer, for example:

start_mockserver: {
    options: {
        serverPort: 1080,
        jvmOptions: "-Dmockserver.enableCORSForAllResponses=true"
    }
}

options.startupRetries

Type: Integer Default value if javaDebugPort is not set: 110 Default value if javaDebugPort is set: 500

This value indicates the how many times we will call the check to confirm if the mock server started up correctly. It will default to 110 which will take about 11 seconds to complete, this is normally long enough for the server to startup. The server can take longer to start up if Java debugging is enabled so this will default to 500. The default will, in some cases, need to be overridden as the JVM may take longer to start up on some architectures, e.g. Mac seems to take a little longer.

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Changelog

All notable and significant changes are detailed in the MockServer changelog


Task submitted by James D Bloom

Analytics

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].