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
"""
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
**{'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)
**{'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)
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)
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()
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)
: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):
"""
: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()
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)
: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)
: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()
: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()
: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()
: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()
: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()