Merge "Admin State is always UP whatever whether router Admin State is checked or not"

This commit is contained in:
Zuul 2018-02-14 18:23:27 +00:00 committed by Gerrit Code Review
commit d76e3ea5df
2 changed files with 37 additions and 3 deletions

View File

@ -117,9 +117,8 @@ class CreateForm(forms.SelfHandlingForm):
def handle(self, request, data):
try:
params = {'name': data['name']}
if 'admin_state_up' in data and data['admin_state_up']:
params['admin_state_up'] = data['admin_state_up']
params = {'name': data['name'],
'admin_state_up': data['admin_state_up']}
if 'external_network' in data and data['external_network']:
params['external_gateway_info'] = {'network_id':
data['external_network']}

View File

@ -432,6 +432,41 @@ class RouterActionTests(RouterMixin, test.TestCase):
self.assertNoFormErrors(res)
self.assertRedirectsNoFollow(res, self.INDEX_URL)
@test.create_stubs({api.neutron: ('router_create',
'get_feature_permission',
'network_list',
'is_extension_supported')})
def test_router_create_post_with_admin_state_up(self):
router = self.routers.first()
api.neutron.get_feature_permission(IsA(http.HttpRequest),
"ext-gw-mode",
"create_router_enable_snat")\
.AndReturn(False)
api.neutron.get_feature_permission(IsA(http.HttpRequest),
"dvr", "create")\
.MultipleTimes().AndReturn(False)
api.neutron.get_feature_permission(IsA(http.HttpRequest),
"l3-ha", "create")\
.MultipleTimes().AndReturn(False)
api.neutron.network_list(IsA(http.HttpRequest))\
.AndReturn(self.networks.list())
api.neutron.is_extension_supported(IsA(http.HttpRequest),
"router_availability_zone")\
.AndReturn(False)
param = {'name': router.name,
'admin_state_up': False}
api.neutron.router_create(IsA(http.HttpRequest), **param)\
.AndReturn(router)
self.mox.ReplayAll()
form_data = {'name': router.name,
'admin_state_up': False}
url = reverse('horizon:%s:routers:create' % self.DASHBOARD)
res = self.client.post(url, form_data)
self.assertNoFormErrors(res)
self.assertRedirectsNoFollow(res, self.INDEX_URL)
@test.create_stubs({api.neutron: ('router_create',
'get_feature_permission',
'network_list',