summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Ehrhardt <christian.ehrhardt@canonical.com>2016-05-12 13:43:59 +0200
committerChristian Ehrhardt <christian.ehrhardt@canonical.com>2016-05-12 13:43:59 +0200
commit6fc583a4bcb49f7dbecdac095bc63e90dd6edaf3 (patch)
tree62706ffc9fbac7bb86c10b4e8c5d3040a8a1ca64
parent83f2351bba273273d04759ebacd2a25df9045090 (diff)
downloadvyos-cloud-init-6fc583a4bcb49f7dbecdac095bc63e90dd6edaf3.tar.gz
vyos-cloud-init-6fc583a4bcb49f7dbecdac095bc63e90dd6edaf3.zip
test mirror list with failing mirror
-rw-r--r--cloudinit/config/cc_apt_configure.py1
-rw-r--r--tests/unittests/test_handler/test_handler_apt_configure_sources_list.py23
2 files changed, 20 insertions, 4 deletions
diff --git a/cloudinit/config/cc_apt_configure.py b/cloudinit/config/cc_apt_configure.py
index 1d3eddff..ccbdcbc1 100644
--- a/cloudinit/config/cc_apt_configure.py
+++ b/cloudinit/config/cc_apt_configure.py
@@ -57,6 +57,7 @@ def handle(name, cfg, cloud, log, _args):
release = get_release()
mirrors = find_apt_mirror_info(cloud, cfg)
+ print(mirrors)
if not mirrors or "primary" not in mirrors:
log.debug(("Skipping module named %s,"
" no package 'mirror' located"), name)
diff --git a/tests/unittests/test_handler/test_handler_apt_configure_sources_list.py b/tests/unittests/test_handler/test_handler_apt_configure_sources_list.py
index aff272a3..bac2da24 100644
--- a/tests/unittests/test_handler/test_handler_apt_configure_sources_list.py
+++ b/tests/unittests/test_handler/test_handler_apt_configure_sources_list.py
@@ -58,14 +58,20 @@ class TestAptSourceConfigSourceList(t_help.FilesystemMockingTestCase):
# TODO Later - custom template filename
# TODO Later - custom template raw
- def apt_source_list(self, distro, mirror):
+ def apt_source_list(self, distro, mirror, mirrorcheck=None):
""" apt_source_list
Test rendering of a source.list from template for a given distro
"""
self.patchOS(self.new_root)
self.patchUtils(self.new_root)
- cfg = {'apt_mirror': mirror}
+ if mirrorcheck is None:
+ mirrorcheck = mirror
+
+ if isinstance(mirror, list):
+ cfg = {'apt_mirror_search': mirror}
+ else:
+ cfg = {'apt_mirror': mirror}
mycloud = self._get_cloud(distro)
with mock.patch.object(templater, 'render_to_file') as mocktmpl:
@@ -81,9 +87,9 @@ class TestAptSourceConfigSourceList(t_help.FilesystemMockingTestCase):
'/etc/apt/sources.list',
{'codename': '',
'primary':
- mirror,
+ mirrorcheck,
'mirror':
- mirror})
+ mirrorcheck})
def test_apt_source_list_ubuntu(self):
@@ -100,4 +106,13 @@ class TestAptSourceConfigSourceList(t_help.FilesystemMockingTestCase):
self.apt_source_list('debian', 'ftp.us.debian.org')
+ def test_apt_srcl_ubuntu_mirrorfail(self):
+ """ test_apt_source_list_ubuntu_mirrorfail
+ Test rendering of a source.list from template for ubuntu
+ """
+ self.apt_source_list('ubuntu', ['http://does.not.exist',
+ 'http://archive.ubuntu.com/ubuntu/'],
+ 'http://archive.ubuntu.com/ubuntu/')
+
+
# vi: ts=4 expandtab