/vape

Modern Smoke Testing tool. Written in Go.

Primary LanguageGoMIT LicenseMIT

Vape

Build Status Codacy grade Codecov Docker Pulls license

Modern Smoke testing tool written in Go.

Vape is intended to be used within a Continuous Delivery Pipeline as a post-deployment step.

It can quickly make assertions about the status code and content of a list of URIs to determine if the release is good or not.

Success Failure

How to use

Configuration

Create a file named Vapefile file in the format:

[
  {
    "uri": "/status/418",
    "status_code": 418,
    "content": "teapot"
  },
  {
    "uri": "/status/200",
    "status_code": 200
  },
  {
    "uri": "/status/304",
    "status_code": 304
  },
  {
    "uri": "/status/500",
    "status_code": 500
  }
]

The uri and status_code are required, content check is optional

Run vape from a container (Recommended)

We publish a ready made image on Docker Hub

Just create the Vapefile file as above and mount it inside a container:

docker run \
    --rm \
    -t \
    -v $(PWD)/Vapefile.example:/Vapefile \
    symm/vape:latest \
    https://your.domain

Run vape from a binary

Grab a binary from our releases page or build one by checking out this repo and running make then execute ./vape http://your.domain to run the tests

Optional flags

The following optional command line flags may be passed:

Usage of ./vape:
  -concurrency int
    	The maximum number of requests to make at a time (default 3)
  -config string
    	The full path to the Vape configuration file (default "Vapefile")
  -skip-ssl-verification
    	Ignore bad SSL certs
  -authorization string
      Authorization header containing authentication credentials (e.g., "Bearer 123")

For example:

./vape -concurrency 10 -config vape.conf -skip-ssl-verification http://httpbin.org

Links

  • Shisha - The tool which originally inspired the creation of this project
  • Cigar - PHP smoke testing tool.