def test_edge_main_community_testing_repos(self): """ Test when details of main, community and testing repos for Edge version of Alpine are written to file. """ alpine_version = 'edge' config = { "apk_repos": { "alpine_repo": { "version": alpine_version, "community_enabled": True, "testing_enabled": True } } } cc_apk_configure.handle(self.name, config, self.cloud, self.log, self.args) expected_content = textwrap.dedent("""\ # # Created by cloud-init # # This file is written on first boot of an instance # {0}/{1}/main {0}/{1}/community {0}/{1}/testing """.format(DEFAULT_MIRROR_URL, alpine_version)) self.assertEqual(expected_content, util.load_file(REPO_FILE))
def test_only_main_repo(self): """ Test when only details of main repo is written to file. """ alpine_version = 'v3.12' config = { "apk_repos": { "alpine_repo": { "version": alpine_version } } } cc_apk_configure.handle(self.name, config, self.cloud, self.log, self.args) expected_content = textwrap.dedent("""\ # # Created by cloud-init # # This file is written on first boot of an instance # {0}/{1}/main """.format(DEFAULT_MIRROR_URL, alpine_version)) self.assertEqual(expected_content, util.load_file(REPO_FILE))
def test_empty_repo_settings(self, m_write_repos): """ Test that nothing is written if 'alpine_repo' list is empty. """ config = {"apk_repos": {"alpine_repo": []}} cc_apk_configure.handle(self.name, config, self.cloud, self.log, self.args) self.assertEqual(0, m_write_repos.call_count)
def test_no_repo_settings(self, m_write_repos): """ Test that nothing is written if the 'alpine-repo' key is not present. """ config = {"apk_repos": {}} cc_apk_configure.handle(self.name, config, self.cloud, self.log, self.args) self.assertEqual(0, m_write_repos.call_count)
def test_no_config(self): """ Test that nothing is done if no apk-configure configuration is provided. """ config = util.get_builtin_cfg() cc_apk_configure.handle(self.name, config, self.cloud_init, self.log, self.args) self.assertEqual(0, self.m_write_repos.call_count)
def test_main_community_testing_local_repos(self): """ Test when details of main, community, testing and local repos are written to file. """ alpine_version = 'v3.12' local_repo_url = 'http://some.mirror/whereever' config = { "apk_repos": { "alpine_repo": { "version": alpine_version, "community_enabled": True, "testing_enabled": True }, "local_repo_base_url": local_repo_url } } cc_apk_configure.handle(self.name, config, self.cloud, self.log, self.args) expected_content = textwrap.dedent("""\ # # Created by cloud-init # # This file is written on first boot of an instance # {0}/{1}/main {0}/{1}/community # # Testing - using with non-Edge installation may cause problems! # {0}/edge/testing # # Local repo # {2}/{1} """.format(DEFAULT_MIRROR_URL, alpine_version, local_repo_url)) self.assertEqual(expected_content, util.load_file(REPO_FILE))