Skip to content

Commit

Permalink
Remove run-openshift that are deprecated. Adds helm charts tests
Browse files Browse the repository at this point in the history
Signed-off-by: Petr "Stone" Hracek <[email protected]>
  • Loading branch information
phracek committed Sep 17, 2024
1 parent 0532480 commit 651f9e0
Show file tree
Hide file tree
Showing 11 changed files with 136 additions and 3 deletions.
1 change: 0 additions & 1 deletion 1.20/test/run-openshift

This file was deleted.

1 change: 1 addition & 0 deletions 1.20/test/test_helm_nginx_imagestreams.py
1 change: 1 addition & 0 deletions 1.20/test/test_helm_nginx_template.py
1 change: 0 additions & 1 deletion 1.22/test/run-openshift

This file was deleted.

1 change: 1 addition & 0 deletions 1.22/test/test_helm_nginx_imagestreams.py
1 change: 1 addition & 0 deletions 1.22/test/test_helm_nginx_template.py
1 change: 1 addition & 0 deletions 1.24/test/test_helm_nginx_imagestreams.py
1 change: 1 addition & 0 deletions 1.24/test/test_helm_nginx_template.py
1 change: 0 additions & 1 deletion 1.26/test/run-openshift

This file was deleted.

46 changes: 46 additions & 0 deletions test/test_helm_nginx_imagestreams.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import os
import sys

import pytest

from pathlib import Path

from container_ci_suite.helm import HelmChartsAPI
from container_ci_suite.utils import check_variables

if not check_variables():
print("At least one variable from IMAGE_NAME, OS, VERSION is missing.")
sys.exit(1)

test_dir = Path(os.path.abspath(os.path.dirname(__file__)))


class TestHelmRHELNginxImageStreams:

def setup_method(self):
package_name = "nginx-imagestreams"
path = test_dir
self.hc_api = HelmChartsAPI(path=path, package_name=package_name, tarball_dir=test_dir, remote=True)
self.hc_api.clone_helm_chart_repo(
repo_url="https://github.com/sclorg/helm-charts", repo_name="helm-charts",
subdir="charts/redhat"
)

def teardown_method(self):
self.hc_api.delete_project()

@pytest.mark.parametrize(
"version,registry",
[
("1.24-ubi9", "registry.redhat.io/ubi9/nginx-124:latest"),
("1.24-ubi8", "registry.redhat.io/ubi8/nginx-124:latest"),
("1.22-ubi9", "registry.redhat.io/ubi9/nginx-122:latest"),
("1.22-ubi8", "registry.redhat.io/ubi8/nginx-122:latest"),
("1.20-ubi9", "registry.redhat.io/ubi9/nginx-120:latest"),
("1.20-ubi8", "registry.redhat.io/ubi8/nginx-120:latest"),
],
)
def test_package_imagestream(self, version, registry):
assert self.hc_api.helm_package()
assert self.hc_api.helm_installation()
assert self.hc_api.check_imagestreams(version=version, registry=registry)
84 changes: 84 additions & 0 deletions test/test_helm_nginx_template.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
import os
import sys

import pytest

from pathlib import Path

from container_ci_suite.helm import HelmChartsAPI
from container_ci_suite.utils import check_variables

if not check_variables():
print("At least one variable from IMAGE_NAME, OS, VERSION is missing.")
sys.exit(1)

test_dir = Path(os.path.abspath(os.path.dirname(__file__)))


VERSION = os.getenv("VERSION")
IMAGE_NAME = os.getenv("IMAGE_NAME")
OS = os.getenv("TARGET")

TAGS = {
"rhel8": "-ubi8",
"rhel9": "-ubi9"
}
TAG = TAGS.get(OS, None)


class TestHelmNginxTemplate:

def setup_method(self):
package_name = "nginx-template"
path = test_dir
self.hc_api = HelmChartsAPI(path=path, package_name=package_name, tarball_dir=test_dir, remote=True)
self.hc_api.clone_helm_chart_repo(
repo_url="https://github.com/sclorg/helm-charts", repo_name="helm-charts",
subdir="charts/redhat"
)

def teardown_method(self):
self.hc_api.delete_project()

def test_curl_connection(self):
if self.hc_api.oc_api.shared_cluster:
pytest.skip("Do NOT test on shared cluster")
new_version = VERSION
if "micro" in VERSION:
new_version = VERSION.replace("-micro", "")
self.hc_api.package_name = "nginx-imagestreams"
assert self.hc_api.helm_package()
assert self.hc_api.helm_installation()
self.hc_api.package_name = "nginx-template"
assert self.hc_api.helm_package()
assert self.hc_api.helm_installation(
values={
"nginx_version": f"{new_version}{TAG}",
"namespace": self.hc_api.namespace
}
)
expected_str = "Welcome to your static nginx application on OpenShift"
assert self.hc_api.is_s2i_pod_running(pod_name_prefix="nginx-example")
assert self.hc_api.test_helm_curl_output(
route_name="nginx-example",
expected_str=expected_str
)

def test_helm_connection(self):
self.hc_api.package_name = "nginx-imagestreams"
new_version = VERSION
if "micro" in VERSION:
new_version = VERSION.replace("-micro", "")
assert self.hc_api.helm_package()
assert self.hc_api.helm_installation()
self.hc_api.package_name = "nginx-template"
assert self.hc_api.helm_package()
assert self.hc_api.helm_installation(
values={
"nginx_version": f"{new_version}{TAG}",
"namespace": self.hc_api.namespace
}
)
expected_str = "Welcome to your static nginx application on OpenShift"
assert self.hc_api.is_s2i_pod_running(pod_name_prefix="nginx-example")
assert self.hc_api.test_helm_chart(expected_str=[expected_str])

0 comments on commit 651f9e0

Please sign in to comment.