From b6fbd9cf5dc740c370469b1356c6186b3163f353 Mon Sep 17 00:00:00 2001 From: Clement Verna Date: Jan 18 2019 17:40:43 +0000 Subject: Adding tests for CI Signed-off-by: Clement Verna --- diff --git a/tests/integration/runtest.sh b/tests/integration/runtest.sh new file mode 100755 index 0000000..3a56327 --- /dev/null +++ b/tests/integration/runtest.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +pytest-3 -vv ./test_container.py diff --git a/tests/integration/test_container.py b/tests/integration/test_container.py new file mode 100644 index 0000000..d2e4f0a --- /dev/null +++ b/tests/integration/test_container.py @@ -0,0 +1,52 @@ +#!/usr/bin/python3 + +import logging +import os + +import conu + +import pytest + + +IMAGE = os.environ.get("IMAGE_NAME", "registry.fedoraproject.org/fedora") +TAG = os.environ.get("IMAGE_TAG", "latest") + + +@pytest.fixture(scope="module") +def container(request): + with conu.DockerBackend(logging_level=logging.DEBUG) as backend: + im = backend.ImageClass(IMAGE, tag=TAG) + b = conu.DockerRunBuilder(command=["sleep", "infinity"]) + b.options += [ + "--net", "host", + "--pid=host", + "--ipc", "host", + "-it", + "--privileged", + "-v", "/run:/run", + "-v", "/:/host", + "-v", "/var/log:/var/log", + ] + machine_id_path = "/etc/machine-id" + if os.path.exists(machine_id_path): + b.options += [ + "-v", "%s:%s" % (machine_id_path, machine_id_path) + ] + localtime_path = "/etc/localtime" + if os.path.exists(localtime_path): + b.options += [ + "-v", "%s:%s" % (localtime_path, localtime_path) + ] + container = im.run_via_binary(b) + yield container + container.stop() + container.delete() + + +class TestContainer: + def test_python3(self, container): + container.execute(["python3", "-V"]) + + +if __name__ == '__main__': + pytest.main() diff --git a/tests/inventory b/tests/inventory new file mode 100644 index 0000000..df8b5f6 --- /dev/null +++ b/tests/inventory @@ -0,0 +1,2 @@ +[all] +localhost ansible_connection=local diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..bc0cd18 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,13 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - container + tests: + - integration + required_packages: + - python3-conu + - python3-pytest + - docker + required_services: + - docker