chaostoolkit driver for wiremock
Project description
chaostoolkit-wiremock
ChaosToolkit driver for wiremock
Features
Configuration
The following keys can be configured in the experiment global configuration section, under the “wiremock” key:
host: the wiremock server host
port: the wiremock server port
url: the complete url to
timeout: accepted timeout (defaults to 1 sec)
down: the delayDistribution section used by the down action
Configuration example:
{ "configuration": { "wiremock": { "host": "localhost", "port": 8080, "url": "...", "timeout": 10, "down": { "type": "lognormal", "median": 3000, "sigma": 0.2 } } } }
Note: Wiremock server can be defined setting the host/port pair or giving the base url (url up to the “/__admin” path excluded)
Exported Actions
Adding a list of mappings:
{ "method": [ { "type": "action", "name": "adding a mapping", "provider": { "type": "python", "module": "chaoswm.actions", "func": "add_mapping", "arguments": [{ "request": { "method": "GET", "url": "/some/thing" }, "response": { "status": 200, "body": "Hello world!", "headers": { "Content-Type": "text/plain" } } }] } } ] }
Deleting a list of mappings:
{ "method": [ { "type": "action", "name": "deleting a mapping", "provider": { "type": "python", "module": "chaoswm.actions", "func": "delete_mapping", }, "arguments": [{ "method": "GET", "url": "/some/thing" }] } ] }
Adding a global fixed delay:
{ "method": [ { "type": "action", "name": "Adding a global fixed delay", "provider": { "type": "python", "module": "chaoswm.actions", "func": "global_fixed_delay" }, "arguments": { "fixedDelay": 10 } } ] }
Adding a global random delay:
{ "method": [ { "type": "action", "name": "Adding a global random delay", "provider": { "type": "python", "module": "chaoswm.actions", "func": "global_random_delay" }, "arguments": { "delayDistribution": { "type": "lognormal", "median": 20, "sigma": 0.1 } } } ] }
Adding a fixed delay to a list of mappings:
{ "method": [ { "type": "action", "name": "Adding a fixed delay to a mapping", "provider": { "type": "python", "module": "chaoswm.actions", "func": "fixed_delay" }, "arguments": {[{ "method": "GET", "url": "/some/thing", }], "fixedDelayMilliseconds": 100 } } ] }
Adding a fixed delay to a list of mappings If a consistent number of mappings have to be delayed, the following action might be useful:
{ "method": [ { "type": "action", "name": "Adding a fixed delay to a set of mappings", "provider": { "type": "python", "module": "chaoswm.actions", "func": "fixed_delay_to_many_mappings" }, "arguments": {[{ "method": "GET", "url": "/some/thing", },{ "method": "POST", "url": "/some/thing/else", }], "fixedDelayMilliseconds": 100 } } ] }
Adding a random delay to a list of mappings:
{ "method": [ { "type": "action", "name": "Adding a random delay to a mapping", "provider": { "type": "python", "module": "chaoswm.actions", "func": "random_delay" }, "arguments": {[{ "method": "GET", "url": "/some/thing", }], "delayDistribution": { "type": "lognormal", "median": 80, "sigma": 0.4 } } } ] }
Adding a ChunkedDribbleDelay to a list of mappings:
{ "method": [ { "type": "action", "name": "Adding a ChunkedDribbleDelay to a mapping", "provider": { "type": "python", "module": "chaoswm.actions", "func": "chunked_dribble_delay" }, "arguments": {[{ "method": "GET", "url": "/some/thing", }], "chunkedDribbleDelay": { "numberOfChunks": 5, "totalDuration": 1000 } } } ] }
Taking a list of mappings down (heavy distribution delay) This action will use the parameters specified in the “down” key of the configuration section:
{ "method": [ { "type": "action", "name": "Taking a mapping down", "provider": { "type": "python", "module": "chaoswm.actions", "func": "down" }, "arguments": [{ "method": "GET", "url": "/some/thing", }] } ] }
Taking a list of mappings up back again:
{ "method": [ { "type": "action", "name": "Taking a mapping down", "provider": { "type": "python", "module": "chaoswm.actions", "func": "up" }, "arguments": [{ "method": "GET", "url": "/some/thing", }] } ] }
Resetting the wiremock server (deleting all mappings):
{ "method": [ { "type": "action", "name": "Taking a mapping down", "provider": { "type": "python", "module": "chaoswm.actions", "func": "reset" } } ] }
Discovery
You may use the Chaos Toolkit to discover the capabilities of this extension:
$ chaos discover chaostoolkit-wiremock --no-install
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
History
0.0.1 (2019-02-14)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for chaoswm-0.0.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 207d08d91ba9ec2c31da33da6089f8317f3f9ac12e15a6f2b4dd931586e8a4a4 |
|
MD5 | f7dcfd345c8e8fdabae074e825673f4b |
|
BLAKE2b-256 | 7d28e0d3bec47d0cb135a7ba69f6acff5bf77e1c297f66ab12981efb454b3b0b |