/hoverfly

Lightweight service virtualization/API simulation tool for developers and testers

Primary LanguageGoApache License 2.0Apache-2.0

Hoverfly

Circle CI Documentation Status Join the chat at https://gitter.im/SpectoLabs/hoverfly

API simulations for development and testing

Hoverfly is a lightweight, open source API simulation tool. Using Hoverfly, you can create realistic simulations of the APIs your application depends on.

  • Replace slow, flaky API dependencies with realistic, re-usable simulations
  • Simulate network latency, random failures or rate limits to test edge-cases
  • Extend and customize with any programming language
  • Export, share, edit and import API simulations
  • CLI and native language bindings for Java and Python
  • REST API
  • Lightweight, high-performance, run anywhere
  • Apache 2 license

Hoverfly is developed and maintained by SpectoLabs.

Quickstart

Hoverfly Cloud

Hoverfly Cloud - API simulations as a service. Sign up for the private beta.

Contributing

Contributions are welcome!

To contribute, please:

  1. Fork the repository
  2. Create a feature branch on your fork
  3. Commit your changes, and create a pull request against Hoverfly's master branch
  4. In your pull request, include details regarding your change, i.e
    1. why you made it
    2. how to test it
    3. any information about testing you have performed

To read more about forking model, check out this link: forking workflow.

Setup for local development

Build

  1. Install Go. You should follow the download and installation instructions for your OS from official Go website. If you have installed Go before using either apt-get or homebrew, you should uninstall those first.

  2. After the installation, find out the GOPATH using go env, and then setup a source folder there

    mkdir $GOPATH/src
  3. Clone the hoverfly project into your Go source folder:

    cd $GOPATH/src
    mkdir -p github.com/SpectoLabs/
    cd github.com/SpectoLabs/
    git clone https://github.com/SpectoLabs/hoverfly.git
    # or: git clone https://github.com/<your_username>/hoverfly.git
  4. Finally you can run the build

    cd hoverfly
    make build 

Notice the binaries are in the target directory.

Test

You should be able to execute all unit and functional tests with:

make test

Some middleware tests may fail if you don't have ruby and python setup in your environment. If you are using Mac, you can install them with Homebrew:

brew install ruby
brew install python

License

Apache License version 2.0 See LICENSE for details.

(c) SpectoLabs 2017.