def test_create_ipreservation(self, mock_get_id, mock_assign): server_id = uuid.uuid4().hex net_id = "foo/ipreservation/%s" % uuid.uuid4().hex ip = '8.0.0.0' parameters = { "occi.core.target": net_id, "occi.core.source": server_id, } categories = {network_link.NetworkInterface.kind} req = fake_nets.create_req_test_occi(parameters, categories) mock_assign.return_value = fake_nets.fake_build_link(net_id, server_id, ip, public_ip=True) mock_get_id.side_effect = [('', server_id), ('', net_id)] ret = self.controller.create(req) self.assertIsNotNone(ret) link = ret.resources.pop() self.assertIsInstance(link, os_network.OSNetworkInterface) self.assertIsInstance(link.source, compute.ComputeResource) self.assertIsInstance(link.target, network.NetworkResource) self.assertIsInstance(link.target, ip_reservation.IPReservation) self.assertEqual(net_id, link.target.id) self.assertEqual(server_id, link.source.id) mock_assign.assert_called_with(mock.ANY, net_id, server_id)
def test_get_interface_from_id(self, mock_get_server): server_id = uuid.uuid4().hex net_id = uuid.uuid4().hex server_addr = "1.1.1.1" link_id = "%s_%s" % (server_id, server_addr) mock_get_server.return_value = fake_nets.fake_build_link( net_id, server_id, server_addr) ret = self.controller.show(None, link_id) self.assertIsInstance(ret, os_network.OSNetworkInterface) mock_get_server.assert_called_with(None, server_id, server_addr)
def test_get_interface_from_id(self, mock_get_server): server_id = uuid.uuid4().hex net_id = uuid.uuid4().hex server_addr = "1.1.1.1" link_id = "%s_%s_%s" % (server_id, net_id, server_addr) mock_get_server.return_value = fake_nets.fake_build_link( net_id, server_id, server_addr ) ret = self.controller.show(None, link_id) self.assertIsInstance(ret, os_network.OSNetworkInterface) mock_get_server.assert_called_with(None, server_id, net_id, server_addr)
def test_get_network_link_resources_fixed(self): server_id = uuid.uuid4().hex net_id = uuid.uuid4().hex server_addr = "1.1.1.1" os_link = fake_nets.fake_build_link(net_id, server_id, server_addr) ret = network_link_api._get_network_link_resources([os_link]) self.assertIsInstance(ret, list) self.assertIsInstance(ret[0], os_network.OSNetworkInterface) self.assertIsInstance(ret[0].source, compute.ComputeResource) self.assertIsInstance(ret[0].target, network.NetworkResource) self.assertEqual(ret[0].target.id, net_id) self.assertIsInstance(ret[0].ip_id, type(None)) self.assertEqual(1, len(ret[0].mixins)) self.assertIn(network_link.ip_network_interface, ret[0].mixins)
def test_show_complete(self, mock_get): os_link_list = fake_nets.network_links[fake_nets.tenants['foo']['id']] for os_link in os_link_list: mock_get.return_value = fake_nets.fake_build_link( os_link['network_id'], os_link['instance_id'], os_link['ip'], mac=None, pool=os_link['pool'], state=os_link['status'] ) link_id = '%s_%s' % ( os_link['instance_id'], os_link['ip']) ret = self.controller.show(None, link_id) self.assertIsInstance(ret, os_network.OSNetworkInterface) self.assertEqual(os_link["ip"], ret.address) mock_get.assert_called_with(None, str(os_link['instance_id']), os_link['ip'])
def test_get_network_link_resources_fixed(self): server_id = uuid.uuid4().hex net_id = uuid.uuid4().hex server_addr = "1.1.1.1" os_link = fake_nets.fake_build_link( net_id, server_id, server_addr ) ret = network_link_api._get_network_link_resources([os_link]) self.assertIsInstance(ret, list) self.assertIsInstance(ret[0], os_network.OSNetworkInterface) self.assertIsInstance(ret[0].source, compute.ComputeResource) self.assertIsInstance(ret[0].target, network.NetworkResource) self.assertEqual(ret[0].target.id, net_id) self.assertIsInstance(ret[0].ip_id, type(None)) self.assertEqual(1, len(ret[0].mixins)) self.assertIn(network_link.ip_network_interface, ret[0].mixins)
def test_show_complete(self, mock_get): os_link_list = fake_nets.network_links[fake_nets.tenants['foo']['id']] for os_link in os_link_list: mock_get.return_value = fake_nets.fake_build_link( os_link['network_id'], os_link['instance_id'], os_link['ip'], mac=None, pool=os_link['pool'], state=os_link['status']) link_id = '%s_%s' % (os_link['instance_id'], os_link['ip']) ret = self.controller.show(None, link_id) self.assertIsInstance(ret, os_network.OSNetworkInterface) self.assertEqual(os_link["ip"], ret.address) mock_get.assert_called_with(None, str(os_link['instance_id']), os_link['ip'])
def test_index(self, mock_list): req = fake_nets.create_req_test(None, None) tenant = fake_nets.tenants['foo'] os_link_list = fake_nets.network_links[tenant["id"]] links = [] for os_link in os_link_list: l = fake_nets.fake_build_link( os_link['network_id'], os_link['instance_id'], os_link['ip'], mac=None, pool=os_link['pool'], state=os_link['status'] ) links.append(l) mock_list.return_value = links ret = self.controller.index(req) self.assertIsInstance(ret, collection.Collection) if tenant["name"] == "foo": for idx, ip in enumerate(os_link_list): if ip["instance_id"]: self.assertIsInstance(ret.resources[idx], os_network.OSNetworkInterface) else: self.assertEqual([], ret.resources) mock_list.assert_called_with(req)
def test_create_fixed(self, mock_get_id, mock_cre_port): server_id = uuid.uuid4().hex net_id = uuid.uuid4().hex mock_get_id.side_effect = [('', net_id), ('', server_id)] ip = '8.0.0.0' parameters = { "occi.core.target": net_id, "occi.core.source": server_id, } categories = {network_link.NetworkInterface.kind} req = fake_nets.create_req_test_occi(parameters, categories) mock_cre_port.return_value = fake_nets.fake_build_link( net_id, server_id, ip ) ret = self.controller.create(req) self.assertIsNotNone(ret) link = ret.resources.pop() self.assertIsInstance(link, os_network.OSNetworkInterface) self.assertIsInstance(link.source, compute.ComputeResource) self.assertIsInstance(link.target, network.NetworkResource) self.assertEqual(net_id, link.target.id) self.assertEqual(server_id, link.source.id) mock_cre_port.assert_called_with(mock.ANY, net_id, server_id)
def test_get_network_link_resources_public(self): server_id = uuid.uuid4().hex net_id = 'PUBLIC' server_addr = "1.1.1.1" os_link = fake_nets.fake_build_link( net_id, server_id, server_addr, pool='public' ) ret = network_link_api._get_network_link_resources([os_link]) self.assertIsInstance(ret, list) self.assertIsInstance(ret[0], os_network.OSNetworkInterface) self.assertIsInstance(ret[0].source, compute.ComputeResource) self.assertIsInstance(ret[0].target, network.NetworkResource) self.assertEqual(ret[0].target.id, net_id) self.assertIsInstance(ret[0].ip_id, type(None)) self.assertEqual(2, len(ret[0].mixins)) self.assertIn(network_link.ip_network_interface, ret[0].mixins) has_pool = False for m in ret[0].mixins: if isinstance(m, os_network.OSFloatingIPPool): has_pool = True break self.assertTrue(has_pool)