import pytest
import docker_pyo3
import os
try:
pw = os.environ.get("DOCKER_PASSWORD", None)
un = os.environ.get("DOCKER_USERNAME",None)
if pw and un:
print("PULLING WITH ENVIRONMENTAL VARIABLES")
docker.images().pull(image='busybox',auth_password = dict(username=un,password=pw))
else:
docker.images().pull(image='busybox')
except Exception as e:
print("might fail because of docker pull limits/ container availability")
def pytest_itemcollected(item):
if item._obj.__doc__:
item._nodeid = f"{item.obj.__doc__.strip().ljust(50,' ')[:50]}{str(item._nodeid).ljust(100,' ')[:50]}"
@pytest.fixture
def docker():
return docker_pyo3.Docker()
@pytest.fixture
def image_pull():
docker_pyo3.Docker().images().get('busybox')
yield
@pytest.fixture
def running_container():
image = docker_pyo3.Docker().images().get('busybox')
container = docker_pyo3.Docker().containers().create(image='busybox',name="busybox")
yield container
container.delete()
@pytest.fixture
def running_network():
docker_pyo3.Docker().networks().create(name="test_network")
n = docker_pyo3.Docker().networks().get("test_network")
yield n
n.delete()