summaryrefslogtreecommitdiff
path: root/tests/unittests/test_handler/test_handler_apt_conf_v1.py
diff options
context:
space:
mode:
authorBrett Holman <bholman.devel@gmail.com>2021-12-03 13:11:46 -0700
committerGitHub <noreply@github.com>2021-12-03 13:11:46 -0700
commit039c40f9b3d88ee8158604bb18ca4bf2fb5d5e51 (patch)
tree5f1b09486ccaf98ee8159de58d9a2a1ef0af5dc1 /tests/unittests/test_handler/test_handler_apt_conf_v1.py
parentffa6fc88249aa080aa31811a45569a45e567418a (diff)
downloadvyos-cloud-init-039c40f9b3d88ee8158604bb18ca4bf2fb5d5e51.tar.gz
vyos-cloud-init-039c40f9b3d88ee8158604bb18ca4bf2fb5d5e51.zip
Reorganize unit test locations under tests/unittests (#1126)
This attempts to standardize unit test file location under test/unittests/ such that any source file located at cloudinit/path/to/file.py may have a corresponding unit test file at test/unittests/path/to/test_file.py. Noteworthy Comments: ==================== Four different duplicate test files existed: test_{gpg,util,cc_mounts,cc_resolv_conf}.py Each of these duplicate file pairs has been merged together. This is a break in git history for these files. The test suite appears to have a dependency on test order. Changing test order causes some tests to fail. This should be rectified, but for now some tests have been modified in tests/unittests/config/test_set_passwords.py. A helper class name starts with "Test" which causes pytest to try executing it as a test case, which then throws warnings "due to Class having __init__()". Silence by changing the name of the class. # helpers.py is imported in many test files, import paths change cloudinit/tests/helpers.py -> tests/unittests/helpers.py # Move directories: cloudinit/distros/tests -> tests/unittests/distros cloudinit/cmd/devel/tests -> tests/unittests/cmd/devel cloudinit/cmd/tests -> tests/unittests/cmd/ cloudinit/sources/helpers/tests -> tests/unittests/sources/helpers cloudinit/sources/tests -> tests/unittests/sources cloudinit/net/tests -> tests/unittests/net cloudinit/config/tests -> tests/unittests/config cloudinit/analyze/tests/ -> tests/unittests/analyze/ # Standardize tests already in tests/unittests/ test_datasource -> sources test_distros -> distros test_vmware -> sources/vmware test_handler -> config # this contains cloudconfig module tests test_runs -> runs
Diffstat (limited to 'tests/unittests/test_handler/test_handler_apt_conf_v1.py')
-rw-r--r--tests/unittests/test_handler/test_handler_apt_conf_v1.py129
1 files changed, 0 insertions, 129 deletions
diff --git a/tests/unittests/test_handler/test_handler_apt_conf_v1.py b/tests/unittests/test_handler/test_handler_apt_conf_v1.py
deleted file mode 100644
index 6a4b03ee..00000000
--- a/tests/unittests/test_handler/test_handler_apt_conf_v1.py
+++ /dev/null
@@ -1,129 +0,0 @@
-# This file is part of cloud-init. See LICENSE file for license information.
-
-from cloudinit.config import cc_apt_configure
-from cloudinit import util
-
-from cloudinit.tests.helpers import TestCase
-
-import copy
-import os
-import re
-import shutil
-import tempfile
-
-
-class TestAptProxyConfig(TestCase):
- def setUp(self):
- super(TestAptProxyConfig, self).setUp()
- self.tmp = tempfile.mkdtemp()
- self.addCleanup(shutil.rmtree, self.tmp)
- self.pfile = os.path.join(self.tmp, "proxy.cfg")
- self.cfile = os.path.join(self.tmp, "config.cfg")
-
- def _search_apt_config(self, contents, ptype, value):
- return re.search(
- r"acquire::%s::proxy\s+[\"']%s[\"'];\n" % (ptype, value),
- contents, flags=re.IGNORECASE)
-
- def test_apt_proxy_written(self):
- cfg = {'proxy': 'myproxy'}
- cc_apt_configure.apply_apt_config(cfg, self.pfile, self.cfile)
-
- self.assertTrue(os.path.isfile(self.pfile))
- self.assertFalse(os.path.isfile(self.cfile))
-
- contents = util.load_file(self.pfile)
- self.assertTrue(self._search_apt_config(contents, "http", "myproxy"))
-
- def test_apt_http_proxy_written(self):
- cfg = {'http_proxy': 'myproxy'}
- cc_apt_configure.apply_apt_config(cfg, self.pfile, self.cfile)
-
- self.assertTrue(os.path.isfile(self.pfile))
- self.assertFalse(os.path.isfile(self.cfile))
-
- contents = util.load_file(self.pfile)
- self.assertTrue(self._search_apt_config(contents, "http", "myproxy"))
-
- def test_apt_all_proxy_written(self):
- cfg = {'http_proxy': 'myproxy_http_proxy',
- 'https_proxy': 'myproxy_https_proxy',
- 'ftp_proxy': 'myproxy_ftp_proxy'}
-
- values = {'http': cfg['http_proxy'],
- 'https': cfg['https_proxy'],
- 'ftp': cfg['ftp_proxy'],
- }
-
- cc_apt_configure.apply_apt_config(cfg, self.pfile, self.cfile)
-
- self.assertTrue(os.path.isfile(self.pfile))
- self.assertFalse(os.path.isfile(self.cfile))
-
- contents = util.load_file(self.pfile)
-
- for ptype, pval in values.items():
- self.assertTrue(self._search_apt_config(contents, ptype, pval))
-
- def test_proxy_deleted(self):
- util.write_file(self.cfile, "content doesnt matter")
- cc_apt_configure.apply_apt_config({}, self.pfile, self.cfile)
- self.assertFalse(os.path.isfile(self.pfile))
- self.assertFalse(os.path.isfile(self.cfile))
-
- def test_proxy_replaced(self):
- util.write_file(self.cfile, "content doesnt matter")
- cc_apt_configure.apply_apt_config({'proxy': "foo"},
- self.pfile, self.cfile)
- self.assertTrue(os.path.isfile(self.pfile))
- contents = util.load_file(self.pfile)
- self.assertTrue(self._search_apt_config(contents, "http", "foo"))
-
- def test_config_written(self):
- payload = 'this is my apt config'
- cfg = {'conf': payload}
-
- cc_apt_configure.apply_apt_config(cfg, self.pfile, self.cfile)
-
- self.assertTrue(os.path.isfile(self.cfile))
- self.assertFalse(os.path.isfile(self.pfile))
-
- self.assertEqual(util.load_file(self.cfile), payload)
-
- def test_config_replaced(self):
- util.write_file(self.pfile, "content doesnt matter")
- cc_apt_configure.apply_apt_config({'conf': "foo"},
- self.pfile, self.cfile)
- self.assertTrue(os.path.isfile(self.cfile))
- self.assertEqual(util.load_file(self.cfile), "foo")
-
- def test_config_deleted(self):
- # if no 'conf' is provided, delete any previously written file
- util.write_file(self.pfile, "content doesnt matter")
- cc_apt_configure.apply_apt_config({}, self.pfile, self.cfile)
- self.assertFalse(os.path.isfile(self.pfile))
- self.assertFalse(os.path.isfile(self.cfile))
-
-
-class TestConversion(TestCase):
- def test_convert_with_apt_mirror_as_empty_string(self):
- # an empty apt_mirror is the same as no apt_mirror
- empty_m_found = cc_apt_configure.convert_to_v3_apt_format(
- {'apt_mirror': ''})
- default_found = cc_apt_configure.convert_to_v3_apt_format({})
- self.assertEqual(default_found, empty_m_found)
-
- def test_convert_with_apt_mirror(self):
- mirror = 'http://my.mirror/ubuntu'
- f = cc_apt_configure.convert_to_v3_apt_format({'apt_mirror': mirror})
- self.assertIn(mirror, set(m['uri'] for m in f['apt']['primary']))
-
- def test_no_old_content(self):
- mirror = 'http://my.mirror/ubuntu'
- mydata = {'apt': {'primary': {'arches': ['default'], 'uri': mirror}}}
- expected = copy.deepcopy(mydata)
- self.assertEqual(expected,
- cc_apt_configure.convert_to_v3_apt_format(mydata))
-
-
-# vi: ts=4 expandtab