summaryrefslogtreecommitdiff
path: root/tests/unittests
diff options
context:
space:
mode:
authorBrett Holman <bholman.devel@gmail.com>2022-01-14 11:09:30 -0700
committerGitHub <noreply@github.com>2022-01-14 12:09:30 -0600
commit73b1bb1f7665216053494717de27d7daf445d751 (patch)
tree8f230d980bc7fe3b173da0a4a6f0e38cda57537e /tests/unittests
parent0de7acb194dc15650eee1d5332efed82ef162f84 (diff)
downloadvyos-cloud-init-73b1bb1f7665216053494717de27d7daf445d751.tar.gz
vyos-cloud-init-73b1bb1f7665216053494717de27d7daf445d751.zip
Test Optimization Proposal (SC-736) (#1188)
Reduce template rendering test runtime
Diffstat (limited to 'tests/unittests')
-rw-r--r--tests/unittests/test_render_cloudcfg.py26
1 files changed, 22 insertions, 4 deletions
diff --git a/tests/unittests/test_render_cloudcfg.py b/tests/unittests/test_render_cloudcfg.py
index 81110e61..01a728da 100644
--- a/tests/unittests/test_render_cloudcfg.py
+++ b/tests/unittests/test_render_cloudcfg.py
@@ -4,7 +4,7 @@ import sys
import pytest
-from cloudinit import subp, util
+from cloudinit import subp, templater, util
from tests.unittests.helpers import cloud_init_project_dir
# TODO(Look to align with tools.render-cloudcfg or cloudinit.distos.OSFAMILIES)
@@ -32,10 +32,22 @@ class TestRenderCloudCfg:
cmd = [sys.executable, cloud_init_project_dir("tools/render-cloudcfg")]
tmpl_path = cloud_init_project_dir("config/cloud.cfg.tmpl")
+ def test_variant_sets_distro_in_cloud_cfg_subp(self, tmpdir):
+ outfile = tmpdir.join("outcfg").strpath
+
+ subp.subp(self.cmd + ["--variant", "ubuntu", self.tmpl_path, outfile])
+ with open(outfile) as stream:
+ system_cfg = util.load_yaml(stream.read())
+ assert system_cfg["system_info"]["distro"] == "ubuntu"
+
@pytest.mark.parametrize("variant", (DISTRO_VARIANTS))
def test_variant_sets_distro_in_cloud_cfg(self, variant, tmpdir):
+ """Testing parametrized inputs with imported function saves ~0.5s per
+ call versus calling as subp
+ """
outfile = tmpdir.join("outcfg").strpath
- subp.subp(self.cmd + ["--variant", variant, self.tmpl_path, outfile])
+
+ templater.render_cloudcfg(variant, self.tmpl_path, outfile)
with open(outfile) as stream:
system_cfg = util.load_yaml(stream.read())
if variant == "unknown":
@@ -44,8 +56,11 @@ class TestRenderCloudCfg:
@pytest.mark.parametrize("variant", (DISTRO_VARIANTS))
def test_variant_sets_default_user_in_cloud_cfg(self, variant, tmpdir):
+ """Testing parametrized inputs with imported function saves ~0.5s per
+ call versus calling as subp
+ """
outfile = tmpdir.join("outcfg").strpath
- subp.subp(self.cmd + ["--variant", variant, self.tmpl_path, outfile])
+ templater.render_cloudcfg(variant, self.tmpl_path, outfile)
with open(outfile) as stream:
system_cfg = util.load_yaml(stream.read())
@@ -69,8 +84,11 @@ class TestRenderCloudCfg:
def test_variant_sets_network_renderer_priority_in_cloud_cfg(
self, variant, renderers, tmpdir
):
+ """Testing parametrized inputs with imported function saves ~0.5s per
+ call versus calling as subp
+ """
outfile = tmpdir.join("outcfg").strpath
- subp.subp(self.cmd + ["--variant", variant, self.tmpl_path, outfile])
+ templater.render_cloudcfg(variant, self.tmpl_path, outfile)
with open(outfile) as stream:
system_cfg = util.load_yaml(stream.read())