Simple rest smoke tests.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ansible-module
charcoal Fix default logic for HTTP tests (Assume 200) Nov 16, 2017
docs
examples
tests Revert "Adding test for stdin support" Nov 16, 2017
.coveralls.yml
.gitignore 38 Fixes issues with defaults. Oct 14, 2015
.travis.yml
Dockerfile First pass at docker integration. Dec 30, 2015
HISTORY Updating setup, history and examples Nov 15, 2017
LICENSE Updating Copyright Apr 9, 2015
MANIFEST.in
Makefile
README.md Docker image accepts stdin for tests Nov 16, 2017
setup.cfg
setup.py
smolder
wrapper First pass at docker integration. Dec 30, 2015

README.md

Smolder

"Requests for humans." :) Build Status

The prevalence of SOA, microservices and dev/stage/live environment build processes precipitated the development of smolder. The challenges these technologies pose requires the use of restful api tests which are simple and repeatable on different endpoints without modifying the tests or the endpoints. A lot of these environments require agents running the tests to be inside the network boundary and running inside internal build pipelines.

Smolder aims to solve these problems by providing features such as:

  • Smoke test your rest API.
  • Validate response times.
  • Validate redirects.
  • Validate ssl certificates.
  • Validate headers.
  • Validate json object types using validictory
  • Write plugins using Yapsy
  • More

Example

Copy/paste the following into your shell:

echo "---
tests:
  -
    name: "Github Status"
    outcomes:
      expect_status_code: 301
      response_redirect: "https://status.github.com/api/status.json"
    inputs:
      headers:
        User-Agent: "Smolder smoke test library"
    uri: /api/status.json
  -
    inputs:
      headers:
        User-Agent: "Smolder smoke test library"
    name: "Github Status ssl"
    outcomes:
      response_json_contains:
        status: good
      response_max_time_ms: 200
    port: 443
    protocol: https
    uri: /api/status.json
" | docker run -i mcameron/smolder status.github.com 

Expected Output: Output

Installation

pip install git+https://github.com/sky-shiny/smolder.git

Documentation

readthedocs

  1. tests
  2. plugins
  3. examples
  4. contributing
  5. history

Similar Projects

  1. Runscope
  2. vrest.io
  3. Stackoverflow

Thanks

https://github.com/njsaunders

https://github.com/nielsdraaisma

https://github.com/lotia

https://github.com/casibbald