def test_release_address_ec2_classic(self): address.address_engine = (address.AddressEngineNeutron()) self.set_mock_db_items() self.nova.floating_ips.delete.return_value = True self.nova.floating_ips.list.return_value = ([ fakes.NovaFloatingIp(fakes.NOVA_FLOATING_IP_1), fakes.NovaFloatingIp(fakes.NOVA_FLOATING_IP_2) ]) resp = self.execute('ReleaseAddress', {'PublicIp': fakes.IP_ADDRESS_1}) self.assertEqual(True, resp['return']) self.nova.floating_ips.delete.assert_called_once_with( fakes.NOVA_FLOATING_IP_1['id'])
def test_describe_addresses_ec2_classic(self): address.address_engine = ( address.AddressEngineNova()) self.set_mock_db_items(fakes.DB_INSTANCE_1) self.nova.floating_ips.list.return_value = [ fakes.NovaFloatingIp(fakes.NOVA_FLOATING_IP_1), fakes.NovaFloatingIp(fakes.NOVA_FLOATING_IP_2)] resp = self.execute('DescribeAddresses', {}) self.assertThat(resp['addressesSet'], matchers.ListMatches([fakes.EC2_ADDRESS_CLASSIC_1, fakes.EC2_ADDRESS_CLASSIC_2])) resp = self.execute('DescribeAddresses', {'PublicIp.1': fakes.IP_ADDRESS_2}) self.assertThat(resp['addressesSet'], matchers.ListMatches([fakes.EC2_ADDRESS_CLASSIC_2]))
def test_associate_address_ec2_classic(self): address.address_engine = (address.AddressEngineNeutron()) self.set_mock_db_items(fakes.DB_INSTANCE_1) self.nova.floating_ips.list.return_value = ([ fakes.NovaFloatingIp(fakes.NOVA_FLOATING_IP_1), fakes.NovaFloatingIp(fakes.NOVA_FLOATING_IP_2) ]) self.nova.servers.add_floating_ip.return_value = True resp = self.execute('AssociateAddress', { 'PublicIp': fakes.IP_ADDRESS_1, 'InstanceId': fakes.ID_EC2_INSTANCE_1 }) self.assertEqual(True, resp['return']) self.nova.servers.add_floating_ip.assert_called_once_with( fakes.ID_OS_INSTANCE_1, fakes.IP_ADDRESS_1)
def test_dissassociate_address_ec2_classic(self): address.address_engine = (address.AddressEngineNeutron()) self.set_mock_db_items() self.nova.servers.remove_floating_ip.return_value = True self.nova.floating_ips.list.return_value = ([ fakes.NovaFloatingIp(fakes.NOVA_FLOATING_IP_1), fakes.NovaFloatingIp(fakes.NOVA_FLOATING_IP_2) ]) resp = self.execute('DisassociateAddress', {'PublicIp': fakes.IP_ADDRESS_2}) self.assertEqual(True, resp['return']) self.nova.servers.remove_floating_ip.assert_called_once_with( fakes.ID_OS_INSTANCE_1, fakes.IP_ADDRESS_2) # NOTE(Alex) Disassociate unassociated address in EC2 classic resp = self.execute('DisassociateAddress', {'PublicIp': fakes.IP_ADDRESS_1}) self.assertEqual(True, resp['return']) self.assertEqual(1, self.nova.servers.remove_floating_ip.call_count)
def test_allocate_ec2_classic_address(self): address.address_engine = (address.AddressEngineNeutron()) self.nova.floating_ips.create.return_value = (fakes.NovaFloatingIp( fakes.NOVA_FLOATING_IP_1)) resp = self.execute('AllocateAddress', {}) self.assertEqual(fakes.IP_ADDRESS_1, resp['publicIp']) self.assertEqual('standard', resp['domain']) self.assertNotIn('allocationId', resp) self.assertEqual(0, self.db_api.add_item.call_count) self.nova.floating_ips.create.assert_called_once_with()