All Projects → brianmoran → mockify

brianmoran / mockify

Licence: MIT License
Easy, configurable API mocking you can change on-the-fly

Programming Languages

go
31211 projects - #10 most used programming language
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to mockify

Karate
Test Automation Made Simple
Stars: ✭ 5,497 (+6522.89%)
Mutual labels:  mock-server, developer-tools
pactum
REST API Testing Tool for all levels in a Test Pyramid
Stars: ✭ 190 (+128.92%)
Mutual labels:  mock-server
EnvCLI
Don't install Node, Go, ... locally - use containers you define within your project. If you have a new machine / other contributors you just have to install docker and envcli to get started.
Stars: ✭ 93 (+12.05%)
Mutual labels:  developer-tools
any-mock
A configurable mock server,help you mock APIs.
Stars: ✭ 25 (-69.88%)
Mutual labels:  mock-server
laminas-developer-tools
Module for developer and debug tools for use with laminas-mvc applications.
Stars: ✭ 19 (-77.11%)
Mutual labels:  developer-tools
legesher
Because language shouldn't be a barrier to code
Stars: ✭ 29 (-65.06%)
Mutual labels:  developer-tools
pytest-mock-server
Mock server plugin for pytest
Stars: ✭ 19 (-77.11%)
Mutual labels:  mock-server
mixed-content-scanner-cli
A cli tool to check your site for mixed content
Stars: ✭ 82 (-1.2%)
Mutual labels:  developer-tools
hubi
Humanitarian ubiquitous language helper
Stars: ✭ 17 (-79.52%)
Mutual labels:  developer-tools
portal
An api-driven, in-kernel layer 2/3 load balancer.
Stars: ✭ 101 (+21.69%)
Mutual labels:  developer-tools
android-trinity
android-trinity is tiny proactive framework with much of the scaffolding code required to start a new Android Application.
Stars: ✭ 44 (-46.99%)
Mutual labels:  developer-tools
nanobox-rails
Quickly set up a Ruby on Rails app on Nanobox, the ideal platform for developers. With Nanobox, Rails app developers can set up instant, isolated development environments that can be shared among team members. Rails apps created using Nanobox can be automatically deployed to AWS, Azure, Google Cloud, and other cloud hosts without the need for de…
Stars: ✭ 19 (-77.11%)
Mutual labels:  developer-tools
treblle-laravel
The offical Treblle package for Laravel
Stars: ✭ 43 (-48.19%)
Mutual labels:  api-service
ethernal-cli
CLI to sync transactions and Truffle artifacts with Ethernal.
Stars: ✭ 14 (-83.13%)
Mutual labels:  developer-tools
TyStrings
strings file tool for iOS / macOS developers
Stars: ✭ 15 (-81.93%)
Mutual labels:  developer-tools
feater
Tool for rapid deployment of selected features of your web application to isolated testing or demo environments.
Stars: ✭ 27 (-67.47%)
Mutual labels:  developer-tools
replay-csharp
An editable C# REPL (Read Eval Print Loop) powered by Roslyn and .NET Core
Stars: ✭ 69 (-16.87%)
Mutual labels:  developer-tools
wordup-code
Visual Studio Code extension for wordup that makes it easy to develop, manage and export WordPress plugins or themes.
Stars: ✭ 12 (-85.54%)
Mutual labels:  developer-tools
tbot
Automation/Testing tool for Embedded Linux Development
Stars: ✭ 54 (-34.94%)
Mutual labels:  developer-tools
AutoBrew
AutoBrew: Homebrew deployments made easy
Stars: ✭ 71 (-14.46%)
Mutual labels:  developer-tools

Looking for contributors to help make mockify better

mockify

Simple API mocking. No more waiting on backend teams to deliver services. Simply map the API call with a response and continue building great software.

Update

  • Added /list endpoint (GET) to describe the current state of the ResponseMapping
  • Added /add endpoint (POST)
  • Added /delete endpoint (POST) to delete an existing mock by key (/helloworld/foo|GET)
  • Added postman collection & environment
  • Added functionality for requestHeader

tl;dr

docker run -it -p 0.0.0.0:8001:8001 -v ~/Desktop/routes-cart.json:/app/routes.json  -e MOCKIFY_PORT=8001 brianmoran/mockify
curl localhost:8001/list

Getting Started

These instructions will help you get started mocking your APIs with Docker.

  1. Create a mapping file (JSON or YAML) anywhere you like. Mockify will check for the environment variable MOCKIFY_ROUTES. If the environment variable does not exist, Mockify will default to ./config/routes.yaml
  2. (Optional) Set the following environment variables MOCKIFY_PORT and MOCKIFY_ROUTES
  3. Build the app inside a docker container by running docker-compose up. The docker container uses only 7MB of memory!
  4. Start the docker container using a specific port and you can override routes.json as well
MOCKIFY_PORT=8002 docker-compose up # set a specific port
MOCKIFY_ROUTES=/app/routes-other.json docker-compose up # set a different routes file within the mockify folder as docker will copy it

or non-dockerized

go get github.com/gorilla/mux
go get github.com/json-iterator/go
go get gopkg.in/yaml.v2
go build -o main ./app/cmd/mockify.go
export MOCKIFY_PORT=8001
export MOCKIFY_ROUTES=~/Desktop/routes.json
./main

Examples

Use Postman, cURL, or your own microservice to connect to the mock API

curl http://localhost:8001/helloworld/bar
{"foo":{"key1":1,"key2":true,"key3":[{"bar":true,"baz":[1,2,"3"],"foo":"foo"}]}}

You can even mock errors

curl http://localhost:8001/helloworld/nonexisting
{"message": "Something bad happened but you knew that right?"}

Here is a postman collection that includes all internal calls as well as the tests that you see in the example configuration: https://www.getpostman.com/collections/2daab06a399baa2c8576

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].