Skip to content

symm/vape

Repository files navigation

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.