X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=snaps%2Fopenstack%2Ftests%2Fcreate_keypairs_tests.py;h=63e0bcc5db2cbb33a7eb2bbbbd4cba01a3b8dffb;hb=97cee572f017696415b212024fc28c85b892b0cd;hp=2824c34aaa135be289fc4400f5f590042b2d1a5e;hpb=d336b42e1476f05dedad3f6e6653f73987154c87;p=snaps.git diff --git a/snaps/openstack/tests/create_keypairs_tests.py b/snaps/openstack/tests/create_keypairs_tests.py index 2824c34..63e0bcc 100644 --- a/snaps/openstack/tests/create_keypairs_tests.py +++ b/snaps/openstack/tests/create_keypairs_tests.py @@ -18,8 +18,9 @@ import uuid import os from snaps import file_utils +from snaps.config.keypair import KeypairConfig, KeypairConfigError from snaps.openstack.create_keypairs import ( - KeypairSettings, OpenStackKeypair, KeypairSettingsError) + KeypairSettings, OpenStackKeypair) from snaps.openstack.tests.os_source_file_test import OSIntegrationTestCase from snaps.openstack.utils import nova_utils @@ -32,16 +33,21 @@ class KeypairSettingsUnitTests(unittest.TestCase): """ def test_no_params(self): - with self.assertRaises(KeypairSettingsError): + with self.assertRaises(KeypairConfigError): KeypairSettings() def test_empty_config(self): - with self.assertRaises(KeypairSettingsError): + with self.assertRaises(KeypairConfigError): KeypairSettings(**dict()) + def test_small_key_size(self): + with self.assertRaises(KeypairConfigError): + KeypairSettings(name='foo', key_size=511) + def test_name_only(self): settings = KeypairSettings(name='foo') self.assertEqual('foo', settings.name) + self.assertEqual(1024, settings.key_size) self.assertIsNone(settings.public_filepath) self.assertIsNone(settings.private_filepath) self.assertIsNone(settings.delete_on_clean) @@ -49,6 +55,7 @@ class KeypairSettingsUnitTests(unittest.TestCase): def test_config_with_name_only(self): settings = KeypairSettings(**{'name': 'foo'}) self.assertEqual('foo', settings.name) + self.assertEqual(1024, settings.key_size) self.assertIsNone(settings.public_filepath) self.assertIsNone(settings.private_filepath) self.assertIsNone(settings.delete_on_clean) @@ -56,6 +63,7 @@ class KeypairSettingsUnitTests(unittest.TestCase): def test_name_pub_only(self): settings = KeypairSettings(name='foo', public_filepath='/foo/bar.pub') self.assertEqual('foo', settings.name) + self.assertEqual(1024, settings.key_size) self.assertEqual('/foo/bar.pub', settings.public_filepath) self.assertIsNone(settings.private_filepath) self.assertIsNone(settings.delete_on_clean) @@ -64,6 +72,7 @@ class KeypairSettingsUnitTests(unittest.TestCase): settings = KeypairSettings( **{'name': 'foo', 'public_filepath': '/foo/bar.pub'}) self.assertEqual('foo', settings.name) + self.assertEqual(1024, settings.key_size) self.assertEqual('/foo/bar.pub', settings.public_filepath) self.assertIsNone(settings.private_filepath) self.assertIsNone(settings.delete_on_clean) @@ -71,6 +80,7 @@ class KeypairSettingsUnitTests(unittest.TestCase): def test_name_priv_only(self): settings = KeypairSettings(name='foo', private_filepath='/foo/bar') self.assertEqual('foo', settings.name) + self.assertEqual(1024, settings.key_size) self.assertIsNone(settings.public_filepath) self.assertEqual('/foo/bar', settings.private_filepath) self.assertIsNone(settings.delete_on_clean) @@ -79,6 +89,7 @@ class KeypairSettingsUnitTests(unittest.TestCase): settings = KeypairSettings( **{'name': 'foo', 'private_filepath': '/foo/bar'}) self.assertEqual('foo', settings.name) + self.assertEqual(1024, settings.key_size) self.assertIsNone(settings.public_filepath) self.assertEqual('/foo/bar', settings.private_filepath) self.assertIsNone(settings.delete_on_clean) @@ -86,8 +97,10 @@ class KeypairSettingsUnitTests(unittest.TestCase): def test_all_delete_bool(self): settings = KeypairSettings( name='foo', public_filepath='/foo/bar.pub', - private_filepath='/foo/bar', delete_on_clean=True) + private_filepath='/foo/bar', delete_on_clean=True, + key_size=999) self.assertEqual('foo', settings.name) + self.assertEqual(999, settings.key_size) self.assertEqual('/foo/bar.pub', settings.public_filepath) self.assertEqual('/foo/bar', settings.private_filepath) self.assertTrue(settings.delete_on_clean) @@ -97,6 +110,7 @@ class KeypairSettingsUnitTests(unittest.TestCase): name='foo', public_filepath='/foo/bar.pub', private_filepath='/foo/bar', delete_on_clean='True') self.assertEqual('foo', settings.name) + self.assertEqual(1024, settings.key_size) self.assertEqual('/foo/bar.pub', settings.public_filepath) self.assertEqual('/foo/bar', settings.private_filepath) self.assertTrue(settings.delete_on_clean) @@ -106,6 +120,7 @@ class KeypairSettingsUnitTests(unittest.TestCase): name='foo', public_filepath='/foo/bar.pub', private_filepath='/foo/bar', delete_on_clean='true') self.assertEqual('foo', settings.name) + self.assertEqual(1024, settings.key_size) self.assertEqual('/foo/bar.pub', settings.public_filepath) self.assertEqual('/foo/bar', settings.private_filepath) self.assertTrue(settings.delete_on_clean) @@ -115,6 +130,7 @@ class KeypairSettingsUnitTests(unittest.TestCase): name='foo', public_filepath='/foo/bar.pub', private_filepath='/foo/bar', delete_on_clean='False') self.assertEqual('foo', settings.name) + self.assertEqual(1024, settings.key_size) self.assertEqual('/foo/bar.pub', settings.public_filepath) self.assertEqual('/foo/bar', settings.private_filepath) self.assertFalse(settings.delete_on_clean) @@ -122,8 +138,10 @@ class KeypairSettingsUnitTests(unittest.TestCase): def test_all_delete_str_false_lc(self): settings = KeypairSettings( name='foo', public_filepath='/foo/bar.pub', - private_filepath='/foo/bar', delete_on_clean='false') + private_filepath='/foo/bar', delete_on_clean='false', + key_size='999') self.assertEqual('foo', settings.name) + self.assertEqual(999, settings.key_size) self.assertEqual('/foo/bar.pub', settings.public_filepath) self.assertEqual('/foo/bar', settings.private_filepath) self.assertFalse(settings.delete_on_clean) @@ -131,8 +149,10 @@ class KeypairSettingsUnitTests(unittest.TestCase): def test_config_all_delete_false_bool(self): settings = KeypairSettings( **{'name': 'foo', 'public_filepath': '/foo/bar.pub', - 'private_filepath': '/foo/bar', 'delete_on_clean': False}) + 'private_filepath': '/foo/bar', 'delete_on_clean': False, + 'key_size': 999}) self.assertEqual('foo', settings.name) + self.assertEqual(999, settings.key_size) self.assertEqual('/foo/bar.pub', settings.public_filepath) self.assertEqual('/foo/bar', settings.private_filepath) self.assertFalse(settings.delete_on_clean) @@ -142,6 +162,7 @@ class KeypairSettingsUnitTests(unittest.TestCase): **{'name': 'foo', 'public_filepath': '/foo/bar.pub', 'private_filepath': '/foo/bar', 'delete_on_clean': 'False'}) self.assertEqual('foo', settings.name) + self.assertEqual(1024, settings.key_size) self.assertEqual('/foo/bar.pub', settings.public_filepath) self.assertEqual('/foo/bar', settings.private_filepath) self.assertFalse(settings.delete_on_clean) @@ -151,6 +172,7 @@ class KeypairSettingsUnitTests(unittest.TestCase): **{'name': 'foo', 'public_filepath': '/foo/bar.pub', 'private_filepath': '/foo/bar', 'delete_on_clean': 'false'}) self.assertEqual('foo', settings.name) + self.assertEqual(1024, settings.key_size) self.assertEqual('/foo/bar.pub', settings.public_filepath) self.assertEqual('/foo/bar', settings.private_filepath) self.assertFalse(settings.delete_on_clean) @@ -158,8 +180,10 @@ class KeypairSettingsUnitTests(unittest.TestCase): def test_config_all_delete_false_str_foo(self): settings = KeypairSettings( **{'name': 'foo', 'public_filepath': '/foo/bar.pub', - 'private_filepath': '/foo/bar', 'delete_on_clean': 'foo'}) + 'private_filepath': '/foo/bar', 'delete_on_clean': 'foo', + 'key_size': '999'}) self.assertEqual('foo', settings.name) + self.assertEqual(999, settings.key_size) self.assertEqual('/foo/bar.pub', settings.public_filepath) self.assertEqual('/foo/bar', settings.private_filepath) self.assertFalse(settings.delete_on_clean) @@ -205,7 +229,7 @@ class CreateKeypairsTests(OSIntegrationTestCase): Tests the creation of a generated keypair without saving to file :return: """ - self.keypair_creator = OpenStackKeypair(self.os_creds, KeypairSettings( + self.keypair_creator = OpenStackKeypair(self.os_creds, KeypairConfig( name=self.keypair_name)) self.keypair_creator.create() @@ -213,13 +237,26 @@ class CreateKeypairsTests(OSIntegrationTestCase): self.keypair_creator.get_keypair()) self.assertEqual(self.keypair_creator.get_keypair(), keypair) + def test_create_keypair_large_key(self): + """ + Tests the creation of a generated keypair without saving to file + :return: + """ + self.keypair_creator = OpenStackKeypair(self.os_creds, KeypairConfig( + name=self.keypair_name, key_size=10000)) + self.keypair_creator.create() + + keypair = nova_utils.keypair_exists(self.nova, + self.keypair_creator.get_keypair()) + self.assertEqual(self.keypair_creator.get_keypair(), keypair) + def test_create_delete_keypair(self): """ Tests the creation then deletion of an OpenStack keypair to ensure clean() does not raise an Exception. """ # Create Image - self.keypair_creator = OpenStackKeypair(self.os_creds, KeypairSettings( + self.keypair_creator = OpenStackKeypair(self.os_creds, KeypairConfig( name=self.keypair_name)) created_keypair = self.keypair_creator.create() self.assertIsNotNone(created_keypair) @@ -241,17 +278,23 @@ class CreateKeypairsTests(OSIntegrationTestCase): :return: """ self.keypair_creator = OpenStackKeypair( - self.os_creds, KeypairSettings(name=self.keypair_name, - public_filepath=self.pub_file_path)) + self.os_creds, KeypairConfig( + name=self.keypair_name, public_filepath=self.pub_file_path)) self.keypair_creator.create() keypair = nova_utils.keypair_exists(self.nova, self.keypair_creator.get_keypair()) self.assertEqual(self.keypair_creator.get_keypair(), keypair) - file_key = open(os.path.expanduser(self.pub_file_path)).read() - self.assertEqual(self.keypair_creator.get_keypair().public_key, - file_key) + pub_file = None + try: + pub_file = open(os.path.expanduser(self.pub_file_path)) + file_key = pub_file.read() + self.assertEqual(self.keypair_creator.get_keypair().public_key, + file_key) + finally: + if pub_file: + pub_file.close() def test_create_keypair_save_both(self): """ @@ -260,7 +303,7 @@ class CreateKeypairsTests(OSIntegrationTestCase): :return: """ self.keypair_creator = OpenStackKeypair( - self.os_creds, KeypairSettings( + self.os_creds, KeypairConfig( name=self.keypair_name, public_filepath=self.pub_file_path, private_filepath=self.priv_file_path)) self.keypair_creator.create() @@ -269,7 +312,16 @@ class CreateKeypairsTests(OSIntegrationTestCase): self.keypair_creator.get_keypair()) self.assertEqual(self.keypair_creator.get_keypair(), keypair) - file_key = open(os.path.expanduser(self.pub_file_path)).read() + pub_file = None + try: + pub_file = open(os.path.expanduser(self.pub_file_path)) + file_key = pub_file.read() + self.assertEqual(self.keypair_creator.get_keypair().public_key, + file_key) + finally: + if pub_file: + pub_file.close() + self.assertEqual(self.keypair_creator.get_keypair().public_key, file_key) @@ -281,18 +333,27 @@ class CreateKeypairsTests(OSIntegrationTestCase): :return: """ keys = nova_utils.create_keys() - nova_utils.save_keys_to_files(keys=keys, + file_utils.save_keys_to_files(keys=keys, pub_file_path=self.pub_file_path) self.keypair_creator = OpenStackKeypair( - self.os_creds, KeypairSettings(name=self.keypair_name, - public_filepath=self.pub_file_path)) + self.os_creds, KeypairConfig( + name=self.keypair_name, public_filepath=self.pub_file_path)) self.keypair_creator.create() keypair = nova_utils.keypair_exists(self.nova, self.keypair_creator.get_keypair()) self.assertEqual(self.keypair_creator.get_keypair(), keypair) - file_key = open(os.path.expanduser(self.pub_file_path)).read() + pub_file = None + try: + pub_file = open(os.path.expanduser(self.pub_file_path)) + file_key = pub_file.read() + self.assertEqual(self.keypair_creator.get_keypair().public_key, + file_key) + finally: + if pub_file: + pub_file.close() + self.assertEqual(self.keypair_creator.get_keypair().public_key, file_key) @@ -340,7 +401,7 @@ class CreateKeypairsCleanupTests(OSIntegrationTestCase): :return: """ self.keypair_creator = OpenStackKeypair( - self.os_creds, KeypairSettings( + self.os_creds, KeypairConfig( name=self.keypair_name, public_filepath=self.pub_file_path, private_filepath=self.priv_file_path)) self.keypair_creator.create() @@ -356,7 +417,7 @@ class CreateKeypairsCleanupTests(OSIntegrationTestCase): :return: """ self.keypair_creator = OpenStackKeypair( - self.os_creds, KeypairSettings( + self.os_creds, KeypairConfig( name=self.keypair_name, public_filepath=self.pub_file_path, private_filepath=self.priv_file_path, delete_on_clean=True)) self.keypair_creator.create() @@ -372,7 +433,7 @@ class CreateKeypairsCleanupTests(OSIntegrationTestCase): :return: """ self.keypair_creator = OpenStackKeypair( - self.os_creds, KeypairSettings( + self.os_creds, KeypairConfig( name=self.keypair_name, public_filepath=self.pub_file_path, private_filepath=self.priv_file_path, delete_on_clean=False)) self.keypair_creator.create() @@ -388,11 +449,11 @@ class CreateKeypairsCleanupTests(OSIntegrationTestCase): :return: """ keys = nova_utils.create_keys() - nova_utils.save_keys_to_files( + file_utils.save_keys_to_files( keys=keys, pub_file_path=self.pub_file_path, priv_file_path=self.priv_file_path) self.keypair_creator = OpenStackKeypair( - self.os_creds, KeypairSettings( + self.os_creds, KeypairConfig( name=self.keypair_name, public_filepath=self.pub_file_path, private_filepath=self.priv_file_path, delete_on_clean=False)) self.keypair_creator.create() @@ -408,11 +469,11 @@ class CreateKeypairsCleanupTests(OSIntegrationTestCase): :return: """ keys = nova_utils.create_keys() - nova_utils.save_keys_to_files( + file_utils.save_keys_to_files( keys=keys, pub_file_path=self.pub_file_path, priv_file_path=self.priv_file_path) self.keypair_creator = OpenStackKeypair( - self.os_creds, KeypairSettings( + self.os_creds, KeypairConfig( name=self.keypair_name, public_filepath=self.pub_file_path, private_filepath=self.priv_file_path, delete_on_clean=True)) self.keypair_creator.create()