To add a collaborator to this project you will need to use the Relish gem to add the collaborator via a terminal command. Soon you'll be able to also add collaborators here!More about adding a collaborator
What is Gavel?
Gavel is a tool for deciding which HTTP API call is valid and which is not.
It's useful for:
- Specification by example and BDD for HTTP (RESTful) APIs
- Diff HTTP Requests and Responses
- Testing API documentation
- DRY test assertion engine for REST API's HTTP request and response
- API client (SDK) validations
$ curl --trace - http://httpbin.org/ip | curl-trace-parser > expected $ curl --trace - http://httpbin.org/ip | curl-trace-parser > real $ cat real | gavel expected $ echo $? 0
How does it work?
Gavel` filters out boring noise in API communication and helps you understand important differences between real and expected HTTP messages (HTTP request and response). You can use Gavel with examples for:
- [x] HTTP Headers - [x] Textual HTTP body
- [x] JSON HTTP body - [x] HTTP body defined by JSON Shema
- [X] Status code - [ ] Method
- [ ] URI
Brief behavior description
- Headers cannot be missing
- Header values matter
- JSON keys in bodies cannot be missing
- Textual body must match exactly
See detailed expectation behavior specification.
Call for contributions
Looking for your language? Gavel has platform independent Cucumber specification. So feel feel to contribute! We are looking forward to see library for your language.
- Command-line interface
- Node.js library examples
- General validation behavior
- Data validators
- Input data model
- Platform independence and cotribution
Last published 6 months ago by Adam Kliment.