Skip to content

Commit

Permalink
Merge pull request #282 from sclorg/add_tests_with_postgresql
Browse files Browse the repository at this point in the history
Add tests for NodeJS App with Postgresql database
  • Loading branch information
phracek authored Mar 26, 2024
2 parents 0929638 + bffaeb3 commit 3bf194c
Show file tree
Hide file tree
Showing 2 changed files with 91 additions and 4 deletions.
11 changes: 7 additions & 4 deletions openshift/templates/nodejs-postgresql-persistent.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"iconClass": "icon-nodejs",
"openshift.io/long-description": "This template defines resources needed to develop a NodeJS application, including a build configuration, application deployment configuration, and database deployment configuration.",
"openshift.io/provider-display-name": "Red Hat, Inc.",
"openshift.io/documentation-url": "https://github.com/nodeshift-starters/nodejs-rest-http-crud",
"openshift.io/documentation-url": "https://github.com/sclorg/nodejs-ex",
"openshift.io/support-url": "https://access.redhat.com",
"template.openshift.io/bindable": "false"
}
Expand Down Expand Up @@ -60,7 +60,10 @@
"kind": "Route",
"apiVersion": "route.openshift.io/v1",
"metadata": {
"name": "${NAME}"
"name": "${NAME}",
"annotations": {
"template.openshift.io/expose-uri": "http://{.spec.host}{.spec.path}"
}
},
"spec": {
"host": "${APPLICATION_DOMAIN}",
Expand Down Expand Up @@ -179,7 +182,7 @@
"spec": {
"containers": [
{
"name": "nodejs-postgresql-persistent",
"name": "${NAME}",
"image": " ",
"ports": [
{
Expand Down Expand Up @@ -448,7 +451,7 @@
"displayName": "Git Repository URL",
"description": "The URL of the repository with your application source code.",
"required": true,
"value": "https://github.com/nodeshift-starters/nodejs-rest-http-crud.git"
"value": "https://github.com/sclorg/nodejs-ex.git"
},
{
"name": "SOURCE_REPOSITORY_REF",
Expand Down
84 changes: 84 additions & 0 deletions tests/test_nodejs_postgresql.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
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 TestNodeJSAppPostgreSQLExTemplate:

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")
json_raw_file = self.oc_api.get_raw_url_for_json(
container="postgresql-container", dir="imagestreams", filename="postgresql-rhel.json"
)
self.oc_api.import_is(path=json_raw_file, name="postgresql")

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

def test_local_template_inside_cluster(self):
expected_output = "Node.js Crud Application"
template_json = "../openshift/templates/nodejs-postgresql-persistent.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",
"POSTGRESQL_VERSION=12-el8"
]
)
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_remote_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-postgresql-persistent.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",
"POSTGRESQL_VERSION=12-el8"
]
)
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_remote_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-postgresql-persistent.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",
"POSTGRESQL_VERSION=12-el8"
]
)
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
)

0 comments on commit 3bf194c

Please sign in to comment.