1414import mock
1515
1616from openstackclient .common import exceptions
17+ from openstackclient .common import utils as osc_utils
1718from openstackclient .network .v2 import router
1819from openstackclient .tests .network .v2 import fakes as network_fakes
1920from openstackclient .tests import utils as tests_utils
@@ -88,6 +89,31 @@ def test_create_default_options(self):
8889 self .assertEqual (self .columns , columns )
8990 self .assertEqual (self .data , data )
9091
92+ def test_create_with_AZ_hints (self ):
93+ arglist = [
94+ self .new_router .name ,
95+ '--availability-zone-hint' , 'fake-az' ,
96+ '--availability-zone-hint' , 'fake-az2' ,
97+ ]
98+ verifylist = [
99+ ('name' , self .new_router .name ),
100+ ('availability_zone_hints' , ['fake-az' , 'fake-az2' ]),
101+ ('admin_state_up' , True ),
102+ ('distributed' , False ),
103+ ]
104+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
105+
106+ columns , data = (self .cmd .take_action (parsed_args ))
107+ self .network .create_router .assert_called_with (** {
108+ 'admin_state_up' : True ,
109+ 'name' : self .new_router .name ,
110+ 'distributed' : False ,
111+ 'availability_zone_hints' : ['fake-az' , 'fake-az2' ],
112+ })
113+
114+ self .assertEqual (self .columns , columns )
115+ self .assertEqual (self .data , data )
116+
91117
92118class TestDeleteRouter (TestRouter ):
93119
@@ -135,6 +161,7 @@ class TestListRouter(TestRouter):
135161 columns_long = columns + (
136162 'Routes' ,
137163 'External gateway info' ,
164+ 'Availability zones'
138165 )
139166
140167 data = []
@@ -155,6 +182,7 @@ class TestListRouter(TestRouter):
155182 data [i ] + (
156183 r .routes ,
157184 router ._format_external_gateway_info (r .external_gateway_info ),
185+ osc_utils .format_list (r .availability_zones ),
158186 )
159187 )
160188
0 commit comments