summaryrefslogtreecommitdiff
path: root/tests/unittests
diff options
context:
space:
mode:
authorScott Moser <smoser@brickies.net>2019-10-11 14:54:49 +0000
committerServer Team CI Bot <josh.powers+server-team-bot@canonical.com>2019-10-11 14:54:49 +0000
commit7d5d34f3643a2108d667759f57a5ab63d0affadd (patch)
tree4ec5678e67e6100cd9863e344b98664bf95caa4d /tests/unittests
parentd3b1c4ae6bd237a04ba5df4306ff38f752f72132 (diff)
downloadvyos-cloud-init-7d5d34f3643a2108d667759f57a5ab63d0affadd.tar.gz
vyos-cloud-init-7d5d34f3643a2108d667759f57a5ab63d0affadd.zip
Add Support for e24cloud to Ec2 datasource.
e24cloud provides an EC2 compatible datasource. This just identifies their platform based on dmi 'system-vendor' having 'e24cloud'. https://www.e24cloud.com/en/ . Updated chassis typo in zstack unit test docstring. LP: #1696476
Diffstat (limited to 'tests/unittests')
-rw-r--r--tests/unittests/test_datasource/test_ec2.py15
-rw-r--r--tests/unittests/test_ds_identify.py18
2 files changed, 31 insertions, 2 deletions
diff --git a/tests/unittests/test_datasource/test_ec2.py b/tests/unittests/test_datasource/test_ec2.py
index 6fabf258..5e1dd777 100644
--- a/tests/unittests/test_datasource/test_ec2.py
+++ b/tests/unittests/test_datasource/test_ec2.py
@@ -672,13 +672,14 @@ class TesIdentifyPlatform(test_helpers.CiTestCase):
'serial': 'H23-C4J3JV-R6',
'uuid': '81c7e555-6471-4833-9551-1ab366c4cfd2',
'uuid_source': 'dmi',
+ 'vendor': 'tothecloud',
}
unspecial.update(**kwargs)
return unspecial
@mock.patch('cloudinit.sources.DataSourceEc2._collect_platform_data')
def test_identify_zstack(self, m_collect):
- """zstack should be identified if cassis-asset-tag ends in .zstack.io
+ """zstack should be identified if chassis-asset-tag ends in .zstack.io
"""
m_collect.return_value = self.collmock(asset_tag='123456.zstack.io')
self.assertEqual(ec2.CloudNames.ZSTACK, ec2.identify_platform())
@@ -690,4 +691,16 @@ class TesIdentifyPlatform(test_helpers.CiTestCase):
m_collect.return_value = self.collmock(asset_tag='123456.buzzstack.io')
self.assertEqual(ec2.CloudNames.UNKNOWN, ec2.identify_platform())
+ @mock.patch('cloudinit.sources.DataSourceEc2._collect_platform_data')
+ def test_identify_e24cloud(self, m_collect):
+ """e24cloud identified if vendor is e24cloud"""
+ m_collect.return_value = self.collmock(vendor='e24cloud')
+ self.assertEqual(ec2.CloudNames.E24CLOUD, ec2.identify_platform())
+
+ @mock.patch('cloudinit.sources.DataSourceEc2._collect_platform_data')
+ def test_identify_e24cloud_negative(self, m_collect):
+ """e24cloud identified if vendor is e24cloud"""
+ m_collect.return_value = self.collmock(vendor='e24cloudyday')
+ self.assertEqual(ec2.CloudNames.UNKNOWN, ec2.identify_platform())
+
# vi: ts=4 expandtab
diff --git a/tests/unittests/test_ds_identify.py b/tests/unittests/test_ds_identify.py
index c5b5c46c..12c6ae36 100644
--- a/tests/unittests/test_ds_identify.py
+++ b/tests/unittests/test_ds_identify.py
@@ -616,6 +616,14 @@ class TestDsIdentify(DsIdentifyBase):
"""EC2: chassis asset tag ends with 'zstack.io'"""
self._test_ds_found('Ec2-ZStack')
+ def test_e24cloud_is_ec2(self):
+ """EC2: e24cloud identified by sys_vendor"""
+ self._test_ds_found('Ec2-E24Cloud')
+
+ def test_e24cloud_not_active(self):
+ """EC2: bobrightbox.com in product_serial is not brightbox'"""
+ self._test_ds_not_found('Ec2-E24Cloud-negative')
+
class TestIsIBMProvisioning(DsIdentifyBase):
"""Test the is_ibm_provisioning method in ds-identify."""
@@ -994,7 +1002,15 @@ VALID_CFG = {
'Ec2-ZStack': {
'ds': 'Ec2',
'files': {P_CHASSIS_ASSET_TAG: '123456.zstack.io\n'},
- }
+ },
+ 'Ec2-E24Cloud': {
+ 'ds': 'Ec2',
+ 'files': {P_SYS_VENDOR: 'e24cloud\n'},
+ },
+ 'Ec2-E24Cloud-negative': {
+ 'ds': 'Ec2',
+ 'files': {P_SYS_VENDOR: 'e24cloudyday\n'},
+ }
}
# vi: ts=4 expandtab