return DEVICE_OWNER_ROUTER_INTF
def _validate_interface_info(self, interface_info):
- if not interface_info:
+ port_id_specified = interface_info and 'port_id' in interface_info
+ subnet_id_specified = interface_info and 'subnet_id' in interface_info
+ if not (port_id_specified or subnet_id_specified):
msg = _("Either subnet_id or port_id must be specified")
raise n_exc.BadRequest(resource='router', msg=msg)
- port_id_specified = 'port_id' in interface_info
- subnet_id_specified = 'subnet_id' in interface_info
if port_id_specified and subnet_id_specified:
msg = _("Cannot specify both subnet-id and port-id")
raise n_exc.BadRequest(resource='router', msg=msg)
None,
p['port']['id'])
+ def test_router_add_interface_empty_port_and_subnet_ids(self):
+ with self.router() as r:
+ self._router_interface_action('add', r['router']['id'],
+ None, None,
+ expected_code=exc.
+ HTTPBadRequest.code)
+
def test_router_add_interface_port_bad_tenant_returns_404(self):
with mock.patch('neutron.context.Context.to_dict') as tdict:
admin_context = {'roles': ['admin']}