Simulates Docker container and network failures to test application resilience
Project description
sabotage
sabotage is a package designed to assist developers in testing the resilience and fault tolerance of applications running in Docker containers. It offers functionality to simulate failures by either temporarily stopping containers (sabotaged_container) or disconnecting them from their networks (sabotaged_network).
Installation
$ pip3 install sabotage
Usage
sabotaged_container
Temporarily stops a specified Docker container and restarts it after performing tasks within the context. Useful for testing how applications handle Docker container failures.
import asyncio
from sabotage import sabotaged_container
async def test_container_restart():
async with sabotaged_container(service_name="webapp"):
# Perform actions while the container is stopped
print("Container is temporarily stopped.")
# Actions after the container restarts
print("Container has restarted.")
asyncio.run(test_container_restart())
sabotaged_network
Disconnects and reconnects a container from its networks to simulate network issues.
import asyncio
from sabotage import sabotaged_network
async def test_network_disruption():
async with sabotaged_network(service_name="webapp"):
# Perform actions while the network is disconnected
print("Network is temporarily disconnected.")
# Actions after the network is reconnected
print("Network has been reconnected.")
asyncio.run(test_network_disruption())
Project details
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sabotage-1.0.0.tar.gz.
File metadata
- Download URL: sabotage-1.0.0.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
735e3183abfdf925ef155c7f1e88be2cfb4a5cd3aa0f221ebfa0b629c71dab23
|
|
| MD5 |
30561ecb27c84f38fd35eb291ba2bf1c
|
|
| BLAKE2b-256 |
fe44740de1cda09e0e415eb0687b055e582ca3126965f859ae0ac06b7b0acf3b
|
File details
Details for the file sabotage-1.0.0-py3-none-any.whl.
File metadata
- Download URL: sabotage-1.0.0-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2b567451cd225be8dc749977ef9998ad8707a06937250235ad3c4c422c6d73a
|
|
| MD5 |
ed08fc290159a1af750afc7c54b38edd
|
|
| BLAKE2b-256 |
8edbff6f54c9c5caa27f5a8860a8ab0ff3ce411259799752df19b97226fbbf6e
|