finance-mock is a mock HTTP server that can be used in lieu of various remote financial data sources. The primary purpose of this server is for building test suites for piquette/finance-go that don't have to interact with the real financial data sources, making testing quicker and less prone to unpredictable upstream api errors/changes out of our control.
Get it from the Homebrew tap or download it from the releases page:
brew tap piquette/finance-mock brew install finance-mock # start a finance-mock service at login brew services start finance-mock # upgrade if you already have it brew upgrade finance-mock
Or if you have Go installed you can build it:
go get -u github.com/piquette/finance-mock
Or with docker:
# build docker build . -t finance-mock # run docker run -p 12111:12111 finance-mock
Then from another terminal:
curl -i http://localhost:12111/v7/finance/quote\?symbols\=AAPL
By default, finance-mock runs on port 12111, but is configurable with the
Run the test suite:
go test ./...
The project uses [go-bindata] to bundle fixture data into
bindata.go so that it's automatically included with built executables.
Rebuild it with:
# Make sure you have the go-bindata executable (it's not vendored into this # repository). go get -u github.com/jteeuwen/go-bindata/... # Generates `bindata.go`. go generate
Release builds are generated with goreleaser. Make sure you have the software
GITHUB_TOKEN: set in your env.
go get -u github.com/goreleaser/goreleaser export GITHUB_TOKEN=...
Commit changes and tag
git tag v[NEW_VERSION_NUMBER] git push origin --tags
Then run goreleaser and you're done! Check releases (it also pushes to the Homebrew tap).