{"id":26137973,"url":"https://github.com/imposter-project/imposter-jvm-engine","last_synced_at":"2025-05-15T21:08:07.620Z","repository":{"id":38373338,"uuid":"55637082","full_name":"imposter-project/imposter-jvm-engine","owner":"imposter-project","description":"Scriptable, multipurpose mock server. Run standalone mock servers, or embed mocks within your tests or CI/CD pipeline.","archived":false,"fork":false,"pushed_at":"2025-05-01T11:23:15.000Z","size":15007,"stargazers_count":390,"open_issues_count":58,"forks_count":62,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-05-10T08:44:08.106Z","etag":null,"topics":["api-mock","hbase","mock","mock-responses","mock-server","openapi","rest-api","salesforce","soap","swagger"],"latest_commit_sha":null,"homepage":"https://imposter.sh","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imposter-project.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security.md","support":null,"governance":null,"roadmap":"docs/roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-06T20:08:37.000Z","updated_at":"2025-05-07T08:51:56.000Z","dependencies_parsed_at":"2022-07-14T05:50:33.966Z","dependency_job_id":"c6f5e8a4-b631-4314-a922-005ad1e83c8f","html_url":"https://github.com/imposter-project/imposter-jvm-engine","commit_stats":null,"previous_names":["imposter-project/imposter-jvm-engine","outofcoffee/imposter"],"tags_count":269,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imposter-project%2Fimposter-jvm-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imposter-project%2Fimposter-jvm-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imposter-project%2Fimposter-jvm-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imposter-project%2Fimposter-jvm-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imposter-project","download_url":"https://codeload.github.com/imposter-project/imposter-jvm-engine/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254422789,"owners_count":22068679,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-mock","hbase","mock","mock-responses","mock-server","openapi","rest-api","salesforce","soap","swagger"],"created_at":"2025-03-11T01:17:49.747Z","updated_at":"2025-05-15T21:08:07.599Z","avatar_url":"https://github.com/imposter-project.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Imposter: Scriptable, multipurpose mock server\n\n[![CI](https://github.com/imposter-project/imposter-jvm-engine/actions/workflows/cicd.yaml/badge.svg)](https://github.com/imposter-project/imposter-jvm-engine/actions/workflows/cicd.yaml)\n\n\u003e Mock server for REST APIs, OpenAPI (and Swagger) specifications, SOAP web services (and WSDL files), Salesforce and HBase APIs.\n\u003e\n\u003e - Run **standalone** mock servers in Docker, Kubernetes, AWS Lambda or on the JVM.\n\u003e - **Embed** mocks within your tests (JVM or Node.js) to remove external dependencies.\n\u003e - Script **dynamic** responses using JavaScript, Groovy or Java.\n\u003e - **Capture** data from requests, then store it or return a **templated** response.\n\u003e - **Proxy** an existing endpoint to replay its responses as a mock.\n\n![Imposter logo](./docs/images/composite_logo13_cropped.png)\n\n## [Read the documentation here](https://docs.imposter.sh/)\n\n## Features\n\n- run standalone mocks in place of real systems\n- turn an OpenAPI/Swagger file or WSDL file into a mock API for dev or QA (use it before the real API is built)\n- decouple your integration tests from the cloud/back-end systems and take control of your dependencies\n- validate your API requests against an OpenAPI specification\n- capture data to retrieve later, or use in templates to for conditional responses\n- proxy an existing endpoint to replay its responses as a mock\n\nSend dynamic responses:\n\n- Provide mock responses using static files or customise behaviour based on characteristics of the request.\n- Power users can control mock responses with JavaScript or Java/Groovy script engines.\n- Advanced users can write their own plugins in a JVM language of their choice.\n\n## Getting started\n\nThe quickest way to get up and running is to use the free cloud-hosted service at **[mocks.cloud](https://www.mocks.cloud)**\n\n## User documentation\n\n**[Read the user documentation here](https://docs.imposter.sh/)**\n\n## Tutorials\n\n- [Mocking APIs with OpenAPI and Imposter](https://medium.com/@outofcoffee/mocking-apis-with-swagger-and-imposter-3694bd1733c0)\n- [Mocking REST APIs with Imposter](https://medium.com/@outofcoffee/mocking-apis-with-imposter-53bd908632e5)\n- [Mocking SOAP web services with Imposter](https://medium.com/@outofcoffee/mocking-soap-web-services-with-imposter-da8e9666b5b4)\n\n*****\n\n## Mock types\n\nImposter provides specialised mocks for the following scenarios:\n\n- **[OpenAPI](docs/openapi_plugin.md)** - Support for OpenAPI (and Swagger) API specifications.\n- **[REST](docs/rest_plugin.md)** - Mocks RESTful or plain HTTP APIs.\n- **[SOAP](docs/soap_plugin.md)** - Support for SOAP web services (and WSDL files).\n- **[HBase](docs/hbase_plugin.md)** - Basic HBase mock implementation.\n- **[SFDC (Salesforce)](docs/sfdc_plugin.md)** - Basic Salesforce mock implementation.\n- **[WireMock](docs/wiremock_plugin.md)** - Support for WireMock mappings files.\n\nThese use a plugin system, so you can also create your own plugins, using any JVM language.\n\n## Example\n\n```shell\n$ imposter up\n\nStarting server on port 8080...\nParsing configuration file: someapi-config.yaml\n...\nMock server is up and running\n```\n\nYour 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.\n\n```shell\n$ curl -v -X PUT http://localhost:8080/users/alice\n\nHTTP/1.1 201 Created\nContent-Type: application/json\n\n{ \"userName\": \"alice\" }\n```\n\nThis is a trivial example, which you can extend with conditional logic, request validation, data capture and much more... \n\n## How to run Imposter\n\nThere are many ways to run Imposter.\n\n### Standalone mock server\n\n- Using the command line client - see [Imposter CLI](./docs/run_imposter_cli.md)\n- As a Docker container - see [Imposter Docker container](./docs/run_imposter_docker.md)\n- As a Lambda function in AWS - see [Imposter AWS Lambda](./docs/run_imposter_aws_lambda.md)\n- As a JAR file on the JVM - see [Imposter JAR file](./docs/run_imposter_jar.md)\n\n### Embedded in tests\n\n- Embedded within your **Java/Kotlin/Scala/JVM** unit tests - see [JVM bindings](./docs/embed_jvm.md)\n- Embedded within your **JavaScript/Node.js** unit tests - see [JavaScript bindings](https://github.com/imposter-project/imposter-js)\n\n### Within your CI/CD pipeline\n\n- Use the [Imposter GitHub Actions](./docs/github_actions.md) to start and stop Imposter during your CI/CD pipeline.\n\n---\n\n## Recent changes and Roadmap\n  \nFor recent changes see the [Changelog](CHANGELOG.md), or view the [Roadmap](docs/roadmap.md).\n\n## Contributing\n\n- Pull requests are welcome.\n- PRs should target the `develop` branch.\n\n## Author\n\nPete Cornish (outofcoffee@gmail.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimposter-project%2Fimposter-jvm-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimposter-project%2Fimposter-jvm-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimposter-project%2Fimposter-jvm-engine/lists"}