|
@@ -3,7 +3,7 @@ import unittest
|
|
|
from cloudbridge.cloud import factory
|
|
from cloudbridge.cloud import factory
|
|
|
from cloudbridge.cloud import interfaces
|
|
from cloudbridge.cloud import interfaces
|
|
|
from cloudbridge.cloud.factory import CloudProviderFactory
|
|
from cloudbridge.cloud.factory import CloudProviderFactory
|
|
|
-from cloudbridge.cloud.providers.aws import AWSCloudProviderV1
|
|
|
|
|
|
|
+from cloudbridge.cloud.providers.aws import AWSCloudProvider
|
|
|
import test.helpers as helpers
|
|
import test.helpers as helpers
|
|
|
|
|
|
|
|
|
|
|
|
@@ -15,7 +15,7 @@ class ProviderFactoryTestCase(unittest.TestCase):
|
|
|
a valid implementation
|
|
a valid implementation
|
|
|
"""
|
|
"""
|
|
|
self.assertIsInstance(CloudProviderFactory().create_provider(
|
|
self.assertIsInstance(CloudProviderFactory().create_provider(
|
|
|
- factory.ProviderList.AWS, {}, version=1),
|
|
|
|
|
|
|
+ factory.ProviderList.AWS, {}),
|
|
|
interfaces.CloudProvider,
|
|
interfaces.CloudProvider,
|
|
|
"create_provider did not return a valid instance type")
|
|
"create_provider did not return a valid instance type")
|
|
|
|
|
|
|
@@ -26,47 +26,29 @@ class ProviderFactoryTestCase(unittest.TestCase):
|
|
|
"""
|
|
"""
|
|
|
with self.assertRaises(NotImplementedError):
|
|
with self.assertRaises(NotImplementedError):
|
|
|
CloudProviderFactory().create_provider("ec23", {})
|
|
CloudProviderFactory().create_provider("ec23", {})
|
|
|
- with self.assertRaises(NotImplementedError):
|
|
|
|
|
- CloudProviderFactory().create_provider(
|
|
|
|
|
- factory.ProviderList.AWS,
|
|
|
|
|
- {},
|
|
|
|
|
- version=100)
|
|
|
|
|
|
|
|
|
|
def test_find_provider_impl_valid(self):
|
|
def test_find_provider_impl_valid(self):
|
|
|
"""
|
|
"""
|
|
|
- Searching for a provider with a known name or version should return a
|
|
|
|
|
|
|
+ Searching for a provider with a known name should return a
|
|
|
valid implementation
|
|
valid implementation
|
|
|
"""
|
|
"""
|
|
|
- self.assertTrue(
|
|
|
|
|
- CloudProviderFactory().find_provider_impl(
|
|
|
|
|
- factory.ProviderList.AWS))
|
|
|
|
|
self.assertEqual(CloudProviderFactory().find_provider_impl(
|
|
self.assertEqual(CloudProviderFactory().find_provider_impl(
|
|
|
- factory.ProviderList.AWS, version=1),
|
|
|
|
|
- "cloudbridge.cloud.providers.aws.AWSCloudProviderV1")
|
|
|
|
|
|
|
+ factory.ProviderList.AWS),
|
|
|
|
|
+ "cloudbridge.cloud.providers.aws.AWSCloudProvider")
|
|
|
|
|
|
|
|
def test_find_provider_impl_invalid(self):
|
|
def test_find_provider_impl_invalid(self):
|
|
|
"""
|
|
"""
|
|
|
- Searching for a provider with an invalid name or version should return
|
|
|
|
|
|
|
+ Searching for a provider with an invalid name should return
|
|
|
None
|
|
None
|
|
|
"""
|
|
"""
|
|
|
self.assertIsNone(
|
|
self.assertIsNone(
|
|
|
CloudProviderFactory().find_provider_impl("openstack1"))
|
|
CloudProviderFactory().find_provider_impl("openstack1"))
|
|
|
- self.assertIsNone(CloudProviderFactory().find_provider_impl(
|
|
|
|
|
- factory.ProviderList.AWS, version=100))
|
|
|
|
|
|
|
|
|
|
def test_find_provider_mock_valid(self):
|
|
def test_find_provider_mock_valid(self):
|
|
|
"""
|
|
"""
|
|
|
Searching for a provider with a known mock driver should return
|
|
Searching for a provider with a known mock driver should return
|
|
|
an implementation implementing helpers.TestMockHelperMixin
|
|
an implementation implementing helpers.TestMockHelperMixin
|
|
|
"""
|
|
"""
|
|
|
- mock = CloudProviderFactory().get_provider_class(
|
|
|
|
|
- factory.ProviderList.AWS, version=1,
|
|
|
|
|
- get_mock=True)
|
|
|
|
|
- self.assertTrue(
|
|
|
|
|
- issubclass(
|
|
|
|
|
- mock,
|
|
|
|
|
- helpers.TestMockHelperMixin),
|
|
|
|
|
- "Expected mock for AWS but class does not implement mock provider")
|
|
|
|
|
mock = CloudProviderFactory().get_provider_class(
|
|
mock = CloudProviderFactory().get_provider_class(
|
|
|
factory.ProviderList.AWS, get_mock=True)
|
|
factory.ProviderList.AWS, get_mock=True)
|
|
|
self.assertTrue(
|
|
self.assertTrue(
|
|
@@ -74,35 +56,26 @@ class ProviderFactoryTestCase(unittest.TestCase):
|
|
|
mock,
|
|
mock,
|
|
|
helpers.TestMockHelperMixin),
|
|
helpers.TestMockHelperMixin),
|
|
|
"Expected mock for AWS but class does not implement mock provider")
|
|
"Expected mock for AWS but class does not implement mock provider")
|
|
|
- mock = CloudProviderFactory().get_provider_class(
|
|
|
|
|
- factory.ProviderList.AWS, version=1,
|
|
|
|
|
- get_mock=False)
|
|
|
|
|
for cls in CloudProviderFactory().get_all_provider_classes(
|
|
for cls in CloudProviderFactory().get_all_provider_classes(
|
|
|
get_mock=False):
|
|
get_mock=False):
|
|
|
self.assertTrue(
|
|
self.assertTrue(
|
|
|
not issubclass(
|
|
not issubclass(
|
|
|
- mock,
|
|
|
|
|
|
|
+ cls,
|
|
|
helpers.TestMockHelperMixin),
|
|
helpers.TestMockHelperMixin),
|
|
|
- "Did not expect mock but class implements mock provider")
|
|
|
|
|
|
|
+ "Did not expect mock but %s implements mock provider" %
|
|
|
|
|
+ cls)
|
|
|
|
|
|
|
|
def test_get_provider_class_valid(self):
|
|
def test_get_provider_class_valid(self):
|
|
|
"""
|
|
"""
|
|
|
Searching for a provider class with a known name should return a valid
|
|
Searching for a provider class with a known name should return a valid
|
|
|
class
|
|
class
|
|
|
"""
|
|
"""
|
|
|
- self.assertTrue(
|
|
|
|
|
- CloudProviderFactory().get_provider_class(
|
|
|
|
|
- factory.ProviderList.AWS))
|
|
|
|
|
self.assertEqual(CloudProviderFactory().get_provider_class(
|
|
self.assertEqual(CloudProviderFactory().get_provider_class(
|
|
|
- factory.ProviderList.AWS, version=1),
|
|
|
|
|
- AWSCloudProviderV1)
|
|
|
|
|
|
|
+ factory.ProviderList.AWS), AWSCloudProvider)
|
|
|
|
|
|
|
|
def test_get_provider_class_invalid(self):
|
|
def test_get_provider_class_invalid(self):
|
|
|
"""
|
|
"""
|
|
|
- Searching for a provider class with an invalid name or version should
|
|
|
|
|
|
|
+ Searching for a provider class with an invalid name should
|
|
|
return None
|
|
return None
|
|
|
"""
|
|
"""
|
|
|
self.assertIsNone(CloudProviderFactory().get_provider_class("aws1"))
|
|
self.assertIsNone(CloudProviderFactory().get_provider_class("aws1"))
|
|
|
- self.assertIsNone(CloudProviderFactory().get_provider_class(
|
|
|
|
|
- factory.ProviderList.AWS,
|
|
|
|
|
- version=100))
|
|
|