def test_router_same_name_diff_proj(self): """ Tests the creation of an OpenStackNetwork with the same name within a different project/tenant when not configured but implied by the OSCreds. """ # Create Router router_config = RouterConfig(name=self.guid + '-router') self.admin_router_creator = OpenStackRouter(self.admin_os_creds, router_config) self.admin_router_creator.create() self.proj_router_creator = OpenStackRouter(self.os_creds, router_config) self.proj_router_creator.create() self.assertNotEqual(self.admin_router_creator.get_router().id, self.proj_router_creator.get_router().id) admin_creator2 = OpenStackRouter(self.admin_os_creds, router_config) admin_creator2.create() self.assertEqual(self.admin_router_creator.get_router(), admin_creator2.get_router()) proj_creator2 = OpenStackRouter(self.os_creds, router_config) proj_creator2.create() self.assertEqual(self.proj_router_creator.get_router(), proj_creator2.get_router())
class CreateMultipleRouterTests(OSIntegrationTestCase): """ Test for the OpenStackRouter class and how it interacts with routers groups within other projects with the same name """ def setUp(self): """ Initializes objects used for router testing """ super(self.__class__, self).__start__() self.guid = self.__class__.__name__ + '-' + str(uuid.uuid4()) self.admin_router_creator = None self.proj_router_creator = None self.neutron = neutron_utils.neutron_client(self.os_creds, self.os_session) network_settings = NetworkConfig( name=self.guid + '-pub-net', shared=True, subnet_settings=[ create_network.SubnetConfig(cidr=cidr1, name=self.guid + '-pub-subnet', gateway_ip=static_gateway_ip1) ]) self.network_creator = OpenStackNetwork(self.admin_os_creds, network_settings) self.network_creator.create() def tearDown(self): """ Cleans the remote OpenStack objects used for router testing """ if self.admin_router_creator: self.admin_router_creator.clean() if self.proj_router_creator: self.proj_router_creator.clean() if self.network_creator: self.network_creator.clean() super(self.__class__, self).__clean__() def test_router_same_name_diff_proj(self): """ Tests the creation of an OpenStackNetwork with the same name within a different project/tenant when not configured but implied by the OSCreds. """ # Create Router router_config = RouterConfig(name=self.guid + '-router') self.admin_router_creator = OpenStackRouter(self.admin_os_creds, router_config) self.admin_router_creator.create() self.proj_router_creator = OpenStackRouter(self.os_creds, router_config) self.proj_router_creator.create() self.assertNotEqual(self.admin_router_creator.get_router().id, self.proj_router_creator.get_router().id) admin_creator2 = OpenStackRouter(self.admin_os_creds, router_config) admin_creator2.create() self.assertEqual(self.admin_router_creator.get_router(), admin_creator2.get_router()) proj_creator2 = OpenStackRouter(self.os_creds, router_config) proj_creator2.create() self.assertEqual(self.proj_router_creator.get_router(), proj_creator2.get_router()) def test_router_create_by_admin_to_different_project(self): """ Tests the creation of an OpenStackRouter by the admin user and initialize again with tenant credentials. """ # Create Network admin_router_config = RouterConfig( name=self.guid + '-router', project_name=self.os_creds.project_name) self.admin_router_creator = OpenStackRouter(self.admin_os_creds, admin_router_config) self.admin_router_creator.create() proj_router_config = RouterConfig( name=self.guid + '-router', project_name=self.os_creds.project_name) self.proj_router_creator = OpenStackRouter(self.os_creds, proj_router_config) self.proj_router_creator.create() self.assertEqual(self.admin_router_creator.get_router().id, self.proj_router_creator.get_router().id)