From 0efd9618faa1f6b15afed53c26a18eedda173fa2 Mon Sep 17 00:00:00 2001 From: jpike Date: Wed, 20 Aug 2025 11:46:37 -0400 Subject: [PATCH] Updating configs and adding keyword for getting the lab fqdn Adding new config item and keyword for fqdn of the lab. Change-Id: I02d182d0df749a293b0c1898d00e508c1e00eba8 Signed-off-by: jpike --- config/security/files/default.json5 | 2 +- config/security/objects/security_config.py | 6 +++--- .../cloud_platform/ssh/lab_info_keywords.py | 19 +++++++++++++++++++ .../regression/security/test_cert_manager.py | 3 ++- .../security/custom_security_config.json5 | 2 +- .../config/security/security_config_test.py | 4 ++-- 6 files changed, 28 insertions(+), 8 deletions(-) create mode 100644 keywords/cloud_platform/ssh/lab_info_keywords.py diff --git a/config/security/files/default.json5 b/config/security/files/default.json5 index 6cba6788..c735ee69 100644 --- a/config/security/files/default.json5 +++ b/config/security/files/default.json5 @@ -1,6 +1,6 @@ { // dns name for the lab - "dns_name": "lab_dns_name", + "domain_name": "lab_domain_name", // ACME server url "stepca_server_url": "external_acme_server_url", diff --git a/config/security/objects/security_config.py b/config/security/objects/security_config.py index 68efb00b..b7f29923 100644 --- a/config/security/objects/security_config.py +++ b/config/security/objects/security_config.py @@ -15,18 +15,18 @@ class SecurityConfig: raise security_dict = json5.load(json_data) - self.dns_name = security_dict["dns_name"] + self.domain_name = security_dict["domain_name"] self.stepca_server_url = security_dict["stepca_server_url"] self.stepca_server_issuer = security_dict["stepca_server_issuer"] - def get_dns_name(self) -> str: + def get_domain_name(self) -> str: """ Getter for the dns name Returns: str: the dns name """ - return self.dns_name + return self.domain_name def get_stepca_server_url(self) -> str: """ diff --git a/keywords/cloud_platform/ssh/lab_info_keywords.py b/keywords/cloud_platform/ssh/lab_info_keywords.py new file mode 100644 index 00000000..2ca38bb3 --- /dev/null +++ b/keywords/cloud_platform/ssh/lab_info_keywords.py @@ -0,0 +1,19 @@ +from config.configuration_manager import ConfigurationManager +from keywords.base_keyword import BaseKeyword + + +class LabInfoKeywords(BaseKeyword): + """ + Class for lab info keywords + """ + + def get_fully_qualified_name(self) -> str: + """ + Returns the fully qualified name of the lab from config + + Returns: + str: the fully qualified name + """ + lab_name = ConfigurationManager.get_lab_config().get_lab_name() + domain_name = ConfigurationManager.get_security_config().get_domain_name() + return f"{lab_name}.{domain_name}" diff --git a/testcases/cloud_platform/regression/security/test_cert_manager.py b/testcases/cloud_platform/regression/security/test_cert_manager.py index 4bb8a6e6..37289b2d 100644 --- a/testcases/cloud_platform/regression/security/test_cert_manager.py +++ b/testcases/cloud_platform/regression/security/test_cert_manager.py @@ -7,6 +7,7 @@ from framework.resources.resource_finder import get_stx_resource_path from framework.validation.validation import validate_equals, validate_equals_with_retry, validate_list_contains, validate_str_contains, validate_str_contains_with_retry from keywords.cloud_platform.rest.cloud_rest_client import CloudRestClient from keywords.cloud_platform.ssh.lab_connection_keywords import LabConnectionKeywords +from keywords.cloud_platform.ssh.lab_info_keywords import LabInfoKeywords from keywords.cloud_platform.system.application.object.system_application_status_enum import SystemApplicationStatusEnum from keywords.cloud_platform.system.application.system_application_apply_keywords import SystemApplicationApplyKeywords from keywords.cloud_platform.system.helm.system_helm_override_keywords import SystemHelmOverrideKeywords @@ -43,7 +44,7 @@ def test_app_using_nginx_controller(request): ssh_connection = LabConnectionKeywords().get_active_controller_ssh() lab_config = ConfigurationManager.get_lab_config() oam_ip = lab_config.get_floating_ip() - dns_name = ConfigurationManager.get_security_config().get_dns_name() + dns_name = LabInfoKeywords().get_fully_qualified_name() dns_resolution_status = IPAddressKeywords(oam_ip).check_dnsname_resolution(dns_name=dns_name) validate_equals(dns_resolution_status, True, "Verify the dns name resolution") stepca_url = ConfigurationManager.get_security_config().get_stepca_server_url() diff --git a/unit_tests/config/security/custom_security_config.json5 b/unit_tests/config/security/custom_security_config.json5 index fcddb265..a950f1b7 100644 --- a/unit_tests/config/security/custom_security_config.json5 +++ b/unit_tests/config/security/custom_security_config.json5 @@ -1,6 +1,6 @@ { // dns name for the lab - "dns_name": "fake_dns_name", + "domain_name": "fake_domain_name", // ACME server url "stepca_server_url": "custom_server_url", diff --git a/unit_tests/config/security/security_config_test.py b/unit_tests/config/security/security_config_test.py index 341ebf64..a761c34c 100644 --- a/unit_tests/config/security/security_config_test.py +++ b/unit_tests/config/security/security_config_test.py @@ -13,7 +13,7 @@ def test_default_security_config(): configuration_manager.load_configs(config_file_locations) default_config = configuration_manager.get_security_config() assert default_config is not None, "Default security config wasn't loaded successfully" - assert default_config.get_dns_name() == "lab_dns_name", "default dns name was incorrect" + assert default_config.get_domain_name() == "lab_domain_name", "default domain name was incorrect" def test_custom_security_config(): @@ -28,4 +28,4 @@ def test_custom_security_config(): custom_config = configuration_manager.get_security_config() assert custom_config is not None, "Custom security config wasn't loaded successfully" - assert custom_config.get_dns_name() == "fake_dns_name", "Custom dns name was incorrect" + assert custom_config.get_domain_name() == "fake_domain_name", "Custom dns name was incorrect"