def setUp(self): self.fixture = fixtures.OpenStackFixture() self.active_ip = factories.FloatingIPFactory( runtime_state='ACTIVE', service_settings=self.fixture.openstack_service_settings, project=self.fixture.project, ) self.down_ip = factories.FloatingIPFactory( runtime_state='DOWN', service_settings=self.fixture.openstack_service_settings, project=self.fixture.project, ) self.other_ip = factories.FloatingIPFactory(runtime_state='UNDEFINED')
def test_floating_ip_delete(self): openstack_floating_ip = openstack_factories.FloatingIPFactory( tenant=self.tenant) factories.FloatingIPFactory( settings=self.service_settings, backend_id=openstack_floating_ip.backend_id) openstack_floating_ip.delete() self.assertEqual(models.FloatingIP.objects.count(), 0)
def test_floating_ip_create(self): openstack_floating_ip = openstack_factories.FloatingIPFactory( tenant=self.tenant, state=StateMixin.States.CREATING) self.assertEqual(models.FloatingIP.objects.count(), 0) openstack_floating_ip.set_ok() openstack_floating_ip.save() self.assertEqual(models.FloatingIP.objects.count(), 1)
def test_instance_information_is_empty_if_floating_ip_service_property_is_missing(self): openstack_factories.FloatingIPFactory() response = self.client.get(openstack_factories.FloatingIPFactory.get_list_url()) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(len(response.data), 1) self.assertIsNone(response.data[0]['instance_uuid']) self.assertIsNone(response.data[0]['instance_name']) self.assertIsNone(response.data[0]['instance_url'])
def test_instance_information_is_empty_for_unassociated_floating_ip(self): openstack_factories.FloatingIPFactory(backend_id=self.fixture.floating_ip.backend_id, address=self.fixture.floating_ip.address) response = self.client.get(openstack_factories.FloatingIPFactory.get_list_url()) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(len(response.data), 1) self.assertIsNone(response.data[0]['instance_uuid']) self.assertIsNone(response.data[0]['instance_name']) self.assertIsNone(response.data[0]['instance_url'])
def test_floating_ip_is_not_created_if_it_already_exists(self): factories.FloatingIPFactory(settings=self.service_settings, backend_id='VALID_BACKEND_ID') openstack_floating_ip = openstack_factories.FloatingIPFactory( tenant=self.tenant, state=StateMixin.States.CREATING, backend_id='VALID_BACKEND_ID', ) self.assertEqual(models.FloatingIP.objects.count(), 1) openstack_floating_ip.set_ok() openstack_floating_ip.save() self.assertEqual(models.FloatingIP.objects.count(), 1)
def test_instance_information_is_returned_for_associated_floating_ip(self): self.fixture.floating_ip.runtime_state = 'ACTIVE' self.fixture.floating_ip.internal_ip = self.fixture.internal_ip self.fixture.floating_ip.save() openstack_factories.FloatingIPFactory(backend_id=self.fixture.floating_ip.backend_id, address=self.fixture.floating_ip.address) response = self.client.get(openstack_factories.FloatingIPFactory.get_list_url()) self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual(len(response.data), 1) self.assertEqual(response.data[0]['instance_uuid'], self.fixture.instance.uuid) self.assertEqual(response.data[0]['instance_name'], self.fixture.instance.name) self.assertIn(self.fixture.instance.uuid.hex, response.data[0]['instance_url'])
def test_floating_ip_update(self): openstack_floating_ip = openstack_factories.FloatingIPFactory( tenant=self.tenant, name='New name', state=StateMixin.States.UPDATING ) floating_ip = factories.FloatingIPFactory( settings=self.service_settings, backend_id=openstack_floating_ip.backend_id, ) openstack_floating_ip.set_ok() openstack_floating_ip.save() floating_ip.refresh_from_db() self.assertEqual(openstack_floating_ip.name, floating_ip.name) self.assertEqual(openstack_floating_ip.address, floating_ip.address) self.assertEqual(openstack_floating_ip.runtime_state, floating_ip.runtime_state) self.assertEqual(openstack_floating_ip.backend_network_id, floating_ip.backend_network_id)