1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- # -*- coding: utf-8 -*-
- from __future__ import absolute_import, unicode_literals
- import os
- import salt.loader
- import salt.minion
- import salt.utils.yaml
- from salt.utils.files import fopen
- from tests.support.case import ModuleCase
- from tests.support.helpers import with_tempdir
- from tests.support.mock import patch
- class BasePillarTest(ModuleCase):
- @with_tempdir()
- def test_minion_cache_should_cache_files(self, tempdir):
- pillar = {"this": {"is": {"some": "pillar data"}}}
- opts = {
- "file_client": "remote",
- "minion_pillar_cache": "true",
- "master_type": "local",
- "discovery": False,
- "master": "local",
- "__role": "",
- "id": "test",
- "saltenv": "base",
- "pillar_cache": True,
- "pillar_cache_backend": "disk",
- "pillar_cache_ttl": 3600,
- "cachedir": tempdir,
- "state_top": "top.sls",
- "pillar_roots": {"base": tempdir},
- "extension_modules": tempdir,
- "file_ignore_regex": [],
- "file_ignore_glob": [],
- "pillar": pillar,
- }
- with patch("salt.loader.grains", return_value={}), patch(
- "salt.minion.SMinion.gen_modules"
- ), patch("salt.minion.SMinion.eval_master"), patch(
- "salt.minion.install_zmq"
- ), patch(
- "salt.minion.ZMQDefaultLoop.current"
- ):
- minion = salt.minion.SMinion(opts)
- self.assertTrue("pillar" in os.listdir(tempdir))
- pillar_cache = os.path.join(tempdir, "pillar")
- self.assertTrue("top.sls" in os.listdir(pillar_cache))
- self.assertTrue("cache.sls" in os.listdir(pillar_cache))
- with fopen(os.path.join(pillar_cache, "cache.sls"), "rb") as f:
- cached_data = salt.utils.yaml.safe_load(f)
- assert cached_data == pillar
|