Giter Site home page Giter Site logo

vape's Introduction

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.

vape's People

Contributors

matthewdooler avatar symm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

vape's Issues

Error reading config: read Vapefile: is a directory

When attempting to read the Vapefile, the following error is encountered: "Error reading config: read Vapefile: is a directory".

Steps to Reproduce:

  • Run on Gitlab Runner
  • Run the command to read the Vapefile.
  • See the error message.

Expected Behavior:

  • The Vapefile should be read without error, assuming it contains valid configuration data.

Actual Behavior:

  • Encountered an error stating that the Vapefile is a directory.

Additional Information:

Version of the tool or library being used: symm/vape:latest

  • Any relevant logs or screenshots.
  • Any troubleshooting steps already attempted.

Dockerfile

image: docker:19.03.12
stages:
  - smoke-test

smoke-test:
  stage: smoke-test
  script:
    - docker ps 
    - ls -l
    - docker run --rm -v $(pwd)/Vapefile:/Vapefile symm/vape:latest -skip-ssl-verification http://localhost:8080

Vapefile

[
  {
    "uri": "/",
    "status_code": 200,
    "content": "Hello, World!"
  }
]
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.