mirror of
https://github.com/valitydev/salt.git
synced 2024-11-06 16:45:27 +00:00
57 lines
2.2 KiB
Python
57 lines
2.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
# Import python libs
|
|
from __future__ import absolute_import, print_function, unicode_literals
|
|
|
|
# Import Salt Testing libs
|
|
from tests.support.mixins import LoaderModuleMockMixin
|
|
from tests.support.unit import TestCase, skipIf
|
|
from tests.support.mock import NO_MOCK, NO_MOCK_REASON, MagicMock
|
|
|
|
# Import Salt Libs
|
|
from salt.pillar import extra_minion_data_in_pillar
|
|
|
|
|
|
@skipIf(NO_MOCK, NO_MOCK_REASON)
|
|
class ExtraMinionDataInPillarTestCase(TestCase, LoaderModuleMockMixin):
|
|
'''
|
|
Test cases for salt.pillar.extra_minion_data_in_pillar
|
|
'''
|
|
def setup_loader_modules(self):
|
|
return {
|
|
extra_minion_data_in_pillar: {
|
|
'__virtual__': True,
|
|
}
|
|
}
|
|
|
|
def setUp(self):
|
|
self.pillar = MagicMock()
|
|
self.extra_minion_data = {'key1': {'subkey1': 'value1'},
|
|
'key2': {'subkey2': {'subsubkey2': 'value2'}},
|
|
'key3': 'value3',
|
|
'key4': {'subkey4': 'value4'}}
|
|
|
|
def test_extra_values_none_or_empty(self):
|
|
ret = extra_minion_data_in_pillar.ext_pillar('fake_id', self.pillar,
|
|
'fake_include', None)
|
|
self.assertEqual(ret, {})
|
|
ret = extra_minion_data_in_pillar.ext_pillar('fake_id', self.pillar,
|
|
'fake_include', {})
|
|
self.assertEqual(ret, {})
|
|
|
|
def test_include_all(self):
|
|
for include_all in ['*', '<all>']:
|
|
ret = extra_minion_data_in_pillar.ext_pillar(
|
|
'fake_id', self.pillar, include_all, self.extra_minion_data)
|
|
self.assertEqual(ret, self.extra_minion_data)
|
|
|
|
def test_include_specific_keys(self):
|
|
# Tests partially existing key, key with and without subkey,
|
|
ret = extra_minion_data_in_pillar.ext_pillar(
|
|
'fake_id', self.pillar,
|
|
include=['key1:subkey1', 'key2:subkey3', 'key3', 'key4'],
|
|
extra_minion_data=self.extra_minion_data)
|
|
self.assertEqual(ret, {'key1': {'subkey1': 'value1'},
|
|
'key3': 'value3',
|
|
'key4': {'subkey4': 'value4'}})
|