@@ -128,3 +128,58 @@ def test_list_with_supported_filters(self):
128128 )
129129 self .assertEqual (self .columns , columns )
130130 self .assertEqual (self .data , list (data ))
131+
132+
133+ class TestCreatePrivateTransitIp (fakes .TestPrivateNat ):
134+ _data = fakes .FakePrivateTransitIp .create_one ()
135+
136+ def setUp (self ):
137+ super (TestCreatePrivateTransitIp , self ).setUp ()
138+ self .cmd = transit_ip .CreatePrivateTransitIp (self .app , None )
139+ self .client .create_private_transit_ip = mock .Mock (return_value = self ._data )
140+
141+ def test_create (self ):
142+ arglist = [
143+ "--virsubnet-id" ,
144+ self ._data .virsubnet_id ,
145+ "--ip-address" ,
146+ self ._data .ip_address ,
147+ "--enterprise-project-id" ,
148+ self ._data .enterprise_project_id ,
149+ "--tags" ,
150+ "key1=value1" ,
151+ ]
152+ verifylist = [
153+ ("virsubnet_id" , self ._data .virsubnet_id ),
154+ ("ip_address" , self ._data .ip_address ),
155+ ("enterprise_project_id" , self ._data .enterprise_project_id ),
156+ ("tags" , ["key1=value1" ]),
157+ ]
158+
159+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
160+ columns , data = self .cmd .take_action (parsed_args )
161+
162+ self .client .create_private_transit_ip .assert_called_once_with (
163+ virsubnet_id = self ._data .virsubnet_id ,
164+ ip_address = self ._data .ip_address ,
165+ enterprise_project_id = self ._data .enterprise_project_id ,
166+ tags = [{"key" : "key1" , "value" : "value1" }],
167+ )
168+ self .assertEqual (len (columns ), len (data ))
169+ self .assertIn ("id" , columns )
170+
171+ def test_create_minimal (self ):
172+ arglist = [
173+ "--virsubnet-id" ,
174+ self ._data .virsubnet_id ,
175+ ]
176+ verifylist = [
177+ ("virsubnet_id" , self ._data .virsubnet_id ),
178+ ]
179+
180+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
181+ self .cmd .take_action (parsed_args )
182+
183+ self .client .create_private_transit_ip .assert_called_once_with (
184+ virsubnet_id = self ._data .virsubnet_id ,
185+ )
0 commit comments