1212# under the License.
1313#
1414
15-
1615from openstackclient .tests .unit .volume .v1 import fakes as transfer_fakes
1716from openstackclient .volume .v1 import volume_transfer_request
1817
@@ -26,6 +25,77 @@ def setUp(self):
2625 self .transfer_mock = self .app .client_manager .volume .transfers
2726 self .transfer_mock .reset_mock ()
2827
28+ # Get a shortcut to the VolumeManager Mock
29+ self .volumes_mock = self .app .client_manager .volume .volumes
30+ self .volumes_mock .reset_mock ()
31+
32+
33+ class TestTransferCreate (TestTransfer ):
34+
35+ volume = transfer_fakes .FakeVolume .create_one_volume ()
36+
37+ columns = (
38+ 'auth_key' ,
39+ 'created_at' ,
40+ 'id' ,
41+ 'name' ,
42+ 'volume_id' ,
43+ )
44+
45+ def setUp (self ):
46+ super (TestTransferCreate , self ).setUp ()
47+
48+ self .volume_transfer = transfer_fakes .FakeTransfer .create_one_transfer (
49+ attrs = {'volume_id' : self .volume .id })
50+ self .data = (
51+ self .volume_transfer .auth_key ,
52+ self .volume_transfer .created_at ,
53+ self .volume_transfer .id ,
54+ self .volume_transfer .name ,
55+ self .volume_transfer .volume_id ,
56+ )
57+
58+ self .transfer_mock .create .return_value = self .volume_transfer
59+ self .volumes_mock .get .return_value = self .volume
60+
61+ # Get the command object to test
62+ self .cmd = volume_transfer_request .CreateTransferRequest (
63+ self .app , None )
64+
65+ def test_transfer_create_without_name (self ):
66+ arglist = [
67+ self .volume .id ,
68+ ]
69+ verifylist = [
70+ ('volume' , self .volume .id ),
71+ ]
72+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
73+
74+ columns , data = self .cmd .take_action (parsed_args )
75+
76+ self .transfer_mock .create .assert_called_once_with (
77+ self .volume .id , None )
78+ self .assertEqual (self .columns , columns )
79+ self .assertEqual (self .data , data )
80+
81+ def test_transfer_create_with_name (self ):
82+ arglist = [
83+ '--name' , self .volume_transfer .name ,
84+ self .volume .id ,
85+ ]
86+ verifylist = [
87+ ('name' , self .volume_transfer .name ),
88+ ('volume' , self .volume .id ),
89+ ]
90+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
91+
92+ columns , data = self .cmd .take_action (parsed_args )
93+
94+ self .transfer_mock .create .assert_called_once_with (
95+ self .volume .id , self .volume_transfer .name ,)
96+ self .assertEqual (self .columns , columns )
97+ self .assertEqual (self .data , data )
98+
2999
30100class TestTransferList (TestTransfer ):
31101
0 commit comments