12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- """
- Test the jinja module
- """
- import os
- import salt.utils.files
- import salt.utils.json
- import salt.utils.yaml
- from tests.support.case import ModuleCase
- from tests.support.helpers import requires_system_grains
- from tests.support.runtests import RUNTIME_VARS
- class TestModulesJinja(ModuleCase):
- """
- Test the jinja map module
- """
- def _path(self, name, absolute=False):
- path = os.path.join("modules", "jinja", name)
- if absolute:
- return os.path.join(RUNTIME_VARS.BASE_FILES, path)
- else:
- return path
- def test_import_json(self):
- json_file = "osarchmap.json"
- ret = self.run_function("jinja.import_json", [self._path(json_file)])
- with salt.utils.files.fopen(self._path(json_file, absolute=True)) as fh_:
- self.assertDictEqual(salt.utils.json.load(fh_), ret)
- def test_import_yaml(self):
- yaml_file = "defaults.yaml"
- ret = self.run_function("jinja.import_yaml", [self._path(yaml_file)])
- with salt.utils.files.fopen(self._path(yaml_file, absolute=True)) as fh_:
- self.assertDictEqual(salt.utils.yaml.safe_load(fh_), ret)
- @requires_system_grains
- def test_load_map(self, grains):
- ret = self.run_function("jinja.load_map", [self._path("map.jinja"), "template"])
- assert isinstance(
- ret, dict
- ), "failed to return dictionary from jinja.load_map: {}".format(ret)
- with salt.utils.files.fopen(self._path("defaults.yaml", absolute=True)) as fh_:
- defaults = salt.utils.yaml.safe_load(fh_)
- with salt.utils.files.fopen(self._path("osarchmap.json", absolute=True)) as fh_:
- osarchmap = salt.utils.json.load(fh_)
- with salt.utils.files.fopen(
- self._path("osfamilymap.yaml", absolute=True)
- ) as fh_:
- osfamilymap = salt.utils.yaml.safe_load(fh_)
- with salt.utils.files.fopen(self._path("osmap.yaml", absolute=True)) as fh_:
- osmap = salt.utils.yaml.safe_load(fh_)
- with salt.utils.files.fopen(
- self._path("osfingermap.yaml", absolute=True)
- ) as fh_:
- osfingermap = salt.utils.yaml.safe_load(fh_)
- self.assertEqual(
- ret.get("arch"), osarchmap.get(grains["osarch"], {}).get("arch")
- )
- self.assertEqual(
- ret.get("config"),
- osfingermap.get(grains["osfinger"], {}).get(
- "config",
- osmap.get(grains["os"], {}).get(
- "config",
- osfamilymap.get(grains["os_family"], {}).get(
- "config", defaults.get("template").get("config")
- ),
- ),
- ),
- )
|