123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- """
- Pillar include tests
- """
- import pytest
- @pytest.fixture(scope="module")
- def pillar_include_tree(base_env_pillar_tree_root_dir, salt_minion, salt_call_cli):
- top_file = """
- base:
- '{}':
- - include
- - glob-include
- """.format(
- salt_minion.id
- )
- include_pillar_file = """
- include:
- - include-a:
- key: element:a
- - include-b:
- key: element:b
- """
- include_a_pillar_file = """
- a:
- - 'Entry A'
- """
- include_b_pillar_file = """
- b:
- - 'Entry B'
- """
- top_tempfile = pytest.helpers.temp_file(
- "top.sls", top_file, base_env_pillar_tree_root_dir
- )
- include_tempfile = pytest.helpers.temp_file(
- "include.sls", include_pillar_file, base_env_pillar_tree_root_dir
- )
- include_a_tempfile = pytest.helpers.temp_file(
- "include-a.sls", include_a_pillar_file, base_env_pillar_tree_root_dir
- )
- include_b_tempfile = pytest.helpers.temp_file(
- "include-b.sls", include_b_pillar_file, base_env_pillar_tree_root_dir
- )
- glob_include_pillar_file = """
- include:
- - 'glob-include-*'
- """
- glob_include_a_pillar_file = """
- glob-a:
- - 'Entry A'
- """
- glob_include_b_pillar_file = """
- glob-b:
- - 'Entry B'
- """
- top_tempfile = pytest.helpers.temp_file(
- "top.sls", top_file, base_env_pillar_tree_root_dir
- )
- glob_include_tempfile = pytest.helpers.temp_file(
- "glob-include.sls", glob_include_pillar_file, base_env_pillar_tree_root_dir
- )
- glob_include_a_tempfile = pytest.helpers.temp_file(
- "glob-include-a.sls", glob_include_a_pillar_file, base_env_pillar_tree_root_dir
- )
- glob_include_b_tempfile = pytest.helpers.temp_file(
- "glob-include-b.sls", glob_include_b_pillar_file, base_env_pillar_tree_root_dir
- )
- try:
- with top_tempfile, include_tempfile, include_a_tempfile, include_b_tempfile:
- with glob_include_tempfile, glob_include_a_tempfile, glob_include_b_tempfile:
- ret = salt_call_cli.run("saltutil.refresh_pillar", wait=True)
- assert ret.exitcode == 0
- assert ret.json is True
- yield
- finally:
- # Refresh pillar again to cleaup the temp pillar
- ret = salt_call_cli.run("saltutil.refresh_pillar", wait=True)
- assert ret.exitcode == 0
- assert ret.json is True
- def test_pillar_include(pillar_include_tree, salt_call_cli):
- """
- Test pillar include
- """
- ret = salt_call_cli.run("pillar.items")
- assert ret.exitcode == 0
- assert ret.json
- assert "element" in ret.json
- assert "a" in ret.json["element"]
- assert ret.json["element"]["a"] == {"a": ["Entry A"]}
- assert "b" in ret.json["element"]
- assert ret.json["element"]["b"] == {"b": ["Entry B"]}
- def test_pillar_glob_include(pillar_include_tree, salt_call_cli):
- """
- Test pillar include via glob pattern
- """
- ret = salt_call_cli.run("pillar.items")
- assert ret.exitcode == 0
- assert ret.json
- assert "glob-a" in ret.json
- assert ret.json["glob-a"] == ["Entry A"]
- assert "glob-b" in ret.json
- assert ret.json["glob-b"] == ["Entry B"]
|