open-vault/vendor/github.com/michaelklishin/rabbit-hole/CONTRIBUTING.md

38 lines
1.2 KiB
Markdown
Raw Normal View History

2016-06-08 14:33:08 +00:00
## Contributing
The workflow is pretty standard:
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
2016-12-01 19:46:57 +00:00
3. Run integration tests (see below)
4. Commit your changes (`git commit -am 'Add some feature'`)
5. Push to the branch (`git push -u origin my-new-feature`)
6. Submit a pull request
2016-06-08 14:33:08 +00:00
## Running Tests
### Required Plugins
2017-03-31 00:03:13 +00:00
The test suite assumes you have a RabbitMQ node running on localhost with `rabbitmq_management` and
`rabbitmq_shovel_management` plugins enabled and that
2016-12-01 19:46:57 +00:00
`rabbitmqctl` is available in `PATH` (or `RABBITHOLE_RABBITMQCTL` points to it).
To enable the plugins:
rabbitmq-plugins enable rabbitmq_management rabbitmq_shovel_management
That will enable `rabbitmq_shovel` as a dependency.
### Setting Up Virtual Hosts and Permissions
2016-12-01 19:46:57 +00:00
Before running the tests, make sure to run `bin/ci/before_build.sh` that will create a vhost and user(s) needed
2016-06-08 14:33:08 +00:00
by the test suite.
### Running Tests
2016-06-08 14:33:08 +00:00
The project uses [Ginkgo](http://onsi.github.io/ginkgo/) and [Gomega](https://github.com/onsi/gomega).
To clone dependencies and run tests, use `make`. It is also possible
to use the brilliant [Ginkgo CLI runner](http://onsi.github.io/ginkgo/#the-ginkgo-cli) e.g.
to only run a subset of tests.