summaryrefslogtreecommitdiff
path: root/tests/unittests/test_handler/test_handler_set_hostname.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unittests/test_handler/test_handler_set_hostname.py')
-rw-r--r--tests/unittests/test_handler/test_handler_set_hostname.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/unittests/test_handler/test_handler_set_hostname.py b/tests/unittests/test_handler/test_handler_set_hostname.py
index 73641b70..32ca3b7e 100644
--- a/tests/unittests/test_handler/test_handler_set_hostname.py
+++ b/tests/unittests/test_handler/test_handler_set_hostname.py
@@ -120,6 +120,32 @@ class TestHostname(t_help.FilesystemMockingTestCase):
contents = util.load_file(distro.hostname_conf_fn)
self.assertEqual('blah', contents.strip())
+ @mock.patch('cloudinit.distros.Distro.uses_systemd', return_value=False)
+ def test_photon_hostname(self, m_uses_systemd):
+ cfg1 = {
+ 'hostname': 'photon',
+ 'prefer_fqdn_over_hostname': True,
+ 'fqdn': 'test1.vmware.com',
+ }
+ cfg2 = {
+ 'hostname': 'photon',
+ 'prefer_fqdn_over_hostname': False,
+ 'fqdn': 'test2.vmware.com',
+ }
+
+ ds = None
+ distro = self._fetch_distro('photon', cfg1)
+ paths = helpers.Paths({'cloud_dir': self.tmp})
+ cc = cloud.Cloud(ds, paths, {}, distro, None)
+ self.patchUtils(self.tmp)
+ for c in [cfg1, cfg2]:
+ cc_set_hostname.handle('cc_set_hostname', c, cc, LOG, [])
+ contents = util.load_file(distro.hostname_conf_fn, decode=True)
+ if c['prefer_fqdn_over_hostname']:
+ self.assertEqual(contents.strip(), c['fqdn'])
+ else:
+ self.assertEqual(contents.strip(), c['hostname'])
+
def test_multiple_calls_skips_unchanged_hostname(self):
"""Only new hostname or fqdn values will generate a hostname call."""
distro = self._fetch_distro('debian')