Add CSIT for Cert Service Client
[integration/csit.git] / tests / aaf / certservice / libraries / CertClientManager.py
diff --git a/tests/aaf/certservice/libraries/CertClientManager.py b/tests/aaf/certservice/libraries/CertClientManager.py
new file mode 100644 (file)
index 0000000..30501c8
--- /dev/null
@@ -0,0 +1,27 @@
+import docker
+
+
+class CertClientManager:
+
+    def run_client_container(self, client_image, container_name, path_to_env, request_url, network):
+        client = docker.from_env()
+        environment = self.read_list_env_from_file(path_to_env)
+        environment.append("REQUEST_URL=" + request_url)
+        container = client.containers.run(image=client_image, name=container_name, detach=True, environment=environment,
+                                          network=network)
+        exitcode = container.wait()
+        return exitcode
+
+    def remove_client_container(self, container_name):
+        client = docker.from_env()
+        container = client.containers.get(container_name)
+        container.remove()
+
+    def read_list_env_from_file(self, path):
+        f = open(path, "r")
+        r_list = []
+        for line in f:
+            line = line.strip()
+            if line[0] != "#":
+                r_list.append(line)
+        return r_list