diff options
Diffstat (limited to 'tests/unittests/sources/test_openstack.py')
-rw-r--r-- | tests/unittests/sources/test_openstack.py | 132 |
1 files changed, 43 insertions, 89 deletions
diff --git a/tests/unittests/sources/test_openstack.py b/tests/unittests/sources/test_openstack.py index 0d807749..1a2f5924 100644 --- a/tests/unittests/sources/test_openstack.py +++ b/tests/unittests/sources/test_openstack.py @@ -301,12 +301,12 @@ class TestOpenStackDataSource(test_helpers.ResponsesTestCase): responses_mock=self.responses, ) distro = mock.MagicMock(spec=Distro) - distro.is_virtual = False ds_os = ds.DataSourceOpenStack( settings.CFG_BUILTIN, distro, helpers.Paths({"run_dir": self.tmp}) ) self.assertIsNone(ds_os.version) - self.assertTrue(ds_os.get_data()) + with mock.patch.object(ds_os, "ds_detect", return_value=True): + self.assertTrue(ds_os.get_data()) self.assertEqual(2, ds_os.version) md = dict(ds_os.metadata) md.pop("instance-id", None) @@ -351,7 +351,7 @@ class TestOpenStackDataSource(test_helpers.ResponsesTestCase): self.assertIsNone(ds_os_local.version) with test_helpers.mock.patch.object( - ds_os_local, "detect_openstack" + ds_os_local, "ds_detect" ) as m_detect_os: m_detect_os.return_value = True found = ds_os_local.get_data() @@ -383,9 +383,7 @@ class TestOpenStackDataSource(test_helpers.ResponsesTestCase): settings.CFG_BUILTIN, distro, helpers.Paths({"run_dir": self.tmp}) ) self.assertIsNone(ds_os.version) - with test_helpers.mock.patch.object( - ds_os, "detect_openstack" - ) as m_detect_os: + with test_helpers.mock.patch.object(ds_os, "ds_detect") as m_detect_os: m_detect_os.return_value = True found = ds_os.get_data() self.assertFalse(found) @@ -414,7 +412,8 @@ class TestOpenStackDataSource(test_helpers.ResponsesTestCase): "timeout": 0, } self.assertIsNone(ds_os.version) - self.assertFalse(ds_os.get_data()) + with mock.patch.object(ds_os, "ds_detect", return_value=True): + self.assertFalse(ds_os.get_data()) self.assertIsNone(ds_os.version) def test_network_config_disabled_by_datasource_config(self): @@ -489,9 +488,7 @@ class TestOpenStackDataSource(test_helpers.ResponsesTestCase): "timeout": 0, } self.assertIsNone(ds_os.version) - with test_helpers.mock.patch.object( - ds_os, "detect_openstack" - ) as m_detect_os: + with test_helpers.mock.patch.object(ds_os, "ds_detect") as m_detect_os: m_detect_os.return_value = True found = ds_os.get_data() self.assertFalse(found) @@ -589,53 +586,17 @@ class TestDetectOpenStack(test_helpers.CiTestCase): settings.CFG_BUILTIN, distro, helpers.Paths({"run_dir": self.tmp}) ) - def test_detect_openstack_non_intel_x86(self, m_is_x86): + def test_ds_detect_non_intel_x86(self, m_is_x86): """Return True on non-intel platforms because dmi isn't conclusive.""" m_is_x86.return_value = False self.assertTrue( - self._fake_ds().detect_openstack(), - "Expected detect_openstack == True", + self._fake_ds().ds_detect(), + "Expected ds_detect == True", ) - def test_detect_openstack_bare_metal(self, m_is_x86): - """Return True if the distro is non-virtual.""" - m_is_x86.return_value = True - - distro = mock.MagicMock(spec=Distro) - distro.is_virtual = False - - fake_ds = self._fake_ds() - fake_ds.distro = distro - - self.assertFalse( - fake_ds.distro.is_virtual, - "Expected distro.is_virtual == False", - ) - - with test_helpers.mock.patch.object( - fake_ds, "wait_for_metadata_service" - ) as m_wait_for_metadata_service: - m_wait_for_metadata_service.return_value = True - - self.assertTrue( - fake_ds.wait_for_metadata_service(), - "Expected wait_for_metadata_service == True", - ) - - self.assertTrue( - fake_ds.detect_openstack(), "Expected detect_openstack == True" - ) - - self.assertTrue( - m_wait_for_metadata_service.called, - "Expected wait_for_metadata_service to be called", - ) - @test_helpers.mock.patch(MOCK_PATH + "util.get_proc_env") @test_helpers.mock.patch(MOCK_PATH + "dmi.read_dmi_data") - def test_not_detect_openstack_intel_x86_ec2( - self, m_dmi, m_proc_env, m_is_x86 - ): + def test_not_ds_detect_intel_x86_ec2(self, m_dmi, m_proc_env, m_is_x86): """Return False on EC2 platforms.""" m_is_x86.return_value = True # No product_name in proc/1/environ @@ -650,15 +611,13 @@ class TestDetectOpenStack(test_helpers.CiTestCase): m_dmi.side_effect = fake_dmi_read self.assertFalse( - self._fake_ds().detect_openstack(), - "Expected detect_openstack == False on EC2", + self._fake_ds().ds_detect(), + "Expected ds_detect == False on EC2", ) m_proc_env.assert_called_with(1) @test_helpers.mock.patch(MOCK_PATH + "dmi.read_dmi_data") - def test_detect_openstack_intel_product_name_compute( - self, m_dmi, m_is_x86 - ): + def test_ds_detect_intel_product_name_compute(self, m_dmi, m_is_x86): """Return True on OpenStack compute and nova instances.""" m_is_x86.return_value = True openstack_product_names = ["OpenStack Nova", "OpenStack Compute"] @@ -666,12 +625,12 @@ class TestDetectOpenStack(test_helpers.CiTestCase): for product_name in openstack_product_names: m_dmi.return_value = product_name self.assertTrue( - self._fake_ds().detect_openstack(), - "Failed to detect_openstack", + self._fake_ds().ds_detect(), + "Failed to ds_detect", ) @test_helpers.mock.patch(MOCK_PATH + "dmi.read_dmi_data") - def test_detect_openstack_opentelekomcloud_chassis_asset_tag( + def test_ds_detect_opentelekomcloud_chassis_asset_tag( self, m_dmi, m_is_x86 ): """Return True on OpenStack reporting OpenTelekomCloud asset-tag.""" @@ -686,14 +645,12 @@ class TestDetectOpenStack(test_helpers.CiTestCase): m_dmi.side_effect = fake_dmi_read self.assertTrue( - self._fake_ds().detect_openstack(), - "Expected detect_openstack == True on OpenTelekomCloud", + self._fake_ds().ds_detect(), + "Expected ds_detect == True on OpenTelekomCloud", ) @test_helpers.mock.patch(MOCK_PATH + "dmi.read_dmi_data") - def test_detect_openstack_sapccloud_chassis_asset_tag( - self, m_dmi, m_is_x86 - ): + def test_ds_detect_sapccloud_chassis_asset_tag(self, m_dmi, m_is_x86): """Return True on OpenStack reporting SAP CCloud VM asset-tag.""" m_is_x86.return_value = True @@ -706,14 +663,12 @@ class TestDetectOpenStack(test_helpers.CiTestCase): m_dmi.side_effect = fake_dmi_read self.assertTrue( - self._fake_ds().detect_openstack(), - "Expected detect_openstack == True on SAP CCloud VM", + self._fake_ds().ds_detect(), + "Expected ds_detect == True on SAP CCloud VM", ) @test_helpers.mock.patch(MOCK_PATH + "dmi.read_dmi_data") - def test_detect_openstack_huaweicloud_chassis_asset_tag( - self, m_dmi, m_is_x86 - ): + def test_ds_detect_huaweicloud_chassis_asset_tag(self, m_dmi, m_is_x86): """Return True on OpenStack reporting Huawei Cloud VM asset-tag.""" m_is_x86.return_value = True @@ -726,14 +681,12 @@ class TestDetectOpenStack(test_helpers.CiTestCase): m_dmi.side_effect = fake_asset_tag_dmi_read self.assertTrue( - self._fake_ds().detect_openstack(), - "Expected detect_openstack == True on Huawei Cloud VM", + self._fake_ds().ds_detect(), + "Expected ds_detect == True on Huawei Cloud VM", ) @test_helpers.mock.patch(MOCK_PATH + "dmi.read_dmi_data") - def test_detect_openstack_oraclecloud_chassis_asset_tag( - self, m_dmi, m_is_x86 - ): + def test_ds_detect_oraclecloud_chassis_asset_tag(self, m_dmi, m_is_x86): """Return True on OpenStack reporting Oracle cloud asset-tag.""" m_is_x86.return_value = True @@ -745,16 +698,19 @@ class TestDetectOpenStack(test_helpers.CiTestCase): assert False, "Unexpected dmi read of %s" % dmi_key m_dmi.side_effect = fake_dmi_read + ds = self._fake_ds() + ds.sys_cfg = {"datasource_list": ["Oracle"]} self.assertTrue( - self._fake_ds().detect_openstack(accept_oracle=True), - "Expected detect_openstack == True on OracleCloud.com", + ds.ds_detect(), + "Expected ds_detect == True on OracleCloud.com", ) + ds.sys_cfg = {"datasource_list": []} self.assertFalse( - self._fake_ds().detect_openstack(accept_oracle=False), - "Expected detect_openstack == False.", + ds.ds_detect(), + "Expected ds_detect == False.", ) - def _test_detect_openstack_nova_compute_chassis_asset_tag( + def _test_ds_detect_nova_compute_chassis_asset_tag( self, m_dmi, m_is_x86, chassis_tag ): """Return True on OpenStack reporting generic asset-tag.""" @@ -769,27 +725,25 @@ class TestDetectOpenStack(test_helpers.CiTestCase): m_dmi.side_effect = fake_dmi_read self.assertTrue( - self._fake_ds().detect_openstack(), - "Expected detect_openstack == True on Generic OpenStack Platform", + self._fake_ds().ds_detect(), + "Expected ds_detect == True on Generic OpenStack Platform", ) @test_helpers.mock.patch(MOCK_PATH + "dmi.read_dmi_data") - def test_detect_openstack_nova_chassis_asset_tag(self, m_dmi, m_is_x86): - self._test_detect_openstack_nova_compute_chassis_asset_tag( + def test_ds_detect_nova_chassis_asset_tag(self, m_dmi, m_is_x86): + self._test_ds_detect_nova_compute_chassis_asset_tag( m_dmi, m_is_x86, "OpenStack Nova" ) @test_helpers.mock.patch(MOCK_PATH + "dmi.read_dmi_data") - def test_detect_openstack_compute_chassis_asset_tag(self, m_dmi, m_is_x86): - self._test_detect_openstack_nova_compute_chassis_asset_tag( + def test_ds_detect_compute_chassis_asset_tag(self, m_dmi, m_is_x86): + self._test_ds_detect_nova_compute_chassis_asset_tag( m_dmi, m_is_x86, "OpenStack Compute" ) @test_helpers.mock.patch(MOCK_PATH + "util.get_proc_env") @test_helpers.mock.patch(MOCK_PATH + "dmi.read_dmi_data") - def test_detect_openstack_by_proc_1_environ( - self, m_dmi, m_proc_env, m_is_x86 - ): + def test_ds_detect_by_proc_1_environ(self, m_dmi, m_proc_env, m_is_x86): """Return True when nova product_name specified in /proc/1/environ.""" m_is_x86.return_value = True # Nova product_name in proc/1/environ @@ -807,8 +761,8 @@ class TestDetectOpenStack(test_helpers.CiTestCase): m_dmi.side_effect = fake_dmi_read self.assertTrue( - self._fake_ds().detect_openstack(), - "Expected detect_openstack == True on OpenTelekomCloud", + self._fake_ds().ds_detect(), + "Expected ds_detect == True on OpenTelekomCloud", ) m_proc_env.assert_called_with(1) |