Skip to main content
Smolder
=======

"[Requests](https://github.com/kennethreitz/requests) for humans." :)
[![Build Status](https://travis-ci.org/sky-shiny/smolder.svg?branch=master)](https://travis-ci.org/sky-shiny/smolder)

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](https://github.com/jamesturk/validictory)
- Write plugins using [Yapsy](https://github.com/tibonihoo/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](https://raw.githubusercontent.com/sky-shiny/smolder/master/docs/output.png)

Installation
============

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

Documentation
=============

[readthedocs](http://smolder.readthedocs.io)

1. [tests](docs/tests.md)
- [inputs](docs/inputs.md)
- [outcomes](docs/outcomes.md)
2. [plugins](docs/plugins.md)
3. [examples](docs/examples.md)
4. [contributing](docs/contributing.md)
5. [history](./HISTORY)

Similar Projects
================

1. [Runscope](https://www.runscope.com/)
2. [vrest.io](http://vrest.io)
3. [Stackoverflow](http://stackoverflow.com/questions/12135309/automated-testing-for-rest-api)

Thanks
======

https://github.com/njsaunders

https://github.com/nielsdraaisma

https://github.com/lotia

https://github.com/casibbald

Release files for smolder 0.6.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for smolder 0.6.0.0
File Size Uploaded
smolder-0.6.0.0.tar.gz 19.8 kB Details

Release files / smolder-0.6.0.0.tar.gz

Download URL smolder-0.6.0.0.tar.gz
Size 19.8 kB
Tags Source
SHA-256 checksum
How to use checksums
d7fdb3640a5fcb24ce68dca88b9abb3496d699c2c5befc4626baf9dd3b6425c5
BLAKE2b-256 checksum
How to use checksums
ac52bfb28b91d572ce14b5f4554628fe6d6b2fc2277e7a98d359720553886ab0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.6.0.0 This release

1 release file

0.5.9

1 release file

0.5.8

1 release file

0.5.7

1 release file

0.5.6

1 release file

0.5.4

1 release file

0.5.3

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page