def test_relative_path(self): 'check file tree is imported correctly with a relative path' with patch('salt.utils.minions.CkMinions.check_minions', MagicMock(return_value=_CHECK_MINIONS_RETURN)): mypillar = file_tree.ext_pillar(MINION_ID, None, '.') self.assertEqual(BASE_PILLAR_CONTENT, mypillar) with patch.dict(file_tree.__opts__, {'pillarenv': 'dev'}): mypillar = file_tree.ext_pillar(MINION_ID, None, '.') self.assertEqual(DEV_PILLAR_CONTENT, mypillar)
def test_absolute_path(self): 'check file tree is imported correctly with an absolute path' absolute_path = os.path.join(self.pillar_path, 'base') with patch('salt.utils.minions.CkMinions.check_minions', MagicMock(return_value=_CHECK_MINIONS_RETURN)): mypillar = file_tree.ext_pillar(MINION_ID, None, absolute_path) self.assertEqual(BASE_PILLAR_CONTENT, mypillar) with patch.dict(file_tree.__opts__, {'pillarenv': 'dev'}): mypillar = file_tree.ext_pillar(MINION_ID, None, absolute_path) self.assertEqual(BASE_PILLAR_CONTENT, mypillar)
def test_relative_path(self): "check file tree is imported correctly with a relative path" with patch( "salt.utils.minions.CkMinions.check_minions", MagicMock(return_value=_CHECK_MINIONS_RETURN), ): mypillar = file_tree.ext_pillar(MINION_ID, None, ".") self.assertEqual(BASE_PILLAR_CONTENT, mypillar) with patch.dict(file_tree.__opts__, {"pillarenv": "dev"}): mypillar = file_tree.ext_pillar(MINION_ID, None, ".") self.assertEqual(DEV_PILLAR_CONTENT, mypillar)
def test_parent_path(self): 'check if file tree is merged correctly with a .. path' with patch('salt.utils.minions.CkMinions.check_minions', MagicMock(return_value=_CHECK_MINIONS_RETURN)): with patch.dict(file_tree.__opts__, {'pillarenv': 'parent'}): mypillar = file_tree.ext_pillar(MINION_ID, None, '..') self.assertEqual(PARENT_PILLAR_CONTENT, mypillar)
def test_parent_path(self): "check if file tree is merged correctly with a .. path" with patch( "salt.utils.minions.CkMinions.check_minions", MagicMock(return_value=_CHECK_MINIONS_RETURN), ): with patch.dict(file_tree.__opts__, {"pillarenv": "parent"}): mypillar = file_tree.ext_pillar(MINION_ID, None, "..") self.assertEqual(PARENT_PILLAR_CONTENT, mypillar)
def test_no_pillarenv(self): 'confirm that file_tree yells when pillarenv is missing for a relative path' with patch('salt.utils.minions.CkMinions.check_minions', MagicMock(return_value=_CHECK_MINIONS_RETURN)): with patch.dict(file_tree.__opts__, {'pillarenv': None}): with TestsLoggingHandler() as handler: mypillar = file_tree.ext_pillar(MINION_ID, None, '.') self.assertEqual({}, mypillar) for message in handler.messages: if message.startswith('ERROR:') and 'pillarenv is not set' in message: break else: raise AssertionError('Did not find error message')
def test_file_tree_no_bytes(self): """ test file_tree pillar does not return bytes """ absolute_path = os.path.join(self.pillar_path, "base") with patch( "salt.utils.minions.CkMinions.check_minions", MagicMock(return_value=_CHECK_MINIONS_RETURN), ): mypillar = file_tree.ext_pillar(MINION_ID, None, absolute_path) self.assertEqual(BASE_PILLAR_CONTENT, mypillar) with patch.dict(file_tree.__opts__, {"pillarenv": "dev"}): mypillar = file_tree.ext_pillar(MINION_ID, None, absolute_path) for key, value in mypillar.items(): if isinstance(value, dict): for ikey, ivalue in value.items(): self.assertTrue(isinstance(ikey, str)) self.assertTrue(isinstance(ivalue, str)) else: self.assertTrue(isinstance(value, str)) self.assertTrue(isinstance(key, str))
def test_no_pillarenv(self): "confirm that file_tree yells when pillarenv is missing for a relative path" with patch( "salt.utils.minions.CkMinions.check_minions", MagicMock(return_value=_CHECK_MINIONS_RETURN), ): with patch.dict(file_tree.__opts__, {"pillarenv": None}): with TstSuiteLoggingHandler() as handler: mypillar = file_tree.ext_pillar(MINION_ID, None, ".") self.assertEqual({}, mypillar) for message in handler.messages: if (message.startswith("ERROR:") and "pillarenv is not set" in message): break else: raise AssertionError("Did not find error message")