Skip to content

Node.js mock server running live, interactive mocks in place of real APIs

License

Notifications You must be signed in to change notification settings

mocks-server/main

Repository files navigation

Mocks Server logo

Build Status Coverage Quality Gate Downloads Renovate Last release Last commit License


Introduction

Node.js mock server running live, interactive mocks in place of real APIs. It makes able to define many different responses for a same route, so, you can change the whole mocked API behavior by simply changing the response of one or many routes while the server is running.

Usage

Define your mocked API routes in YAML, JSON, JavaScript or TypeScript files. Mocks Server loads them automatically and watches for changes. Defining routes using any of the available APIs is also possible.

Routes can be defined in many ways, from plain objects to plain text and even Express middlewares, and they can act in different ways also, from sending a response to proxy the request to another host.

Configuration

Configure the server simply modifying the configuration file at the root folder of your project, or use command line arguments, or even environment variables.

For changing options while it is running, you can also use any of the available integrations tools that enable live interactions with Mocks Server.

Integrations

Providing a Javascript API, an interactive command line interface and a REST API for changing the responses of the mocked API while it is running, it is easy to use both for development and testing. Tools providing integrations with other ecosystems are also available, such as Cypress commands.

Documentation

To check out docs, visit www.mocks-server.org.

Ecosystem

Project Status Description
main main-status Main distribution. It includes all plugins preinstalled
core core-status Pluggable core. It can be used programmatically also
plugin-admin-api plugin-admin-api-status Plugin providing an administration REST API
plugin-inquirer-cli plugin-inquirer-cli-status Plugin providing an administration interactive CLI
plugin-openapi plugin-openapi-status Plugin allowing to create routes and collections from OpenApi definitions
plugin-proxy plugin-proxy-status Plugin providing Proxy route handler
admin-api-client admin-api-client-status API client for plugin-admin-api
admin-api-client-data-provider admin-api-client-data-provider-status API client for plugin-admin-api built using data-provider
admin-api-paths admin-api-paths-status Definition of plugin-admin-api routes
cypress-commands cypress-commands-status Cypress commands to administrate Mocks Server
config config-status Provides configuration to core components and plugins
nested-collections nested-collections-status Nested collections manager. Used to provide alert namespaces to plugins
logger logger-status Winston-based logger with namespaces and events emitter

Contributing

Contributors are welcome. Please read the contributing guidelines and code of conduct.