UNKNOWN
Project description
Description
Simple py.test fixtures for writing integration tests based on Docker containers. Specify all containers you need and pytest-docker will use Docker Compose to spin them up for the duration of your test suite.
Usage
Here is the basic recipe for writing a test that depends on a service that responds over HTTP:
import pytest import requests from requests.exceptions import ( ConnectionError, ) def is_responsive(url): """Check if something responds to ``url``.""" try: response = requests.get(url) if response.status_code == 200: return True except ConnectionError: return False @pytest.fixture(scope='session') def some_http_service(docker_ip, docker_services): """Ensure that "some service" is up and responsive.""" url = 'http://' % ( docker_ip, docker_services.port_for('abc', 123), ) docker_services.wait_until_responsive( timeout=30.0, pause=0.1, check=lambda: is_responsive(url) ) return url def test_something(some_service): """Sample test.""" response = requests.get(some_service) response.raise_for_status()
Contributing
This py.test plug-in and its source code are made available to your under and MIT license. It is safe to use in commercial and closed-source applications. Read the license for details!
Found a bug? Think a new feature would make this plug-in more practical? No one is paid to support this software, but we welcome pull requests!
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 Distributions
Hashes for pytest_docker-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e2fe0f4ffa167f8a8cf6af4c5e9872ed0124950ec149da0a3e1e570f5eddf00 |
|
MD5 | afe5eae206327547469520ec2e648f86 |
|
BLAKE2b-256 | ea9cba751acf697dd5c0cfb1fdbbfe03161ba5adf6932f04ca998a9a19ba5785 |
Hashes for pytest_docker-0.1.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1983a61a228e445697e10245556d423dede643c4a8f8da3a7fb04da1678aeffb |
|
MD5 | 876ae82fa39ee830a88fce04ed327505 |
|
BLAKE2b-256 | 03b51818451f48d9ce3d3bb6ac17ba71737eb4a2bbb405df8ccac0ae3fc6a0a7 |