@@ -45,7 +45,6 @@ class TestExperimentsCreateSingleNode(object):
4545 "--container" , "testContainer" ,
4646 "--machineType" , "testType" ,
4747 "--command" , "testCommand" ,
48- "--count" , 2 ,
4948 "--containerUser" , "conUser" ,
5049 "--registryUsername" , "userName" ,
5150 "--registryPassword" , "passwd" ,
@@ -73,7 +72,6 @@ class TestExperimentsCreateSingleNode(object):
7372 "container" : u"testContainer" ,
7473 "machineType" : u"testType" ,
7574 "command" : u"testCommand" ,
76- "count" : 2 ,
7775 "containerUser" : u"conUser" ,
7876 "registryUsername" : u"userName" ,
7977 "registryPassword" : u"passwd" ,
@@ -283,7 +281,6 @@ class TestExperimentsCreateAndStartSingleNode(TestExperimentsCreateSingleNode):
283281 "--container" , "testContainer" ,
284282 "--machineType" , "testType" ,
285283 "--command" , "testCommand" ,
286- "--count" , 2 ,
287284 "--containerUser" , "conUser" ,
288285 "--registryUsername" , "userName" ,
289286 "--registryPassword" , "passwd" ,
@@ -342,7 +339,7 @@ class TestExperimentsCreateAndStartMultiNode(TestExperimentsCreateMultiNode):
342339
343340class TestExperimentDetail (object ):
344341 COMMAND = ["experiments" , "details" , "experiment-id" ]
345- DETAILS_JSON = {
342+ MULTI_NODE_DETAILS_JSON = {
346343 "data" : {
347344 "dtCreated" : "2019-03-20T19:56:50.154853+00:00" ,
348345 "dtDeleted" : None ,
@@ -423,7 +420,48 @@ class TestExperimentDetail(object):
423420 },
424421 "message" : "success"
425422 }
426- DETAILS_STDOUT = """+-------------------------------+----------------+
423+ SINGLE_NODE_RESPONSE_JSON = {
424+ "data" : {
425+ "dtCreated" : "2019-03-22T13:22:27.200591+00:00" ,
426+ "dtDeleted" : None ,
427+ "dtFinished" : None ,
428+ "dtModified" : "2019-03-22T13:22:27.200591+00:00" ,
429+ "dtProvisioningFinished" : None ,
430+ "dtProvisioningStarted" : None ,
431+ "dtStarted" : None ,
432+ "dtTeardownFinished" : None ,
433+ "dtTeardownStarted" : None ,
434+ "experimentError" : None ,
435+ "experimentTemplateHistoryId" : 21814 ,
436+ "experimentTemplateId" : 60 ,
437+ "experimentTypeId" : 1 ,
438+ "handle" : "esro6mbmiulvbl" ,
439+ "id" : 21784 ,
440+ "projectHandle" : "prq70zy79" ,
441+ "projectId" : 612 ,
442+ "started_by_user_id" : 1655 ,
443+ "state" : 1 ,
444+ "templateHistory" : {
445+ "dtCreated" : "2019-03-22T13:22:26.375543+00:00" ,
446+ "dtDeleted" : None ,
447+ "experimentTemplateId" : 60 ,
448+ "id" : 21814 ,
449+ "params" : {
450+ "experimentTypeId" : 1 ,
451+ "name" : "dsfads" ,
452+ "ports" : 5000 ,
453+ "project_handle" : "prq70zy79" ,
454+ "worker_command" : "sadas" ,
455+ "worker_container" : "asd" ,
456+ "worker_machine_type" : "C2"
457+ },
458+ "triggerEvent" : None ,
459+ "triggerEventId" : None
460+ }
461+ },
462+ "message" : "success"
463+ }
464+ MULTI_NODE_DETAILS_STDOUT = """+-------------------------------+----------------+
427465| Name | multinode_mpi |
428466+-------------------------------+----------------+
429467| Handle | ew69ls0vy3eto |
@@ -445,16 +483,40 @@ class TestExperimentDetail(object):
445483| Working Directory | /dir |
446484| Workspace URL | wurl |
447485+-------------------------------+----------------+
486+ """
487+ SINGLE_NODE_DETAILS_STDOUT = """+---------------------+----------------+
488+ | Name | dsfads |
489+ +---------------------+----------------+
490+ | Handle | esro6mbmiulvbl |
491+ | State | created |
492+ | Ports | 5000 |
493+ | Project Handle | prq70zy79 |
494+ | Worker Command | sadas |
495+ | Worker Container | asd |
496+ | Worker Machine Type | C2 |
497+ | Working Directory | None |
498+ | Workspace URL | None |
499+ +---------------------+----------------+
448500"""
449501
450502 @mock .patch ("paperspace.cli.commands.client.requests.get" )
451- def test_should_send_get_request_and_print_experiment_details_in_a_table (self , get_patched ):
452- get_patched .return_value = MockResponse (self .DETAILS_JSON , 200 , "fake content" )
503+ def test_should_send_get_request_and_print_single_node_experiment_details_in_a_table (self , get_patched ):
504+ get_patched .return_value = MockResponse (self .SINGLE_NODE_RESPONSE_JSON , 200 , "fake content" )
453505
454506 runner = CliRunner ()
455507 result = runner .invoke (cli .cli , self .COMMAND )
456508
457- assert result .output == self .DETAILS_STDOUT
509+ assert result .output == self .SINGLE_NODE_DETAILS_STDOUT
510+ assert result .exit_code == 0
511+
512+ @mock .patch ("paperspace.cli.commands.client.requests.get" )
513+ def test_should_send_get_request_and_print_multi_node_experiment_details_in_a_table (self , get_patched ):
514+ get_patched .return_value = MockResponse (self .MULTI_NODE_DETAILS_JSON , 200 , "fake content" )
515+
516+ runner = CliRunner ()
517+ result = runner .invoke (cli .cli , self .COMMAND )
518+
519+ assert result .output == self .MULTI_NODE_DETAILS_STDOUT
458520 assert result .exit_code == 0
459521
460522 @mock .patch ("paperspace.cli.commands.client.requests.get" )
0 commit comments