def test_describe_key_pairs_invalid(self): self.nova.keypairs.list.return_value = [ fakes.NovaKeyPair(fakes.OS_KEY_PAIR) ] self.assert_execution_error('InvalidKeyPair.NotFound', 'DescribeKeyPairs', {'KeyName.1': 'badname'}) self.nova.keypairs.list.assert_called_once_with()
def test_import_key_pair(self): self.nova.keypairs.create.return_value = (fakes.NovaKeyPair( fakes.OS_KEY_PAIR)) resp = self.execute( 'ImportKeyPair', { 'KeyName': fakes.NAME_KEY_PAIR, 'PublicKeyMaterial': base64.b64encode( fakes.PUBLIC_KEY_KEY_PAIR) }) self.assertThat(tools.purge_dict(fakes.EC2_KEY_PAIR, {'keyMaterial'}), matchers.DictMatches(resp)) self.nova.keypairs.create.assert_called_once_with( fakes.NAME_KEY_PAIR, fakes.PUBLIC_KEY_KEY_PAIR)
def test_describe_key_pairs(self): self.nova.keypairs.list.return_value = [ fakes.NovaKeyPair(fakes.OS_KEY_PAIR) ] resp = self.execute('DescribeKeyPairs', {}) self.assertThat( resp['keySet'], matchers.ListMatches( [tools.purge_dict(fakes.EC2_KEY_PAIR, {'keyMaterial'})])) self.nova.keypairs.list.assert_called_once_with() self.check_filtering('DescribeKeyPairs', 'keySet', [('fingerprint', fakes.FINGERPRINT_KEY_PAIR), ('key-name', fakes.NAME_KEY_PAIR)])
def test_get_metadata_integral(self, network_interface_api, security_group_api, create_region): fake_context = base.create_context(is_os_admin=True) self.set_mock_db_items(fakes.DB_INSTANCE_1, fakes.DB_INSTANCE_2, fakes.DB_NETWORK_INTERFACE_1, fakes.DB_NETWORK_INTERFACE_2, fakes.DB_IMAGE_1, fakes.DB_IMAGE_2, fakes.DB_IMAGE_ARI_1, fakes.DB_IMAGE_AKI_1, fakes.DB_VOLUME_1, fakes.DB_VOLUME_2, fakes.DB_VOLUME_3) self.nova_admin.servers.list.return_value = [ fakes.OSInstance_full(fakes.OS_INSTANCE_1), fakes.OSInstance_full(fakes.OS_INSTANCE_2) ] self.nova_admin.servers.get.side_effect = tools.get_by_1st_arg_getter({ fakes.ID_OS_INSTANCE_1: fakes.OSInstance_full(fakes.OS_INSTANCE_1), fakes.ID_OS_INSTANCE_2: fakes.OSInstance_full(fakes.OS_INSTANCE_2) }) self.nova_admin.keypairs._get.return_value = (fakes.NovaKeyPair( fakes.OS_KEY_PAIR)) self.cinder.volumes.list.return_value = [ fakes.OSVolume(fakes.OS_VOLUME_1), fakes.OSVolume(fakes.OS_VOLUME_2), fakes.OSVolume(fakes.OS_VOLUME_3) ] network_interface_api.describe_network_interfaces.side_effect = ( lambda *args, **kwargs: copy.deepcopy({ 'networkInterfaceSet': [fakes.EC2_NETWORK_INTERFACE_1, fakes.EC2_NETWORK_INTERFACE_2] })) security_group_api.describe_security_groups.return_value = { 'securityGroupInfo': [fakes.EC2_SECURITY_GROUP_1, fakes.EC2_SECURITY_GROUP_3] } create_region.get.return_value = cache_core.NO_VALUE retval = api.get_metadata_item(fake_context, ['latest', 'meta-data', 'instance-id'], fakes.ID_OS_INSTANCE_1, fakes.IP_NETWORK_INTERFACE_2, create_region) self.assertEqual(fakes.ID_EC2_INSTANCE_1, retval) retval = api.get_metadata_item(fake_context, ['latest', 'meta-data', 'instance-id'], fakes.ID_OS_INSTANCE_2, '10.200.1.15', create_region) self.assertEqual(fakes.ID_EC2_INSTANCE_2, retval)
def test_pubkey(self): self.nova.servers.get.return_value = (fakes.OSInstance( fakes.OS_INSTANCE_1)) self.nova.keypairs.keypair_prefix = 'os_keypairs' self.nova.keypairs._get.return_value = (fakes.NovaKeyPair( fakes.OS_KEY_PAIR)) retval = api.get_metadata_item( self.fake_context, ['2009-04-04', 'meta-data', 'public-keys', '0', 'openssh-key'], fakes.ID_OS_INSTANCE_1, fakes.IP_NETWORK_INTERFACE_2, self.cache_region) self.assertEqual(fakes.PUBLIC_KEY_KEY_PAIR, retval) self.nova.servers.get.assert_called_once_with(fakes.ID_OS_INSTANCE_1) self.nova.keypairs._get.assert_called_once_with( '/os_keypairs/%s?user_id=%s' % (fakes.NAME_KEY_PAIR, fakes.ID_OS_USER), 'keypair') self.nova.keypairs._get.side_effect = nova_exception.NotFound(404) self.assertRaises( exception.EC2MetadataNotFound, api.get_metadata_item, self.fake_context, ['2009-04-04', 'meta-data', 'public-keys', '0', 'openssh-key'], fakes.ID_OS_INSTANCE_1, fakes.IP_NETWORK_INTERFACE_2, self.cache_region)
def test_create_key_pair(self): self.nova.keypairs.create.return_value = (fakes.NovaKeyPair( fakes.OS_KEY_PAIR)) resp = self.execute('CreateKeyPair', {'KeyName': fakes.NAME_KEY_PAIR}) self.assertThat(fakes.EC2_KEY_PAIR, matchers.DictMatches(resp)) self.nova.keypairs.create.assert_called_once_with(fakes.NAME_KEY_PAIR)