Mocks for microservice environments

Getting Started

Tutorial Videos

Config Syntax

Request Matching

Response Templating

Async Actors (Kafka, AMQP etc.)

Performance & Chaos Testing

Remote Management



v0.13.17 - 2021-10-25

v0.13.16 - 2021-10-08

v0.13 - 2021-09-18

v0.12 - 2021-08-18

v0.11 - 2021-07-09

v0.10 - 2021-06-22

v0.9 - 2021-05-04

  1. Mock Actors implementation for Kafka
    • on schedule producer
    • on demand producer
    • reactive consumer+producer
    • consumer fact validation
  2. Display timestamps in traffic log, instead of offset
  3. Introduce env function for templating
  4. Do not respond with Content-Type=text/html if no content-type header is configured
  5. Make MOCKINTOSH_FORCE_PORT to work always
  6. CLI argument to set the tag enabled, forbid comma in tag name
  7. Alternative base directory for resource files via MOCKINTOSH_DATA_DIR
  8. Fix missing request.path.<n> support in templating

v0.8.2 - 2021-04-07

  1. Cleaner config templates from “unhandled” in mgmt API
  2. Fix traffic not logged inside docker-compose setup
  3. Less logging around fallback

v0.8.1 - 2021-03-21

  1. Fix bug in management UI resource editor
  2. Proper support for query string written in path option

v0.8 - 2021-03-20

  1. Management API/UI Improvements:
    1. Overall visual look tuning
    2. change config editor component in management UI
    3. YAML format for unhandled requests
    4. allow editing resource files via mgmt API/UI
    5. traffic log API & viewer
    6. mgmt UI change config global section didn’t work
    7. report error in case config apply fails
    8. add UI for /tag management API
    9. Improve stats display
  2. fallbackTo option for service to help generate configuration
  3. “Hello. I’m Mockintosh” in x-mockintosh-prompt header as sign of mock involved
  4. use proper async style for Tornado functions
  5. get rid of default config that runs with no params mockintosh command
  6. ctrl+c to produce debug message only

v0.7 - 2021-02-07

  1. Management API to get/set config, see stats, quick trying
  2. Performance/Chaos Profiles
  3. Tagging responses of endpoint
  4. referencing multipart/urlencoded fields in matchers and templates

v0.6.2 - 2021-01-23

  1. Series of bugfixes

v0.6.1 - 2021-01-18

  1. Document template helpers: random, dates, names, addresses etc
  2. Better error reporting for wrong templates
  3. Polish and document faker usage
  4. Allow overriding port via env var MOCKINTOSH_FORCE_PORT

v0.5.1 - 2021-01-13

  1. Dataset support
  2. SSL support
  3. Ability to match request body by regexp
  4. Counter functions
  5. random.* templates
  6. keep unsupported templates as-is
  7. Support for running single service from config, selected by its comment
  8. respond 400/405 if path matched, but method/header/qstr/body did not match
  9. How do I do jsonPath extraction from request body?

v0.4 - 2021-01-06

  1. Automatic CORS
  2. Ability to refer to external files containing request and response bodies
    • make it secure by disallowing files outside mock config hierarchy
  3. Clear status in log on which service addresses are listened to
    • right before Mock server is ready! have series of log lines
    • each line with clear URL of mock Serving at http://<bind address>:port the mock for <service comment>
  4. have own server signature like Mockintosh/<version>
  5. fix pip install
  6. Multi-response functionality
  7. Automatic image placeholders
  8. allow specifying bind address via CLI option

Milestone 4 - Complete

  1. Integration of custom “interceptor”
    • Object model for request and response
    • Ability to provide python function/object to alter response
    • Both successful and failed responses intercepted

Milestone 3 - Complete

  1. Request headers and query string matching
  2. Request JSON body schema validation as part of matching
  3. Response status code
  4. response headers - global and local

Milestone 2 - Complete

  1. Endpoints configuration with only Path matcher
  2. Response with templating
  3. Log exception if loading server failed

Milestone 1 - Complete

  1. Open Source project with documentation, examples, code quality, unit tests with coverage.
    • UP9 will do a lot of promotion for it, has to be good quality
  2. CI process that tracks docker image size
  3. Integration tests that run program/docker image and issue calls against it
  4. setup.py, CLI
  5. Multi-service engine
  6. Config reading from file
    • consider JSON+YAML variants
  7. No-config start with some default config
  8. JSON Schema for configuration, validated for each config
  9. Performance aspects kept in mind from the beginning
  10. Extensibility aspects kept in mind from the very beginning
  11. Logging with -q and -v respected

Roadmap Ideas

Async Mock Actors

Management API/UI