@@ -485,6 +485,48 @@ def test_create_like_flavor(self, confirm_mock):
485485 'networkComponents' : [{'maxSpeed' : 100 }]},)
486486 self .assert_called_with ('SoftLayer_Virtual_Guest' , 'generateOrderTemplate' , args = args )
487487
488+ @mock .patch ('SoftLayer.CLI.formatting.confirm' )
489+ def test_create_like_transient (self , confirm_mock ):
490+ mock = self .set_mock ('SoftLayer_Virtual_Guest' , 'getObject' )
491+ mock .return_value = {
492+ 'hostname' : 'vs-test-like' ,
493+ 'domain' : 'test.sftlyr.ws' ,
494+ 'datacenter' : {'name' : 'dal05' },
495+ 'networkComponents' : [{'maxSpeed' : 100 }],
496+ 'dedicatedAccountHostOnlyFlag' : False ,
497+ 'privateNetworkOnlyFlag' : False ,
498+ 'billingItem' : {'orderItem' : {'preset' : {'keyName' : 'B1_1X2X25' }}},
499+ 'operatingSystem' : {'softwareLicense' : {
500+ 'softwareDescription' : {'referenceCode' : 'UBUNTU_LATEST' }
501+ }},
502+ 'hourlyBillingFlag' : True ,
503+ 'localDiskFlag' : False ,
504+ 'transientGuestFlag' : True ,
505+ 'userData' : {}
506+ }
507+
508+ confirm_mock .return_value = True
509+ result = self .run_command (['vs' , 'create' , '--like=123' ])
510+
511+ self .assert_no_fail (result )
512+ self .assertIn ('"guid": "1a2b3c-1701"' , result .output )
513+ self .assert_called_with ('SoftLayer_Product_Order' , 'placeOrder' )
514+
515+ args = ({'datacenter' : {'name' : 'dal05' },
516+ 'domain' : 'test.sftlyr.ws' ,
517+ 'hourlyBillingFlag' : True ,
518+ 'hostname' : 'vs-test-like' ,
519+ 'startCpus' : None ,
520+ 'maxMemory' : None ,
521+ 'localDiskFlag' : None ,
522+ 'transientGuestFlag' : True ,
523+ 'supplementalCreateObjectOptions' : {
524+ 'bootMode' : None ,
525+ 'flavorKeyName' : 'B1_1X2X25' },
526+ 'operatingSystemReferenceCode' : 'UBUNTU_LATEST' ,
527+ 'networkComponents' : [{'maxSpeed' : 100 }]},)
528+ self .assert_called_with ('SoftLayer_Virtual_Guest' , 'generateOrderTemplate' , args = args )
529+
488530 @mock .patch ('SoftLayer.CLI.formatting.confirm' )
489531 def test_create_vs_test (self , confirm_mock ):
490532 confirm_mock .return_value = True
@@ -511,9 +553,39 @@ def test_create_vs_bad_memory(self):
511553 result = self .run_command (['vs' , 'create' , '--hostname' , 'TEST' ,
512554 '--domain' , 'TESTING' , '--cpu' , '1' ,
513555 '--memory' , '2034MB' , '--flavor' ,
514- 'UBUNTU ' , '--datacenter' , 'TEST00' ])
556+ 'B1_2X8X25 ' , '--datacenter' , 'TEST00' ])
515557
516- self .assertEqual (result .exit_code , 2 )
558+ self .assertEqual (2 , result .exit_code )
559+
560+ @mock .patch ('SoftLayer.CLI.formatting.confirm' )
561+ def test_create_vs_transient (self , confirm_mock ):
562+ confirm_mock .return_value = True
563+
564+ result = self .run_command (['vs' , 'create' , '--hostname' , 'TEST' ,
565+ '--domain' , 'TESTING' , '--flavor' ,
566+ 'B1_2X8X25' , '--datacenter' , 'TEST00' ,
567+ '--transient' , '--os' , 'UBUNTU_LATEST' ])
568+
569+ self .assert_no_fail (result )
570+ self .assertEqual (0 , result .exit_code )
571+
572+ def test_create_vs_bad_transient_monthly (self ):
573+ result = self .run_command (['vs' , 'create' , '--hostname' , 'TEST' ,
574+ '--domain' , 'TESTING' , '--flavor' ,
575+ 'B1_2X8X25' , '--datacenter' , 'TEST00' ,
576+ '--transient' , '--billing' , 'monthly' ,
577+ '--os' , 'UBUNTU_LATEST' ])
578+
579+ self .assertEqual (2 , result .exit_code )
580+
581+ def test_create_vs_bad_transient_dedicated (self ):
582+ result = self .run_command (['vs' , 'create' , '--hostname' , 'TEST' ,
583+ '--domain' , 'TESTING' , '--flavor' ,
584+ 'B1_2X8X25' , '--datacenter' , 'TEST00' ,
585+ '--transient' , '--dedicated' ,
586+ '--os' , 'UBUNTU_LATEST' ])
587+
588+ self .assertEqual (2 , result .exit_code )
517589
518590 @mock .patch ('SoftLayer.CLI.formatting.confirm' )
519591 def test_create_with_ipv6 (self , confirm_mock ):
0 commit comments