summaryrefslogtreecommitdiff
path: root/test/test_dockerpy/common.py
diff options
context:
space:
mode:
authorJhon Honce <jhonce@redhat.com>2020-06-24 12:40:55 -0700
committerJhon Honce <jhonce@redhat.com>2020-06-24 12:40:55 -0700
commitd7770df5ef9f6085a5e31e3260f7dc1f0056f162 (patch)
treee4b6b381ff67448209f3787483e24ae960e3911e /test/test_dockerpy/common.py
parent988fd27541dfa852ee9543c2d8a916896ef0c774 (diff)
downloadpodman-d7770df5ef9f6085a5e31e3260f7dc1f0056f162.tar.gz
podman-d7770df5ef9f6085a5e31e3260f7dc1f0056f162.tar.bz2
podman-d7770df5ef9f6085a5e31e3260f7dc1f0056f162.zip
Fix python dockerpy tests
* Refactor packaging so unittest discovery works * Refactor tests to use python3-docker.rpm that ships with Fedora32 * Flush image cache between tests suites * Update documentation to reflect changes Outstanding issue: * client.get_image() does not fail if image does not exist Signed-off-by: Jhon Honce <jhonce@redhat.com>
Diffstat (limited to 'test/test_dockerpy/common.py')
-rw-r--r--test/test_dockerpy/common.py85
1 files changed, 0 insertions, 85 deletions
diff --git a/test/test_dockerpy/common.py b/test/test_dockerpy/common.py
deleted file mode 100644
index 975b13dc6..000000000
--- a/test/test_dockerpy/common.py
+++ /dev/null
@@ -1,85 +0,0 @@
-import docker
-import subprocess
-import os
-import sys
-import time
-from docker import Client
-from . import constant
-
-alpineDict = {
- "name": "docker.io/library/alpine:latest",
- "shortName": "alpine",
- "tarballName": "alpine.tar"}
-
-def get_client():
- client = docker.Client(base_url="http://localhost:8080",timeout=15)
- return client
-
-client = get_client()
-
-def podman():
- binary = os.getenv("PODMAN_BINARY")
- if binary is None:
- binary = "bin/podman"
- return binary
-
-def restore_image_from_cache(TestClass):
- alpineImage = os.path.join(constant.ImageCacheDir , alpineDict["tarballName"])
- if not os.path.exists(alpineImage):
- os.makedirs(constant.ImageCacheDir)
- client.pull(constant.ALPINE)
- response = client.get_image(constant.ALPINE)
- image_tar = open(alpineImage,mode="wb")
- image_tar.write(response.data)
- image_tar.close()
- else :
- TestClass.podman = subprocess.run(
- [
- podman(), "load", "-i", alpineImage
- ],
- shell=False,
- stdin=subprocess.DEVNULL,
- stdout=subprocess.DEVNULL,
- stderr=subprocess.DEVNULL,
- )
-
-def run_top_container():
- c = client.create_container(image=constant.ALPINE,command='/bin/sleep 5',name=constant.TOP)
- client.start(container=c.get("Id"))
- return c.get("Id")
-
-def enable_sock(TestClass):
- TestClass.podman = subprocess.Popen(
- [
- podman(), "system", "service", "tcp:localhost:8080",
- "--log-level=debug", "--time=0"
- ],
- shell=False,
- stdin=subprocess.DEVNULL,
- stdout=subprocess.DEVNULL,
- stderr=subprocess.DEVNULL,
- )
- time.sleep(2)
-
-def terminate_connection(TestClass):
- TestClass.podman.terminate()
- stdout, stderr = TestClass.podman.communicate(timeout=0.5)
- if stdout:
- print("\nService Stdout:\n" + stdout.decode('utf-8'))
- if stderr:
- print("\nService Stderr:\n" + stderr.decode('utf-8'))
-
- if TestClass.podman.returncode > 0:
- sys.stderr.write("podman exited with error code {}\n".format(
- TestClass.podman.returncode))
- sys.exit(2)
-
-def remove_all_containers():
- containers = client.containers(quiet=True)
- for c in containers:
- client.remove_container(container=c.get("Id"), force=True)
-
-def remove_all_images():
- allImages = client.images()
- for image in allImages:
- client.remove_image(image,force=True)