mirror of
https://github.com/valitydev/salt.git
synced 2024-11-07 17:09:03 +00:00
80 lines
2.7 KiB
Python
80 lines
2.7 KiB
Python
# -*- 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
|
|
|
|
|
|
class PillarModuleTest(ModuleCase):
|
|
'''
|
|
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']
|
|
)
|
|
|
|
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)
|