Exemple #1
0
 def test_locale_rhel_defaults_en_us_utf8(self):
     """Test cc_locale gets en_US.UTF-8 from distro get_locale fallback"""
     cfg = {}
     cc = get_cloud("rhel")
     update_sysconfig = "cloudinit.distros.rhel_util.update_sysconfig_file"
     with mock.patch.object(cc.distro, "uses_systemd") as m_use_sd:
         m_use_sd.return_value = True
         with mock.patch(update_sysconfig) as m_update_syscfg:
             cc_locale.handle("cc_locale", cfg, cc, LOG, [])
             m_update_syscfg.assert_called_with("/etc/locale.conf",
                                                {"LANG": "en_US.UTF-8"})
    def test_set_locale_sles(self):

        cfg = {
            'locale': 'My.Locale',
        }
        cc = self._get_cloud('sles')
        cc_locale.handle('cc_locale', cfg, cc, LOG, [])

        contents = util.load_file('/etc/sysconfig/language')
        n_cfg = ConfigObj(StringIO(contents))
        self.assertEquals({'RC_LANG': cfg['locale']}, dict(n_cfg))
 def test_locale_rhel_defaults_en_us_utf8(self):
     """Test cc_locale gets en_US.UTF-8 from distro get_locale fallback"""
     cfg = {}
     cc = self._get_cloud('rhel')
     update_sysconfig = 'cloudinit.distros.rhel_util.update_sysconfig_file'
     with mock.patch.object(cc.distro, 'uses_systemd') as m_use_sd:
         m_use_sd.return_value = True
         with mock.patch(update_sysconfig) as m_update_syscfg:
             cc_locale.handle('cc_locale', cfg, cc, LOG, [])
             m_update_syscfg.assert_called_with('/etc/locale.conf',
                                                {'LANG': 'en_US.UTF-8'})
Exemple #4
0
 def test_locale_rhel_defaults_en_us_utf8(self):
     """Test cc_locale gets en_US.UTF-8 from distro get_locale fallback"""
     cfg = {}
     cc = self._get_cloud('rhel')
     update_sysconfig = 'cloudinit.distros.rhel_util.update_sysconfig_file'
     with mock.patch.object(cc.distro, 'uses_systemd') as m_use_sd:
         m_use_sd.return_value = True
         with mock.patch(update_sysconfig) as m_update_syscfg:
             cc_locale.handle('cc_locale', cfg, cc, LOG, [])
             m_update_syscfg.assert_called_with('/etc/locale.conf',
                                                {'LANG': 'en_US.UTF-8'})
Exemple #5
0
 def test_locale_update_config_if_different_than_default(self):
     """Test cc_locale writes updates conf if different than default"""
     locale_conf = os.path.join(self.new_root, "etc/default/locale")
     util.write_file(locale_conf, 'LANG="en_US.UTF-8"\n')
     cfg = {'locale': 'C.UTF-8'}
     cc = self._get_cloud('ubuntu')
     with mock.patch('cloudinit.distros.debian.subp.subp') as m_subp:
         with mock.patch('cloudinit.distros.debian.LOCALE_CONF_FN',
                         locale_conf):
             cc_locale.handle('cc_locale', cfg, cc, LOG, [])
             m_subp.assert_called_with(['update-locale',
                                        '--locale-file=%s' % locale_conf,
                                        'LANG=C.UTF-8'], capture=False)
 def test_locale_update_config_if_different_than_default(self):
     """Test cc_locale writes updates conf if different than default"""
     locale_conf = os.path.join(self.new_root, "etc/default/locale")
     util.write_file(locale_conf, 'LANG="en_US.UTF-8"\n')
     cfg = {'locale': 'C.UTF-8'}
     cc = self._get_cloud('ubuntu')
     with mock.patch('cloudinit.distros.debian.util.subp') as m_subp:
         with mock.patch('cloudinit.distros.debian.LOCALE_CONF_FN',
                         locale_conf):
             cc_locale.handle('cc_locale', cfg, cc, LOG, [])
             m_subp.assert_called_with(['update-locale',
                                        '--locale-file=%s' % locale_conf,
                                        'LANG=C.UTF-8'], capture=False)
Exemple #7
0
    def test_set_locale_sles_default(self):
        cfg = {}
        cc = get_cloud("sles")
        cc_locale.handle("cc_locale", cfg, cc, LOG, [])

        if cc.distro.uses_systemd():
            locale_conf = cc.distro.systemd_locale_conf_fn
            keyname = "LANG"
        else:
            locale_conf = cc.distro.locale_conf_fn
            keyname = "RC_LANG"

        contents = util.load_file(locale_conf, decode=False)
        n_cfg = ConfigObj(BytesIO(contents))
        self.assertEqual({keyname: "en_US.UTF-8"}, dict(n_cfg))
Exemple #8
0
    def test_set_locale_sles_default(self):
        cfg = {}
        cc = self._get_cloud('sles')
        cc_locale.handle('cc_locale', cfg, cc, LOG, [])

        if cc.distro.uses_systemd():
            locale_conf = cc.distro.systemd_locale_conf_fn
            keyname = 'LANG'
        else:
            locale_conf = cc.distro.locale_conf_fn
            keyname = 'RC_LANG'

        contents = util.load_file(locale_conf, decode=False)
        n_cfg = ConfigObj(BytesIO(contents))
        self.assertEqual({keyname: 'en_US.UTF-8'}, dict(n_cfg))
    def test_set_locale_sles_default(self):
        cfg = {}
        cc = self._get_cloud('sles')
        cc_locale.handle('cc_locale', cfg, cc, LOG, [])

        if cc.distro.uses_systemd():
            locale_conf = cc.distro.systemd_locale_conf_fn
            keyname = 'LANG'
        else:
            locale_conf = cc.distro.locale_conf_fn
            keyname = 'RC_LANG'

        contents = util.load_file(locale_conf, decode=False)
        n_cfg = ConfigObj(BytesIO(contents))
        self.assertEqual({keyname: 'en_US.UTF-8'}, dict(n_cfg))
