Skip to content

Commit f7e696d

Browse files
test: added unit tests for output command
1 parent 4f73d26 commit f7e696d

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

test/unit_tests/test_job.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,56 @@ def test_list_job_happy_case_debug_mode(
183183
self.assertIn("jobs", result.output)
184184
mock_debug.assert_called()
185185

186+
@mock.patch("hyperpod_cli.service.list_training_jobs.ListTrainingJobs")
187+
@mock.patch(
188+
"hyperpod_cli.service.list_training_jobs.ListTrainingJobs.list_training_jobs"
189+
)
190+
@mock.patch("logging.Logger.debug")
191+
def test_list_job_happy_case_default_output_mode_json(
192+
self,
193+
mock_debug,
194+
mock_list_training_job_service_and_list_jobs: mock.Mock,
195+
mock_list_training_job_service: mock.Mock,
196+
):
197+
mock_list_training_job_service.return_value = self.mock_list_jobs
198+
mock_list_training_job_service_and_list_jobs.return_value = json.dumps({"jobs": [{
199+
"Name": "test-job-name",
200+
"Namespace": "test_namespace",
201+
"CreationTime": "2025-01-01T01:01:01Z",
202+
"State": "Succeeded"
203+
}]})
204+
result = self.runner.invoke(list_jobs, ["--output", "json"])
205+
self.assertEqual(result.exit_code, 0)
206+
print(result.output)
207+
expected_output = '{\n "jobs": [\n {\n "Name": "test-job-name",\n "Namespace": "test_namespace",\n "CreationTime": "2025-01-01T01:01:01Z",\n "State": "Succeeded"\n }\n ]\n}\n'
208+
self.assertEqual(expected_output, result.output)
209+
mock_debug.assert_called()
210+
211+
@mock.patch("hyperpod_cli.service.list_training_jobs.ListTrainingJobs")
212+
@mock.patch(
213+
"hyperpod_cli.service.list_training_jobs.ListTrainingJobs.list_training_jobs"
214+
)
215+
@mock.patch("logging.Logger.debug")
216+
def test_list_job_happy_case_default_output_mode_table(
217+
self,
218+
mock_debug,
219+
mock_list_training_job_service_and_list_jobs: mock.Mock,
220+
mock_list_training_job_service: mock.Mock,
221+
):
222+
mock_list_training_job_service.return_value = self.mock_list_jobs
223+
mock_list_training_job_service_and_list_jobs.return_value = json.dumps({"jobs": [{
224+
"Name": "test-job-name",
225+
"Namespace": "test_namespace",
226+
"CreationTime": "2025-01-01T01:01:01Z",
227+
"State": "Succeeded"
228+
}]})
229+
result = self.runner.invoke(list_jobs, ["--output", "table"])
230+
self.assertEqual(result.exit_code, 0)
231+
print(result.output)
232+
expected_output = ' Name | Namespace | CreationTime | State\n---------------+----------------+----------------------+-----------\n test-job-name | test_namespace | 2025-01-01T01:01:01Z | Succeeded\n'
233+
self.assertEqual(expected_output, result.output)
234+
mock_debug.assert_called()
235+
186236
@mock.patch("hyperpod_cli.service.list_training_jobs.ListTrainingJobs")
187237
@mock.patch(
188238
"hyperpod_cli.service.list_training_jobs.ListTrainingJobs.list_training_jobs"

0 commit comments

Comments
 (0)