diff options
author | Brett Holman <bholman.devel@gmail.com> | 2022-01-14 11:09:30 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-14 12:09:30 -0600 |
commit | 73b1bb1f7665216053494717de27d7daf445d751 (patch) | |
tree | 8f230d980bc7fe3b173da0a4a6f0e38cda57537e /tests/unittests | |
parent | 0de7acb194dc15650eee1d5332efed82ef162f84 (diff) | |
download | vyos-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.py | 26 |
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()) |