Exemple #10
0
    def test_set_locale_sles(self):

        cfg = {
            "locale": "My.Locale",
        }
        cc = get_cloud("sles")
        cc_locale.handle("cc_locale", cfg, cc, LOG, [])
        if cc.distro.uses_systemd():
            locale_conf = cc.distro.systemd_locale_conf_fn
        else:
            locale_conf = cc.distro.locale_conf_fn
        contents = util.load_file(locale_conf, decode=False)
        n_cfg = ConfigObj(BytesIO(contents))
        if cc.distro.uses_systemd():
            self.assertEqual({"LANG": cfg["locale"]}, dict(n_cfg))
        else:
            self.assertEqual({"RC_LANG": cfg["locale"]}, dict(n_cfg))
Exemple #11
0
    def test_set_locale_sles(self):

        cfg = {
            'locale': 'My.Locale',
        }
        cc = self._get_cloud('sles')
        cc_locale.handle('cc_locale', cfg, cc, LOG, [])
        if cc.distro.uses_systemd():
            locale_conf = cc.distro.systemd_locale_conf_fn
        else:
            locale_conf = cc.distro.locale_conf_fn
        contents = util.load_file(locale_conf, decode=False)
        n_cfg = ConfigObj(BytesIO(contents))
        if cc.distro.uses_systemd():
            self.assertEqual({'LANG': cfg['locale']}, dict(n_cfg))
        else:
            self.assertEqual({'RC_LANG': cfg['locale']}, dict(n_cfg))
    def test_set_locale_sles(self):

        cfg = {
            'locale': 'My.Locale',
        }
        cc = self._get_cloud('sles')
        cc_locale.handle('cc_locale', cfg, cc, LOG, [])
        if cc.distro.uses_systemd():
            locale_conf = cc.distro.systemd_locale_conf_fn
        else:
            locale_conf = cc.distro.locale_conf_fn
        contents = util.load_file(locale_conf, decode=False)
        n_cfg = ConfigObj(BytesIO(contents))
        if cc.distro.uses_systemd():
            self.assertEqual({'LANG': cfg['locale']}, dict(n_cfg))
        else:
            self.assertEqual({'RC_LANG': cfg['locale']}, dict(n_cfg))
Exemple #13
0
 def test_locale_update_config_if_different_than_default(self):
     """Test cc_locale writes updates conf if different than default"""
     locale_conf = os.path.join(self.new_root, "etc/default/locale")
     util.write_file(locale_conf, 'LANG="en_US.UTF-8"\n')
     cfg = {"locale": "C.UTF-8"}
     cc = get_cloud("ubuntu")
     with mock.patch("cloudinit.distros.debian.subp.subp") as m_subp:
         with mock.patch("cloudinit.distros.debian.LOCALE_CONF_FN",
                         locale_conf):
             cc_locale.handle("cc_locale", cfg, cc, LOG, [])
             m_subp.assert_called_with(
                 [
                     "update-locale",
                     "--locale-file=%s" % locale_conf,
                     "LANG=C.UTF-8",
                 ],
                 capture=False,
             )
    def test_set_locale_arch(self):
        locale = 'en_GB.UTF-8'
        locale_configfile = '/etc/invalid-locale-path'
        cfg = {
            'locale': locale,
            'locale_configfile': locale_configfile,
        }
        cc = get_cloud('arch')

        with mock.patch('cloudinit.distros.arch.subp.subp') as m_subp:
            with mock.patch('cloudinit.distros.arch.LOG.warning') as m_LOG:
                cc_locale.handle('cc_locale', cfg, cc, LOG, [])
                m_LOG.assert_called_with(
                    'Invalid locale_configfile %s, '
                    'only supported value is '
                    '/etc/locale.conf', locale_configfile)

                contents = util.load_file(cc.distro.locale_gen_fn)
                self.assertIn('%s UTF-8' % locale, contents)
                m_subp.assert_called_with(['localectl', 'set-locale', locale],
                                          capture=False)
Exemple #15
0
    def test_set_locale_arch(self):
        locale = "en_GB.UTF-8"
        locale_configfile = "/etc/invalid-locale-path"
        cfg = {
            "locale": locale,
            "locale_configfile": locale_configfile,
        }
        cc = get_cloud("arch")

        with mock.patch("cloudinit.distros.arch.subp.subp") as m_subp:
            with mock.patch("cloudinit.distros.arch.LOG.warning") as m_LOG:
                cc_locale.handle("cc_locale", cfg, cc, LOG, [])
                m_LOG.assert_called_with(
                    "Invalid locale_configfile %s, "
                    "only supported value is "
                    "/etc/locale.conf",
                    locale_configfile,
                )

                contents = util.load_file(cc.distro.locale_gen_fn)
                self.assertIn("%s UTF-8" % locale, contents)
                m_subp.assert_called_with(["localectl", "set-locale", locale],
                                          capture=False)