📚 hoverfly - Awesome Go Library for Testing

Go Gopher mascot for hoverfly

HTTP(S) proxy for recording and simulating REST/SOAP APIs with extensible middleware and easy-to-use CLI.

🏷️ Testing
📂 Libraries for testing codebases and generating test data.
2,350 stars
View on GitHub 🔗

Detailed Description of hoverfly

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
  • REST API
  • Lightweight, high-performance, run anywhere
  • Apache 2 license

Hoverfly is developed and maintained by iOCO Solutions.

Quickstart

Hoverfly Cloud

Hoverfly Cloud - API simulations as a service. Sign up here.

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. Clone the hoverfly project:

    git clone https://github.com/SpectoLabs/hoverfly.git
    # or: git clone https://github.com/<your_username>/hoverfly.git
    
  3. 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) iOCO 2024.