mockingjay alternatives and similar packages
Based on the "Other Software" category.
Alternatively, view mockingjay alternatives based on common mentions on social networks and blogs.
-
limetext
Lime Text is a powerful and elegant text editor primarily developed in Go that aims to be a Free and open-source software successor to Sublime Text. -
Seaweed File System
Fast, Simple and Scalable Distributed File System with O(1) disk seek. -
Gor
Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time. -
rkt
An App Container runtime that integrates with init systems, is compatible with other container formats like Docker, and supports alternative execution engines like KVM. -
heka
universal tool for data processing from Mozilla. Large collection of built-in plugins. Extendable via Go and Lua plugin API. -
Duplicacy
A cross-platform network and cloud backup tool based on the idea of lock-free deduplication. -
Circuit
Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications. -
lgo
Interactive Go programming with Jupyter. It supports code completion, code inspection and 100% Go compatibility. -
scc
Sloc Cloc and Code, a very fast accurate code counter with complexity calculations and COCOMO estimates. -
Gebug
A tool that makes debugging of Dockerized Go applications super easy by enabling Debugger and Hot-Reload features, seamlessly. -
ipe
An open source Pusher server implementation compatible with Pusher client libraries written in GO.
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of mockingjay or a related project?
README
mockingjay server
Mockingjay lets you define the contract between a consumer and producer and with just a configuration file you get:
- A fast to launch fake server for your integration tests
- Configurable to simulate the eratic nature of calling other services
- Consumer driven contracts (CDCs) to run against your real downstream services.
Mockingjay makes it really easy to check your HTTP integration points. It's fast, requires no coding and is better than other solutions because it will ensure your mock servers and real integration points are consistent so that you never have a green build but failing software.
- Installation - Download a binary, use a Docker image or
go get
- Rationale
- See how mockingjay can easily fit into your workflow to make integration testing really easy and robust
Running a fake server
---
- name: My very important integration point
request:
uri: /hello
method: POST
body: "Chris" # * matches any body
response:
code: 200
body: '{"message": "hello, Chris"}' # * matches any body
headers:
content-type: application/json
# define as many as you need...
$ mockingjay-server -config=example.yaml -port=1234 &
2015/04/13 14:27:54 Serving 3 endpoints defined from example.yaml on port 1234
$ curl http://localhost:1234/hello
{"message": "hello, world"}
Check configuration is compatible with a real server
$ mockingjay-server -config=example.yaml -realURL=http://some-real-api.com
2015/04/13 21:06:06 Test endpoint (GET /hello) is incompatible with http://some-real-api - Couldn't reach real server
2015/04/13 21:06:06 Test endpoint 2 (DELETE /world) is incompatible with http://some-real-api - Couldn't reach real server
2015/04/13 21:06:06 Failing endpoint (POST /card) is incompatible with http://some-real-api - Couldn't reach real server
2015/04/13 21:06:06 At least one endpoint was incompatible with the real URL supplied
This ensures your integration test is working against a reliable fake.
Inspect what requests mockingjay has received
http://{mockingjayhost}:{port}/requests
Calling this will return you a JSON list of requests
Make your fake server flaky
Mockingjay has an annoying friend, a monkey. Given a monkey configuration you can make your fake service misbehave. This can be useful for performance tests where you want to simulate a more realistic scenario (i.e all integration points are painful).
---
# Writes a different body 50% of the time
- body: "This is wrong :( "
frequency: 0.5
# Delays initial writing of response by a second 20% of the time
- delay: 1000
frequency: 0.2
# Returns a 404 30% of the time
- status: 404
frequency: 0.3
# Write 10,000,000 garbage bytes 9% of the time
- garbage: 10000000
frequency: 0.09
$ mockingjay-server -config=examples/example.yaml -monkeyConfig=examples/monkey-business.yaml
2015/04/17 14:19:53 Serving 3 endpoints defined from examples/example.yaml on port 9090
2015/04/17 14:19:53 Monkey config loaded
2015/04/17 14:19:53 50% of the time | Body: This is wrong :(
2015/04/17 14:19:53 20% of the time | Delay: 1s
2015/04/17 14:19:53 30% of the time | Status: 404
2015/04/17 14:19:53 9% of the time | Garbage bytes: 10000000
Building
Requirements
- Go 1.3+ installed ($GOPATH set, et al)
- golint https://github.com/golang/lint
Build application
$ go get github.com/quii/mockingjay-server
$ cd $GOPATH/src/github.com/quii/mockingjay-server
$ ./build.sh
MIT license
*Note that all licence references and agreements mentioned in the mockingjay README section above
are relevant to that project's source code only.