Welcome to schmokin’s documentation!

Indices and tables

Schmokin

A wrapper for curl providing chainable assertions to create simple but powerful smoke tests all written in bash

Look how easy it is to use:

./schmokin $URL –jq ‘.status’ –eq “UP”

Look how it proxies all curl arguments… to curl!

./schmokin $URL –req-header “X-FU” –eq ‘BAR’ – -H “X-FU: BAR”

Features

  • Enrich the power of curl by wrapping it
  • Make it quick and easy to smoke test your web application.
  • Combine other powerful tools like JQ

Installation

Install Schmokin by running:

Getting Started

Use Schmokin by running

schmokin <url> [schmokin-args] – [curl-args]

Assertions

--eq equals
schmokin $URL --jq '.status' --eq "UP"
--gt greater than
schmokin $URL --jq '. | length' --gt 6
--ge greater than or equals
schmokin $URL --jq '. | length' --ge 6
--lt less than
schmokin $URL --jq '. | length' --lt 4
--le less than or equals
schmokin $URL --jq '. | length' --le 6
--co contains
schmokin $URL --jq '.result' --co "SUCCESS"

Chaining Assertions

Assertions can also be chained to together.

Extractors

--jq JQ expression
schmokin $URL --jq '.status' --eq "UP"
--req-header HTTP Request Header
--resp-header HTTP Response Header
--resp-body HTTP Response Body
--status HTTP Status

Metrics

All the metrics available in curl using the -w argument. All can be used with the assertions and also the export

Reporters

TODO

Utilities

--export Export extracted variable

–debug Show verbose curl output

Environment Variables

Examples

Contribute

  • Issue Tracker: github.com/$project/$project/issues
  • Source Code: github.com/$project/$project

Support

If you are having issues, please let us know. We have a mailing list located at: project@google-groups.com

License

The project is licensed under the BSD license.