Skip to content
@imposter-project

Imposter Mock Engine

Organisation for the Imposter Mock Engine project.

Imposter: Scriptable, multipurpose mock server

Mock server for REST APIs, OpenAPI (and Swagger) specifications, SOAP web services (and WSDL files), Salesforce and HBase APIs.

  • Run standalone mock servers in Docker, Kubernetes, AWS Lambda or on the JVM.
  • Embed mocks within your tests (JVM or Node.js) to remove external dependencies.
  • Script dynamic responses using JavaScript, Groovy or Java.
  • Capture data from requests, then store it or return a templated response.
  • Proxy an existing endpoint to replay its responses as a mock.

Imposter logo

Features

  • run standalone mocks in place of real systems
  • turn an OpenAPI/Swagger file or WSDL file into a mock API for dev or QA (use it before the real API is built)
  • decouple your integration tests from the cloud/back-end systems and take control of your dependencies
  • validate your API requests against an OpenAPI specification
  • capture data to retrieve later, or use in templates to for conditional responses
  • proxy an existing endpoint to replay its responses as a mock

Send dynamic responses:

  • Provide mock responses using static files or customise behaviour based on characteristics of the request.
  • Power users can control mock responses with JavaScript or Java/Groovy script engines.
  • Advanced users can write their own plugins in a JVM language of their choice.

Getting started

The quickest way to get up and running is to use the free cloud-hosted service at mocks.cloud

User documentation

Read the user documentation here

Tutorials


Mock types

Imposter provides specialised mocks for the following scenarios:

  • OpenAPI - Support for OpenAPI (and Swagger) API specifications.
  • REST - Mocks RESTful or plain HTTP APIs.
  • SOAP - Support for SOAP web services (and WSDL files).
  • WireMock - Support for WireMock mappings files.
  • SFDC (Salesforce) - Basic Salesforce mock implementation.
  • HBase - Basic HBase mock implementation.

These use a plugin system, so you can also create your own plugins, using any JVM language.

Example

$ imposter up

Starting server on port 8080...
Parsing configuration file: someapi-config.yaml
...
Mock server is up and running

Your mock server is now running! Here Imposter provides HTTP responses to simulate an API that accepts users and returns a dynamic response containing the user ID from the request.

$ curl -v -X PUT http://localhost:8080/users/alice

HTTP/1.1 201 Created
Content-Type: application/json

{ "userName": "alice" }

This is a trivial example, which you can extend with conditional logic, request validation, data capture and much more...

How to run Imposter

There are many ways to run Imposter.

Standalone mock server

Embedded in tests

Within your CI/CD pipeline

Pinned Loading

  1. imposter-cli imposter-cli Public

    CLI for the Imposter mock engine, a scriptable, multipurpose mock server.

    Go 15 2

  2. imposter-js imposter-js Public

    JavaScript bindings for the Imposter mock engine.

    TypeScript 2 2

  3. imposter-github-action imposter-github-action Public

    Official GitHub Actions for Imposter, a modern mock server designed for microservice development and testing.

  4. examples examples Public

    Examples for the Imposter Mock Server.

    HTML

Repositories

Showing 8 of 8 repositories
  • .github Public

    Scriptable, multipurpose mock server. Run standalone mock servers, or embed mocks within your tests or CI/CD pipeline.

    imposter-project/.github’s past year of commit activity
    0 0 0 0 Updated Mar 13, 2025
  • imposter-js Public

    JavaScript bindings for the Imposter mock engine.

    imposter-project/imposter-js’s past year of commit activity
    TypeScript 2 2 0 0 Updated Mar 11, 2025
  • imposter-jvm-engine Public

    Scriptable, multipurpose mock server. Run standalone mock servers, or embed mocks within your tests or CI/CD pipeline.

    imposter-project/imposter-jvm-engine’s past year of commit activity
    Kotlin 382 62 60 (2 issues need help) 7 Updated Mar 10, 2025
  • examples Public

    Examples for the Imposter Mock Server.

    imposter-project/examples’s past year of commit activity
    HTML 0 Apache-2.0 0 0 0 Updated Mar 10, 2025
  • imposter-js-types Public

    TypeScript types for Imposter scripts.

    imposter-project/imposter-js-types’s past year of commit activity
    TypeScript 0 1 0 0 Updated Mar 10, 2025
  • imposter-cli Public

    CLI for the Imposter mock engine, a scriptable, multipurpose mock server.

    imposter-project/imposter-cli’s past year of commit activity
    Go 15 Apache-2.0 2 0 4 Updated Mar 10, 2025
  • imposter-go Public

    A Go implementation of the Imposter Mock Engine.

    imposter-project/imposter-go’s past year of commit activity
    Go 2 1 2 1 Updated Mar 4, 2025
  • imposter-github-action Public

    Official GitHub Actions for Imposter, a modern mock server designed for microservice development and testing.

    imposter-project/imposter-github-action’s past year of commit activity
    0 MIT 0 0 0 Updated Feb 4, 2025

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…