From e51a35e5e4c04e0deed56425b6f51e9df3bcd759 Mon Sep 17 00:00:00 2001 From: "Petr \"Stone\" Hracek" Date: Wed, 20 Mar 2024 10:35:39 +0100 Subject: [PATCH] Add tests for nodejs-ex repository. It tests imported imagestreams against this repo. Signed-off-by: Petr "Stone" Hracek --- Makefile | 3 +++ tests/test_nodejs.py | 52 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 Makefile create mode 100644 tests/test_nodejs.py diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000..97a95a66ca --- /dev/null +++ b/Makefile @@ -0,0 +1,3 @@ +.PHONY: test-openshift-4 +test-openshift-4: + cd tests && PYTHONPATH=$(CURDIR) python3 -m pytest --verbose --color=yes --showlocals . \ No newline at end of file diff --git a/tests/test_nodejs.py b/tests/test_nodejs.py new file mode 100644 index 0000000000..356ec54d58 --- /dev/null +++ b/tests/test_nodejs.py @@ -0,0 +1,52 @@ +import os + +import pytest +from pathlib import Path + +from container_ci_suite.openshift import OpenShiftAPI + +test_dir = Path(os.path.abspath(os.path.dirname(__file__))) + +VERSION=os.getenv("SINGLE_VERSION") +if not VERSION: + VERSION="20-ubi8" + +class TestNodeJSAppExTemplate: + + def setup_method(self): + self.oc_api = OpenShiftAPI(pod_name_prefix="nodejs-example") + json_raw_file = self.oc_api.get_raw_url_for_json( + container="s2i-nodejs-container", dir="imagestreams", filename="nodejs-rhel.json" + ) + self.oc_api.import_is(path=json_raw_file, name="node") + + def teardown_method(self): + self.oc_api.delete_project() + + def test_template_inside_cluster(self): + expected_output = "Node.js Crud Application" + template_json = self.oc_api.get_raw_url_for_json( + container="nodejs-ex", dir="openshift/templates", filename="nodejs.json" + ) + assert self.oc_api.deploy_template( + template=template_json, name_in_template="dancer-example", expected_output=expected_output, + openshift_args=["SOURCE_REPOSITORY_REF=master", f"NODEJS_VERSION={VERSION}", "NAME=nodejs-example"] + ) + assert self.oc_api.template_deployed(name_in_template="nodejs-example") + assert self.oc_api.check_response_inside_cluster( + name_in_template="nodejs-example", expected_output=expected_output + ) + + def test_template_by_request(self): + expected_output = "Node.js Crud Application" + template_json = self.oc_api.get_raw_url_for_json( + container="nodejs-ex", dir="openshift/templates", filename="nodejs.json" + ) + assert self.oc_api.deploy_template( + template=template_json, name_in_template="nodejs-example", expected_output=expected_output, + openshift_args=["SOURCE_REPOSITORY_REF=master", f"NODEJS_VERSION={VERSION}", "NAME=nodejs-example"] + ) + assert self.oc_api.template_deployed(name_in_template="nodejs-example") + assert self.oc_api.check_response_outside_cluster( + name_in_template="nodejs-example", expected_output=expected_output + )