salt/tests/integration/modules/test_pillar.py

80 lines
2.7 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
# Import Python Libs
from __future__ import absolute_import, print_function, unicode_literals
# Import Salt Testing libs
from tests.support.case import ModuleCase
from tests.support.paths import TMP_STATE_TREE
2012-03-29 22:35:49 +00:00
class PillarModuleTest(ModuleCase):
2012-03-29 22:35:49 +00:00
'''
Validate the pillar module
'''
def test_data(self):
'''
pillar.data
'''
grains = self.run_function('grains.items')
pillar = self.run_function('pillar.data')
self.assertEqual(pillar['os'], grains['os'])
self.assertEqual(pillar['monty'], 'python')
if grains['os'] == 'Fedora':
self.assertEqual(pillar['class'], 'redhat')
else:
self.assertEqual(pillar['class'], 'other')
def test_issue_5449_report_actual_file_roots_in_pillar(self):
'''
pillar['master']['file_roots'] is overwritten by the master
in order to use the fileclient interface to read the pillar
files. We should restore the actual file_roots when we send
the pillar back to the minion.
'''
self.assertIn(
TMP_STATE_TREE,
self.run_function('pillar.data')['master']['file_roots']['base']
)
def test_ext_cmd_yaml(self):
'''
pillar.data for ext_pillar cmd.yaml
'''
self.assertEqual(
self.run_function('pillar.data')['ext_spam'], 'eggs'
)
def test_issue_5951_actual_file_roots_in_opts(self):
self.assertIn(
TMP_STATE_TREE,
self.run_function('pillar.data')['ext_pillar_opts']['file_roots']['base']
)
2016-05-05 13:51:27 +00:00
def test_pillar_items(self):
'''
Test to ensure we get expected output
from pillar.items
'''
get_items = self.run_function('pillar.items')
self.assertDictContainsSubset({'monty': 'python'}, get_items)
self.assertDictContainsSubset(
{'knights': ['Lancelot', 'Galahad', 'Bedevere', 'Robin']},
get_items)
def test_pillar_command_line(self):
'''
Test to ensure when using pillar override
on command line works
'''
# test when pillar is overwriting previous pillar
overwrite = self.run_function('pillar.items', pillar={"monty":
"overwrite"})
self.assertDictContainsSubset({'monty': 'overwrite'}, overwrite)
# test when using additional pillar
additional = self.run_function('pillar.items', pillar={"new":
"additional"})
self.assertDictContainsSubset({'new': 'additional'}, additional)