]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Merge "Add router ownership check on vpnservice creation"
authorJenkins <jenkins@review.openstack.org>
Sun, 15 Sep 2013 23:10:26 +0000 (23:10 +0000)
committerGerrit Code Review <review@openstack.org>
Sun, 15 Sep 2013 23:10:26 +0000 (23:10 +0000)
1  2 
neutron/db/vpn/vpn_db.py
neutron/extensions/vpnaas.py
neutron/tests/unit/db/vpn/test_db_vpnaas.py

Simple merge
Simple merge
index f4f4b525b31400b462d1fd5b04fc1854e07a9d1f,3e33c2cc67e82ac5ec7c7fb4a9011dfc3383b627..9296e9b9418b15d1b6ecd2c09eca5c35ef282611
@@@ -768,17 -786,37 +786,46 @@@ class TestVpnaas(VPNPluginDbTestCase)
                                            vpnservice['vpnservice'].items()
                                            if k in expected),
                                       expected)
-                 return vpnservice
+     def test_create_vpnservice_with_invalid_router(self):
+         """Test case to create a vpnservice with invalid router"""
+         with self.network(
+             set_context=True,
+             tenant_id='tenant_a') as network:
+             with self.subnet(network=network,
+                              cidr='10.2.0.0/24') as subnet:
+                 with self.router(
+                     set_context=True, tenant_id='tenant_a') as router:
+                     router_id = router['router']['id']
+                     subnet_id = subnet['subnet']['id']
+                     self._create_vpnservice(
+                         self.fmt, 'fake',
+                         True, router_id, subnet_id,
+                         expected_res_status=webob.exc.HTTPNotFound.code,
+                         set_context=True, tenant_id='tenant_b')
+     def test_create_vpnservice_with_nonconnected_subnet(self):
+         """Test case to create a vpnservice with nonconnected subnet."""
+         with self.network() as network:
+             with self.subnet(network=network,
+                              cidr='10.2.0.0/24') as subnet:
+                 with self.router() as router:
+                     router_id = router['router']['id']
+                     subnet_id = subnet['subnet']['id']
+                     self._create_vpnservice(
+                         self.fmt, 'fake',
+                         True, router_id, subnet_id,
+                         expected_res_status=webob.exc.HTTPBadRequest.code)
  
 +    def test_delete_router_in_use_by_vpnservice(self):
 +        """Test delete router in use by vpn service."""
 +        with self.subnet(cidr='10.2.0.0/24') as subnet:
 +            with self.router() as router:
 +                with self.vpnservice(subnet=subnet,
 +                                     router=router):
 +                    self._delete('routers', router['router']['id'],
 +                                 expected_code=webob.exc.HTTPConflict.code)
 +
      def _set_active(self, model, resource_id):
          service_plugin = manager.NeutronManager.get_service_plugins()[
              constants.VPN]