Skip to content

Commit b8090cf

Browse files
committed
Update tests
Signed-off-by: Zelin Hao <zelinhao@amazon.com>
1 parent f568b7a commit b8090cf

File tree

5 files changed

+82
-2
lines changed

5 files changed

+82
-2
lines changed

src/test_workflow/smoke_test/distribution.py

Whitespace-only changes.

src/test_workflow/smoke_test/smoke_tests_spec/opensearch-openapi.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# yamllint disable-file
12
openapi: 3.1.0
23
info:
34
title: OpenSearch API Specification
@@ -32157,7 +32158,7 @@ components:
3215732158
params:
3215832159
description: |-
3215932160
Specifies any named parameters that are passed into the script as variables.
32160-
Use parameters instead of hard-coded values to decrease compilation time.
32161+
Use parameters instead of hard-coded values to decrease compilation time.
3216132162
type: object
3216232163
additionalProperties: true
3216332164
_common___ScriptField:

src/test_workflow/smoke_test/smoke_tests_spec/opensearch.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
# yamllint disable
12
---
2-
schema-version: '1.0'
33
info:
44
title: OpenSearch Core smoke tests
55
version: default

tests/test_run_smoke_test.py

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Copyright OpenSearch Contributors
2+
# SPDX-License-Identifier: Apache-2.0
3+
#
4+
# The OpenSearch Contributors require contributions made to
5+
# this file be licensed under the Apache-2.0 license or a
6+
# compatible open source license.
7+
8+
9+
import os
10+
import unittest
11+
from typing import Any
12+
from unittest.mock import Mock, patch
13+
14+
import pytest
15+
from pytest import CaptureFixture
16+
17+
from run_smoke_test import main
18+
19+
20+
class TestRunSmokeTest(unittest.TestCase):
21+
22+
TEST_MANIFEST_PATH = os.path.join(
23+
os.path.dirname(__file__),
24+
"tests_test_workflow",
25+
"test_smoke_workflow",
26+
"smoke_test",
27+
"data",
28+
"test_manifest.yml"
29+
)
30+
31+
@pytest.fixture(autouse=True)
32+
def getCapfd(self, capfd: CaptureFixture) -> None:
33+
self.capfd = capfd
34+
35+
@patch("argparse._sys.argv", ["run_smoke_test.py", "--help"])
36+
def test_usage(self, *mocks: Any) -> None:
37+
with self.assertRaises(SystemExit):
38+
main()
39+
40+
out, _ = self.capfd.readouterr()
41+
self.assertTrue(out.startswith("usage:"))
42+
43+
@patch("argparse._sys.argv", ["run_smoke_test.py", TEST_MANIFEST_PATH, "--paths", "opensearch=foo"])
44+
@patch('run_smoke_test.SmokeTestRunners')
45+
def test_main(self, mock_runners: Mock, *mocks: Any) -> None:
46+
47+
main()
48+
mock_runners.from_test_manifest.assert_called()
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Copyright OpenSearch Contributors
2+
# SPDX-License-Identifier: Apache-2.0
3+
#
4+
# The OpenSearch Contributors require contributions made to
5+
# this file be licensed under the Apache-2.0 license or a
6+
# compatible open source license.
7+
8+
import unittest
9+
from unittest.mock import MagicMock, patch
10+
11+
from test_workflow.smoke_test.smoke_test_runners import SmokeTestRunners
12+
13+
14+
class TestSmokeTestRunners(unittest.TestCase):
15+
16+
def test_opensearch(self) -> None:
17+
18+
mock_args = MagicMock()
19+
mock_test_manifest = MagicMock()
20+
mock_test_manifest.name = "OpenSearch"
21+
22+
mock_opensearch_runner_object = MagicMock()
23+
mock_opensearch_runner = MagicMock()
24+
mock_opensearch_runner.return_value = mock_opensearch_runner_object
25+
26+
with patch.dict("test_workflow.smoke_test.smoke_test_runners.SmokeTestRunners.RUNNERS", {
27+
"OpenSearch": mock_opensearch_runner
28+
}):
29+
runner = SmokeTestRunners.from_test_manifest(mock_args, mock_test_manifest)
30+
self.assertEqual(runner, mock_opensearch_runner_object)
31+
mock_opensearch_runner.assert_called_once_with(mock_args, mock_test_manifest)

0 commit comments

Comments
 (0)