diff options
author | Scott Moser <smoser@brickies.net> | 2017-03-27 12:43:15 -0400 |
---|---|---|
committer | Scott Moser <smoser@brickies.net> | 2017-03-27 16:43:25 -0400 |
commit | 328fe5ab399b1f5b48d1985f41fc2ef66e368922 (patch) | |
tree | 97408b3b7d18aa783d55d9f3c522026e661a326d /tests/unittests/test_datasource/test_gce.py | |
parent | 21632972df034c200578e1fbc121a07f20bb8774 (diff) | |
download | vyos-cloud-init-328fe5ab399b1f5b48d1985f41fc2ef66e368922.tar.gz vyos-cloud-init-328fe5ab399b1f5b48d1985f41fc2ef66e368922.zip |
GCE: Search GCE in ds-identify, consider serial number in check.
While documentation indicates that the smbios product name should
contain 'Google Compute Engine', experimentation and bug reports
indicate that is not always the case. The change here is to change
the check for GCE to also consider a serial number that starts with
'GoogleCompute-'.
Also, ds-identify was not currently searching for GCE if no config of
datasource_list was found. Most images have a datasource_list defined.
So update the list to include GCE.
LP: #1674861
Diffstat (limited to 'tests/unittests/test_datasource/test_gce.py')
-rw-r--r-- | tests/unittests/test_datasource/test_gce.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/unittests/test_datasource/test_gce.py b/tests/unittests/test_datasource/test_gce.py index 4f83454e..3eaa58e3 100644 --- a/tests/unittests/test_datasource/test_gce.py +++ b/tests/unittests/test_datasource/test_gce.py @@ -5,6 +5,7 @@ # This file is part of cloud-init. See LICENSE file for license information. import httpretty +import mock import re from base64 import b64encode, b64decode @@ -71,6 +72,11 @@ class TestDataSourceGCE(test_helpers.HttprettyTestCase): self.ds = DataSourceGCE.DataSourceGCE( settings.CFG_BUILTIN, None, helpers.Paths({})) + self.m_platform_reports_gce = mock.patch( + 'cloudinit.sources.DataSourceGCE.platform_reports_gce', + return_value=True) + self.m_platform_reports_gce.start() + self.addCleanup(self.m_platform_reports_gce.stop) super(TestDataSourceGCE, self).setUp() def test_connection(self): @@ -153,7 +159,13 @@ class TestDataSourceGCE(test_helpers.HttprettyTestCase): def test_only_last_part_of_zone_used_for_availability_zone(self): _set_mock_metadata() - self.ds.get_data() + r = self.ds.get_data() + self.assertEqual(True, r) self.assertEqual('bar', self.ds.availability_zone) + def test_get_data_returns_false_if_not_on_gce(self): + self.m_platform_reports_gce.return_value = False + self.assertEqual(False, self.ds.get_data()) + + # vi: ts=4 expandtab |