@@ -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