diff --git a/src/test_workflow/smoke_test/smoke_test_runner.py b/src/test_workflow/smoke_test/smoke_test_runner.py index 63e759a964..7bb56576a8 100644 --- a/src/test_workflow/smoke_test/smoke_test_runner.py +++ b/src/test_workflow/smoke_test/smoke_test_runner.py @@ -43,11 +43,11 @@ def __init__(self, args: TestArgs, test_manifest: TestManifest) -> None: def start_test(self, work_dir: Path) -> Any: pass - def extract_paths_from_yaml(self, component: str, version: str) -> Any: + def extract_paths_from_yaml(self, component: str, test_spec: str, version: str) -> Any: base_path = os.path.dirname(os.path.abspath(__file__)) paths = [ - os.path.join(base_path, "smoke_tests_spec", f"{version.split('.')[0]}.x", f"{component}.yml"), - os.path.join(base_path, "smoke_tests_spec", "default", f"{component}.yml") + os.path.join(base_path, "smoke_tests_spec", f"{version.split('.')[0]}.x", test_spec), + os.path.join(base_path, "smoke_tests_spec", "default", test_spec) ] for file_path in paths: if os.path.exists(file_path): @@ -57,6 +57,8 @@ def extract_paths_from_yaml(self, component: str, version: str) -> Any: # Extract paths paths = data.get('paths', {}) return paths + else: + logging.info(f"No spec found at f{file_path}") logging.error("No spec found.") sys.exit(1) diff --git a/src/test_workflow/smoke_test/smoke_test_runner_opensearch.py b/src/test_workflow/smoke_test/smoke_test_runner_opensearch.py index e53abbea9c..4429392300 100644 --- a/src/test_workflow/smoke_test/smoke_test_runner_opensearch.py +++ b/src/test_workflow/smoke_test/smoke_test_runner_opensearch.py @@ -71,7 +71,7 @@ def start_test(self, work_dir: Path) -> TestSuiteResults: for component in self.test_manifest.components.select(self.args.components): if component.smoke_test: logging.info(f"Running smoke test on {component.name} component.") - component_spec = self.extract_paths_from_yaml(component.name, self.version) + component_spec = self.extract_paths_from_yaml(component.name, component.smoke_test.get("test-spec"), self.version) logging.info(f"component spec is {component_spec}") test_results = TestComponentResults() for api_requests, api_details in component_spec.items(): diff --git a/tests/tests_test_workflow/test_smoke_workflow/smoke_test/test_smoke_test_runner.py b/tests/tests_test_workflow/test_smoke_workflow/smoke_test/test_smoke_test_runner.py index bf6ac9ba60..f59682db15 100644 --- a/tests/tests_test_workflow/test_smoke_workflow/smoke_test/test_smoke_test_runner.py +++ b/tests/tests_test_workflow/test_smoke_workflow/smoke_test/test_smoke_test_runner.py @@ -30,7 +30,7 @@ def setUp(self) -> None: mock_components = MagicMock() mock_component = MagicMock() mock_component.name = "opensearch" - mock_component.smoke_test = True + mock_component.smoke_test = {"test-spec": "mock_component.yml"} mock_components.select.return_value = [mock_component] self.test_manifest.components = mock_components @@ -45,11 +45,11 @@ def test_extract_paths_from_yaml(self, mock_exists: Mock, mock_dirname: Mock, mo component_name = "test_component" # Run extract_paths_from_yaml and check output - result = runner.extract_paths_from_yaml(component_name, "2.19.0") + result = runner.extract_paths_from_yaml(component_name, "mock_component.yml", "2.19.0") expected_output = {"/_cat/plugins": {"get": {"parameters": []}}} # type: Any self.assertEqual(result, expected_output) - mock_open_file.assert_called_once_with(os.path.join("/dummy-path", "smoke_tests_spec", "2.x", f"{component_name}.yml"), 'r') + mock_open_file.assert_called_once_with(os.path.join("/dummy-path", "smoke_tests_spec", "2.x", "mock_component.yml"), 'r') @patch("test_workflow.smoke_test.smoke_test_runner.TestRecorder") def test_convert_parameter_json(self, mock_recorder: Mock) -> None: diff --git a/tests/tests_test_workflow/test_smoke_workflow/smoke_test/test_smoke_test_runner_opensearch.py b/tests/tests_test_workflow/test_smoke_workflow/smoke_test/test_smoke_test_runner_opensearch.py index 7d5f5d7ee7..ea6c5b229f 100644 --- a/tests/tests_test_workflow/test_smoke_workflow/smoke_test/test_smoke_test_runner_opensearch.py +++ b/tests/tests_test_workflow/test_smoke_workflow/smoke_test/test_smoke_test_runner_opensearch.py @@ -23,7 +23,7 @@ def setUp(self) -> None: mock_components = MagicMock() mock_component = MagicMock() mock_component.name = "opensearch" - mock_component.smoke_test = True + mock_component.smoke_test = {"test-spec": "mock_component.yml"} mock_components.select.return_value = [mock_component] self.test_manifest.components = mock_components @@ -54,7 +54,7 @@ def test_smoke_test_runner_opensearch_start_test(self, mock_dirname: Mock, mock_ results = runner.start_test(work_dir=Path("/temp/path")) self.assertTrue(results) - mock_extract_spec.assert_called_with("opensearch", "2.19.0") + mock_extract_spec.assert_called_with("opensearch", "mock_component.yml", "2.19.0") self.test_manifest.components.select.assert_called() mock_get.assert_has_calls( [call('https://localhost:9200/', verify=False, auth=('admin', 'myStrongPassword123!'),