/usr/lib/python2.6/site-packages/novaclient/tests/functional/v2/legacy
NameSizeModeActions
test_consoles.py19100644editdlrm
test_consoles.pyc31310644editdlrm
test_extended_attributes.py24300644editdlrm
test_extended_attributes.pyc22930644editdlrm
test_fixedips.py21980644editdlrm
test_fixedips.pyc22180644editdlrm
test_flavor_access.py31310644editdlrm
test_flavor_access.pyc28060644editdlrm
test_instances.py30460644editdlrm
test_instances.pyc24310644editdlrm
test_keypairs.py32680644editdlrm
test_keypairs.pyc47010644editdlrm
test_os_services.py29810644editdlrm
test_os_services.pyc24900644editdlrm
test_quotas.py21360644editdlrm
test_quotas.pyc19250644editdlrm
test_readonly_nova.py58400644editdlrm
test_readonly_nova.pyc128930644editdlrm
test_servers.py36240644editdlrm
test_servers.pyc41210644editdlrm
test_server_groups.py19960644editdlrm
test_server_groups.pyc23940644editdlrm
test_virtual_interface.py11490644editdlrm
test_virtual_interface.pyc11790644editdlrm
test_volumes_api.py30780644editdlrm
test_volumes_api.pyc23410644editdlrm
__init__.py00644editdlrm
__init__.pyc1760644editdlrm
Edit: /usr/lib/python2.6/site-packages/novaclient/tests/functional/v2/legacy/test_keypairs.py (3268B)
# Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import tempfile import uuid from tempest_lib import exceptions from novaclient.tests.functional import base from novaclient.tests.functional.v2 import fake_crypto class TestKeypairsNovaClient(base.ClientTestBase): """Keypairs functional tests. """ COMPUTE_API_VERSION = "2.1" def _serialize_kwargs(self, kwargs): kwargs_pairs = ['--%(key)s %(val)s' % {'key': key.replace('_', '-'), 'val': val} for key, val in kwargs.items()] return " ".join(kwargs_pairs) def _create_keypair(self, **kwargs): key_name = self._raw_create_keypair(**kwargs) self.addCleanup(self.nova, 'keypair-delete %s' % key_name) return key_name def _raw_create_keypair(self, **kwargs): key_name = 'keypair-' + str(uuid.uuid4()) kwargs_str = self._serialize_kwargs(kwargs) self.nova('keypair-add %s %s' % (kwargs_str, key_name)) return key_name def _show_keypair(self, key_name): return self.nova('keypair-show %s' % key_name) def _list_keypairs(self): return self.nova('keypair-list') def _delete_keypair(self, key_name): self.nova('keypair-delete %s' % key_name) def _create_public_key_file(self, public_key): pubfile = tempfile.mkstemp()[1] with open(pubfile, 'w') as f: f.write(public_key) return pubfile def test_create_keypair(self): key_name = self._create_keypair() keypair = self._show_keypair(key_name) self.assertIn(key_name, keypair) return keypair def _test_import_keypair(self, fingerprint, **create_kwargs): key_name = self._create_keypair(**create_kwargs) keypair = self._show_keypair(key_name) self.assertIn(key_name, keypair) self.assertIn(fingerprint, keypair) return keypair def test_import_keypair(self): pub_key, fingerprint = fake_crypto.get_ssh_pub_key_and_fingerprint() pub_key_file = self._create_public_key_file(pub_key) self._test_import_keypair(fingerprint, pub_key=pub_key_file) def test_list_keypair(self): key_name = self._create_keypair() keypairs = self._list_keypairs() self.assertIn(key_name, keypairs) def test_delete_keypair(self): key_name = self._raw_create_keypair() keypair = self._show_keypair(key_name) self.assertIsNotNone(keypair) self._delete_keypair(key_name) # keypair-show should fail if no keypair with given name is found. self.assertRaises(exceptions.CommandFailed, self._show_keypair, key_name)