@@ -35,9 +35,10 @@ def setUp(self) -> None:
35
35
self .work_dir = Path ("test_dir" )
36
36
37
37
@patch ("os.path.exists" , return_value = True )
38
+ @patch ("test_workflow.integ_test.integ_test_suite_opensearch.IntegTestSuiteOpenSearch.multi_execute_integtest_sh" )
38
39
@patch ("test_workflow.integ_test.integ_test_suite_opensearch.Topology" )
39
40
@patch ("test_workflow.test_recorder.test_recorder.TestRecorder" )
40
- def test_execute_with_multiple_test_configs (self , mock_test_recorder : Mock , mock_topology : Mock , * mock : Any ) -> None :
41
+ def test_execute_with_multiple_test_configs (self , mock_test_recorder : Mock , mock_topology : Mock , mock_multi_execute_integtest_sh : Mock , * mock : Any ) -> None :
41
42
test_config , component = self .__get_test_config_and_bundle_component ("job-scheduler" )
42
43
dependency_installer = MagicMock ()
43
44
integ_test_suite = IntegTestSuiteOpenSearch (
@@ -50,8 +51,6 @@ def test_execute_with_multiple_test_configs(self, mock_test_recorder: Mock, mock
50
51
mock_test_recorder
51
52
)
52
53
mock_topology .create ().__enter__ .return_value = [{"cluster_name" : "cluster1" , "data_nodes" : [{"endpoint" : "localhost" , "port" : 9200 , "transport" : 9300 }], "cluster_manager_nodes" : []}]
53
- mock_multi_execute_integtest_sh = MagicMock ()
54
- IntegTestSuiteOpenSearch .multi_execute_integtest_sh = mock_multi_execute_integtest_sh # type: ignore
55
54
mock_multi_execute_integtest_sh .return_value = "success"
56
55
57
56
test_results = integ_test_suite .execute_tests ()
@@ -63,9 +62,10 @@ def test_execute_with_multiple_test_configs(self, mock_test_recorder: Mock, mock
63
62
call ([{"cluster_name" : "cluster1" , "data_nodes" : [{"endpoint" : "localhost" , "port" : 9200 , "transport" : 9300 }], "cluster_manager_nodes" : []}], False , "without-security" )
64
63
])
65
64
65
+ @patch ("test_workflow.integ_test.integ_test_suite_opensearch.IntegTestSuiteOpenSearch.multi_execute_integtest_sh" )
66
66
@patch ("test_workflow.integ_test.integ_test_suite_opensearch.Topology" )
67
67
@patch ("test_workflow.test_recorder.test_recorder.TestRecorder" )
68
- def test_execute_with_build_dependencies (self , mock_test_recorder : Mock , mock_topology : Mock , * mock : Any ) -> None :
68
+ def test_execute_with_build_dependencies (self , mock_test_recorder : Mock , mock_topology : Mock , mock_multi_execute_integtest_sh : Mock , * mock : Any ) -> None :
69
69
dependency_installer = MagicMock ()
70
70
test_config , component = self .__get_test_config_and_bundle_component ("index-management" )
71
71
integ_test_suite = IntegTestSuiteOpenSearch (
@@ -80,8 +80,6 @@ def test_execute_with_build_dependencies(self, mock_test_recorder: Mock, mock_to
80
80
81
81
mock_topology .create ().__enter__ .return_value = [{"cluster_name" : "cluster1" , "data_nodes" : [{"endpoint" : "localhost" , "port" : 9200 , "transport" : 9300 }], "cluster_manager_nodes" : []}]
82
82
83
- mock_multi_execute_integtest_sh = MagicMock ()
84
- IntegTestSuiteOpenSearch .multi_execute_integtest_sh = mock_multi_execute_integtest_sh # type: ignore
85
83
mock_multi_execute_integtest_sh .return_value = "success"
86
84
87
85
integ_test_suite .execute_tests ()
@@ -93,6 +91,7 @@ def test_execute_with_build_dependencies(self, mock_test_recorder: Mock, mock_to
93
91
[{"cluster_name" : "cluster1" , "data_nodes" : [{"endpoint" : "localhost" , "port" : 9200 , "transport" : 9300 }], "cluster_manager_nodes" : []}], False , "without-security" )]
94
92
)
95
93
94
+ @patch ("test_workflow.integ_test.integ_test_suite_opensearch.IntegTestSuiteOpenSearch.multi_execute_integtest_sh" )
96
95
@patch ("test_workflow.test_recorder.test_recorder.TestRecorder" )
97
96
@patch ("test_workflow.integ_test.integ_test_suite_opensearch.execute" )
98
97
def test_execute_without_build_dependencies (self , mock_execute : Mock , * mock : Any ) -> None :
@@ -160,9 +159,10 @@ def __get_test_config_and_bundle_component(self, component_name: str) -> Tuple[T
160
159
161
160
@patch ("os.path.exists" , return_value = True )
162
161
@patch .object (ScriptFinder , "find_integ_test_script" )
162
+ @patch ("test_workflow.integ_test.integ_test_suite_opensearch.IntegTestSuiteOpenSearch.multi_execute_integtest_sh" )
163
163
@patch ("test_workflow.integ_test.integ_test_suite_opensearch.Topology" )
164
164
@patch ("test_workflow.test_recorder.test_recorder.TestRecorder" )
165
- def test_execute_with_working_directory (self , mock_test_recorder : Mock , mock_topology : Mock , mock_script_finder : Mock , * mock : Any ) -> None :
165
+ def test_execute_with_working_directory (self , mock_test_recorder : Mock , mock_topology : Mock , mock_multi_execute_integtest_sh : Mock , mock_script_finder : Mock , * mock : Any ) -> None :
166
166
test_config , component = self .__get_test_config_and_bundle_component ("dashboards-reports" )
167
167
dependency_installer = MagicMock ()
168
168
integ_test_suite = IntegTestSuiteOpenSearch (
@@ -178,8 +178,6 @@ def test_execute_with_working_directory(self, mock_test_recorder: Mock, mock_top
178
178
mock_topology .create ().__enter__ .return_value = [{"cluster_name" : "cluster1" , "data_nodes" : [{"endpoint" : "localhost" , "port" : 9200 , "transport" : 9300 }], "cluster_manager_nodes" : []}]
179
179
mock_script_finder .return_value = "integtest.sh"
180
180
181
- mock_multi_execute_integtest_sh = MagicMock ()
182
- IntegTestSuiteOpenSearch .multi_execute_integtest_sh = mock_multi_execute_integtest_sh # type: ignore
183
181
mock_multi_execute_integtest_sh .return_value = "success"
184
182
185
183
integ_test_suite .execute_tests () # type: ignore
@@ -189,3 +187,60 @@ def test_execute_with_working_directory(self, mock_test_recorder: Mock, mock_top
189
187
True ,
190
188
"with-security"
191
189
)
190
+
191
+ @patch ("os.path.exists" )
192
+ @patch ("os.makedirs" )
193
+ @patch ("test_workflow.test_recorder.test_recorder.TestRecorder" )
194
+ @patch ("test_workflow.integ_test.integ_test_suite_opensearch.TestResultData" )
195
+ @patch ("test_workflow.integ_test.integ_test_suite_opensearch.GitRepository.__checkout__" )
196
+ @patch ("test_workflow.integ_test.integ_test_suite_opensearch.execute" , return_value = True )
197
+ def test_multi_execute_integtest_sh (self , mock_execute : Mock , mock_git : Mock , mock_test_result_data : Mock ,
198
+ mock_test_recorder : Mock , mock_makedirs : Mock , mock_path_exists : Mock , * mock : Any ) -> None :
199
+ mock_find = MagicMock ()
200
+ mock_find .return_value = "./integtest.sh"
201
+
202
+ ScriptFinder .find_integ_test_script = mock_find # type: ignore
203
+
204
+ mock_execute .return_value = ("test_status" , "test_stdout" , "" )
205
+
206
+ mock_test_result_data_object = MagicMock ()
207
+ mock_test_result_data .return_value = mock_test_result_data_object
208
+ mock_path_exists .return_value = True
209
+
210
+ test_config , component = self .__get_test_config_and_bundle_component ("job-scheduler" )
211
+ dependency_installer = MagicMock ()
212
+ integ_test_suite = IntegTestSuiteOpenSearch (
213
+ dependency_installer ,
214
+ component ,
215
+ test_config ,
216
+ self .bundle_manifest ,
217
+ self .build_manifest ,
218
+ self .work_dir ,
219
+ mock_test_recorder
220
+ )
221
+
222
+ self .assertEqual (integ_test_suite .repo .url , "https://github.com/opensearch-project/job-scheduler.git" )
223
+ self .assertEqual (integ_test_suite .repo .ref , "4504dabfc67dd5628c1451e91e9a1c3c4ca71525" )
224
+ integ_test_suite .repo .dir = "dir"
225
+
226
+ # call the test target
227
+ mock_endpoint = MagicMock ()
228
+ status = integ_test_suite .multi_execute_integtest_sh ([mock_endpoint ], True , "with-security" )
229
+
230
+ mock_find .assert_called ()
231
+ self .assertEqual (status , "test_status" )
232
+ mock_execute .assert_called ()
233
+
234
+ mock_test_result_data .assert_called_once_with (
235
+ "job-scheduler" ,
236
+ "with-security" ,
237
+ "test_status" ,
238
+ "test_stdout" ,
239
+ "" ,
240
+ {
241
+ "opensearch-integ-test" : os .path .join ("dir" , "build" , "reports" , "tests" , "integTest" )
242
+ }
243
+ )
244
+
245
+ assert (mock_test_result_data .return_value in integ_test_suite .result_data )
246
+ self .assertEqual (integ_test_suite .additional_cluster_config , None )
0 commit comments