示例#1
0
    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]))
示例#3
0
    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)
示例#4
0
    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)
示例#5
0
    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()