Wiremock - A tool for mocking HTTP services

  •        199

WireMock is a simulator for HTTP-based APIs. Some might consider it a service virtualization tool or a mock server. It enables you to stay productive when an API you depend on doesn't exist or isn't complete. It supports testing of edge cases and failure modes that the real API won't reliably produce. And because it's fast it can reduce your build time from hours down to minutes.

It supports HTTP response stubbing, matchable on URL, header and body content patterns, Request verification, Fault injection, Per-request conditional proxying, Configurable via a fluent Java API, JSON files and JSON over HTTP and lot more.

https://github.com/tomakehurst/wiremock
http://wiremock.org/

Tags
Implementation
License
Platform

   




Related Projects

SimulatorRemoteNotifications - Library to send mock remote notifications to the iOS simulator

  •    Objective-C

SimulatorRemoteNotifications is a library to send mock remote notifications to the iOS simulator. The library extends UIApplication by embedding a mini server that listen for UDP packets containing JSON-formated payload, and a service to send notifications to the mini server.

node-mocks-http - Mock 'http' objects for testing Express routing functions

  •    Javascript

Mock 'http' objects for testing Express routing functions, but could be used for testing any Node.js web server applications that have code that requires mockups of the request and response objects. This project is available as a NPM package.

apimocker - node.js module to run a simple http server for mock service responses.

  •    Javascript

Then you can visit "http://localhost:7878/first" in your browser to see it work. The quiet and port options can also be set in the config.json file, and values from config.json will override values from the command line. After you get up and running, you should put your config.json and mock responses in a better location. It's not a good idea to keep them under the "node_modules" directory. Make sure another process is not already using the port you want. If you want port 80, you may need to use "sudo" on Mac OSX. Sometimes you only want some service endpoints to be mocked, but have other requests forwarded to real service endpoints. In this case, provide the proxy URL option on startup e.g. apimocker --proxy http://myrealservice.io When the proxy option is set, any requests to apimocker with URLs that are not configured with mock files, will be forwarded to the specified URL.

node-mitm - Intercept and mock outgoing Node

  •    Javascript

Mitm.js is a library for Node.js (and Io.js) to intercept and mock outgoing network TCP and HTTP connections. Mitm.js intercepts and gives you a Net.Socket to communicate as if you were the remote server. For HTTP requests it even gives you Http.IncomingMessage and Http.ServerResponse — just like you're used to when writing Node.js servers. Except there's no actual server running, it's all just In-Process Interception™. Intercepting connections and requests is extremely useful to test and ensure your code does what you expect. Assert on request parameters and send back various responses to your code without ever having to hit the real network. Fast as hell and a lot easier to develop with than external test servers.

httplive - HTTP Request & Response Service, Mock HTTP

  •    Go

The HttpLive is a tool for API designers, Proxy, mobile and web application developers to develop and test their applications faster without being dependent on any server or backend applications. HttpLive has a built-in user interface. Therefore, you can do all the configurations you need on this UI, and with dynamic URL (Routing) definitions you can specify your own JSON return types for your applications.


fetch-mock - Mock http requests made using fetch

  •    Javascript

Mock http requests made using fetch (or isomorphic-fetch)

zan-proxy - An extensible proxy for PC/Mobile/APP developer

  •    Vue

Zan Proxy is an HTTP proxy server written in Node.js, which can be used to modify requests and mock reponse data. It is also a tool for custom DNS resolving and requests monitoring. The proxy server can be easily configured by a user-friendly interface. In addition, a mechanism is provided for developers to customize the behavior of the server. The website for management will be opened automatically.

mmock - Mmock is an HTTP mocking application for testing and fast prototyping

  •    Go

Easy and fast HTTP mock server. Built with Go - Mmock runs without installation on multiple platforms.

puer-mock - Puer + Mock.js = A configurable mock server with configurable mock(random) data.

  •    HTML

Puer + Mock.js = A configurable mock server with configurable mock(random) data. Please install puer first.

bypass - Bypass provides a quick way to create a custom plug that can be put in place instead of an actual HTTP server to return prebaked responses to client requests

  •    Elixir

Bypass provides a quick way to create a custom plug that can be put in place instead of an actual HTTP server to return prebaked responses to client requests. This is most useful in tests, when you want to create a mock HTTP server and test how your HTTP client handles different types of responses from the server. We do not recommended adding :bypass to the list of applications in your mix.exs. See below for usage info.

mockbin - Mock, Test & Track HTTP Requests and Responses.

  •    Javascript

Mockbin is used internally and maintained by Mashape, who also maintain the open-source API Gateway Kong. read more on Installation.

flashback - mock the internet

  •    Java

Flashback is designed to mock HTTP and HTTPS resources, like web services and REST APIs, for testing purposes. It records HTTP/HTTPS requests and plays back a previously recorded HTTP transaction—which we call a "scene"—so that no external connection to the internet is required in order to complete testing.Note: The flashback and flashback scene are used for testing purpose only. Each scene contains a list of Http request and response. Those http request and response might contain some sensitive data such as api key, secret, token etc. You'd better either blacklist them using customized match rule or mask them.

HTTPretty - HTTP client mocking tool for Python, it's like ruby's FakeWeb for python

  •    Python

Due to big API incompatibility between python 3.3, 3.4 and 3.5, the author of HTTPretty is not supporting python3 officially. You will notice that the travis build for python 3 might be broken, and while pull requests fixing py3 support are most welcome, it is still not official at least for now. Since you are interested in HTTPretty you should also be interested in speeding up your build. Replace pip with curdling and see your build running a lot faster.

api-mock - Creates a mock server based on an API Blueprint

  •    HTML

This project is no longer under active development and we're looking for a new maintainer (or owner). Please open an issue if you are interested in helping out. API-Mock is a node.js npm module that generates a mock server (express) from your API specification. Document your API in the API blueprint format, and API-Mock mocks your routes and sends the responses defined in the api spec.

hiroaki - Write idiomatic API integration tests using Kotlin (Unit and Instrumentation)

  •    Kotlin

The intention of Hiroaki is to achieve clarity on your API integration tests in an idiomatic way by leveraging the power of Kotlin. It uses MockWebServer to provide a mock server as a target for your HTTP requests that you'll use to mock your backend.

Kakapo.js - :bird: Next generation mocking framework in Javascript

  •    Javascript

Kakapo its a full featured http mocking library, he allows you to entirely replicate your backend logic in simple and declaritive way directly in the browser. This way you can easily prototype and develop the whole Application without backend and just deactivate Kakapo when you go production. In order to achieve that Kakapo gives you a set of utilities like Routing, Database, Response, Request and so on... Use the kakapo router to declare two custom routes and returning custom data.

pact-ruby - Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project

  •    Ruby

Define a pact between service consumers and providers, enabling "consumer driven contract" testing. Pact provides a fluent API for service consumers to define the HTTP requests they will make to a service provider and the HTTP responses they expect back. These expectations are used in the consumer specs to provide a mock service provider. The interactions are recorded, and played back in the service provider specs to ensure the service provider actually does provide the response the consumer expects.

Mock SMTP Server

  •    

The Mock SMTP Server is a simple email server that only displays each email message it receives in the application window. It is intented to test applications that send email. It will not store or relay email. Only the minimum requirements of RFC 5321 are implemented.

vcrpy - Automatically mock your HTTP interactions to simplify and speed up testing

  •    Python

This is a Python version of Ruby's VCR library. If the server you are testing against ever changes its API, all you need to do is delete your existing cassette files, and run your tests again. VCR.py will detect the absence of a cassette file and once again record all HTTP interactions, which will update them to correspond to the new API.