def test_get_floating_ips_by_fixed_address(self, mock_get): floatings = [objects.FloatingIP(id=1, address='1.2.3.4'), objects.FloatingIP(id=2, address='5.6.7.8')] mock_get.return_value = floatings self.assertEqual(['1.2.3.4', '5.6.7.8'], self.network_api.get_floating_ips_by_fixed_address( self.context, mock.sentinel.fixed_address)) mock_get.assert_called_once_with(self.context, mock.sentinel.fixed_address)
def test_translate_floating_ip_unset_fixed(self): floater = objects.FloatingIP(id=1, address='10.0.0.2', pool='foo') result = self.floating_ips._translate_floating_ip_view(floater) expected = self._build_expected(floater, None, None) self._test_result(expected, result)
def _test_list_ips_associated(self, req, mock_get): instance_uuid = uuids.instance fixed_address = "10.0.0.1" floating_address = "192.168.0.1" fixed_ip = objects.FixedIP(instance_uuid=instance_uuid, address=fixed_address) floating_ip = objects.FloatingIP(address=floating_address, fixed_ip=fixed_ip, pool=CONF.default_floating_pool, interface=CONF.public_interface, project_id=None) floating_list = objects.FloatingIPList(objects=[floating_ip]) mock_get.return_value = floating_list res_dict = self.controller.index(req) ip_info = [{ 'address': floating_address, 'pool': CONF.default_floating_pool, 'interface': CONF.public_interface, 'project_id': None, 'instance_uuid': instance_uuid, 'fixed_ip': fixed_address }] response = {'floating_ip_info': ip_info} self.assertEqual(res_dict, response)
def test_list_ips_associated(self, mock_get): instance_uuid = "fake-uuid" fixed_address = "10.0.0.1" floating_address = "192.168.0.1" fixed_ip = objects.FixedIP(instance_uuid=instance_uuid, address=fixed_address) floating_ip = objects.FloatingIP(address=floating_address, fixed_ip=fixed_ip, pool=CONF.default_floating_pool, interface=CONF.public_interface, project_id=None) floating_list = objects.FloatingIPList(objects=[floating_ip]) mock_get.return_value = floating_list req = fakes.HTTPRequest.blank('/v2/fake/os-floating-ips-bulk', use_admin_context=True) res_dict = self.controller.index(req) ip_info = [{ 'address': floating_address, 'pool': CONF.default_floating_pool, 'interface': CONF.public_interface, 'project_id': None, 'instance_uuid': instance_uuid, 'fixed_ip': fixed_address }] response = {'floating_ip_info': ip_info} self.assertEqual(res_dict, response)
def test_backport_fixedip_1_1(self): floating = objects.FloatingIP() fixed = objects.FixedIP() floating.fixed_ip = fixed primitive = floating.obj_to_primitive(target_version='1.1') self.assertEqual('1.1', primitive['nova_object.data']['fixed_ip']['nova_object.version'])
def test_backport_fixedip_1_1(self): floating = objects.FloatingIP() fixed = objects.FixedIP() floating.fixed_ip = fixed with mock.patch.object(fixed, 'obj_make_compatible') as compat: primitive = {'fixed_ip': {'nova_object.data': {}}} floating.obj_make_compatible(primitive, '1.1') compat.assert_called_once_with(primitive['fixed_ip'], '1.1') self.assertEqual('1.1', primitive['fixed_ip']['nova_object.version'])
def test_backport_fixedip_1_1(self): floating = objects.FloatingIP() fixed = objects.FixedIP() floating.fixed_ip = fixed versions = ovo_base.obj_tree_get_versions('FloatingIP') versions['FixedIP'] = '1.1' primitive = floating.obj_to_primitive(target_version='1.1', version_manifest=versions) self.assertEqual('1.1', primitive['nova_object.data']['fixed_ip']['nova_object.version'])
def test_translate_floating_ip_view(self): floating_ip_address = self.floating_ip floating_ip = db.floating_ip_get_by_address(self.context, floating_ip_address) # NOTE(vish): network_get uses the id not the address floating_ip = db.floating_ip_get(self.context, floating_ip['id']) floating_obj = objects.FloatingIP() objects.FloatingIP._from_db_object(self.context, floating_obj, floating_ip) view = self.floating_ips._translate_floating_ip_view(floating_obj) self.assertIn('floating_ip', view) self.assertTrue(view['floating_ip']['id']) self.assertEqual(view['floating_ip']['ip'], floating_obj.address) self.assertIsNone(view['floating_ip']['fixed_ip']) self.assertIsNone(view['floating_ip']['instance_id'])
def _build_floating_ip(self, address, fixed_ip): floating = objects.FloatingIP(id=1, address=address, pool='foo', fixed_ip=fixed_ip) return floating