stripe-mock

command module
v0.18.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 9, 2018 License: MIT Imports: 24 Imported by: 0

README

stripe-mock Build Status

stripe-mock is a mock HTTP server that responds like the real Stripe API. It can be used instead of Stripe's testmode to make test suites integrating with Stripe faster and less brittle.

stripe-mock is powered by the Stripe OpenAPI specification, which is generated from within the backend API implementation. It operates statelessly (i.e. it won't remember new resources that are created with it) and responds with sample data that's generated using a similar scheme to the one found in the API reference.

Usage

Get it from Homebrew or download it from the releases page:

brew install stripe/stripe-mock/stripe-mock

# start a stripe-mock service at login
brew services start stripe-mock

# upgrade if you already have it
brew upgrade stripe-mock

Or if you have Go installed you can build it:

go get -u github.com/stripe/stripe-mock

Run it:

stripe-mock

Or with docker:

# build
docker build . -t stripe-mock
# run
docker run -p 12111:12111 stripe-mock

Then from another terminal:

curl -i http://localhost:12111/v1/charges -H "Authorization: Bearer sk_test_123"

By default, stripe-mock runs on port 12111, but is configurable with the -port option.

Development

Testing

Run the test suite:

go test ./...
Binary data & updating OpenAPI

The project uses go-bindata to bundle OpenAPI and 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/...

# Drop into the openapi/ Git submodule and update it (you may have to commit a
# change).
pushd openapi/ && git pull origin master && popd

# Generates `bindata.go`.
go generate

Release

Release builds are generated with goreleaser. Make sure you have the software and a GITHUB_TOKEN:

go get -u github.com/goreleaser/goreleaser
export GITHUB_TOKEN=...

Commit changes and tag HEAD:

git pull origin --tags
git tag v0.1.1
git push origin --tags

Then run goreleaser and you're done! Check releases (it also pushes to the Homebrew tap).

goreleaser --rm-dist

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
generator
form
Package form is a small package used to hold a few types common to the param package so that we don't have import cycles.
Package form is a small package used to hold a few types common to the param package so that we don't have import cycles.
nestedtypeassembler
Package nestedtypeassembler takes a collection of FormPair tuples and uses them to construct more complex data types using "Rack-style" conventions for arrays and maps with a few small Stripe-specific tweaks.
Package nestedtypeassembler takes a collection of FormPair tuples and uses them to construct more complex data types using "Rack-style" conventions for arrays and maps with a few small Stripe-specific tweaks.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL