def test_ext_pillar_with_extra_minion_data_val_dict(self): opts = { "optimization_order": [0, 1, 2], "renderer": "json", "renderer_blacklist": [], "renderer_whitelist": [], "state_top": "", "pillar_roots": { "dev": [], "base": [] }, "file_roots": { "dev": [], "base": [] }, "extension_modules": "", "pillarenv_from_saltenv": True, } mock_ext_pillar_func = MagicMock() with patch( "salt.loader.pillars", MagicMock( return_value={"fake_ext_pillar": mock_ext_pillar_func}), ): pillar = salt.pillar.Pillar(opts, {}, "mocked-minion", "dev", extra_minion_data={"fake_key": "foo"}) # ext pillar function doesn't have the extra_minion_data arg with patch( "salt.utils.args.get_function_argspec", MagicMock(return_value=MagicMock(args=[])), ): pillar._external_pillar_data("fake_pillar", {"arg": "foo"}, "fake_ext_pillar") mock_ext_pillar_func.assert_called_once_with("mocked-minion", "fake_pillar", arg="foo") # ext pillar function has the extra_minion_data arg mock_ext_pillar_func.reset_mock() with patch( "salt.utils.args.get_function_argspec", MagicMock(return_value=MagicMock(args=["extra_minion_data"])), ): pillar._external_pillar_data("fake_pillar", {"arg": "foo"}, "fake_ext_pillar") mock_ext_pillar_func.assert_called_once_with( "mocked-minion", "fake_pillar", arg="foo", extra_minion_data={"fake_key": "foo"}, )
def test_ext_pillar_with_extra_minion_data_val_dict(self): opts = { 'optimization_order': [0, 1, 2], 'renderer': 'json', 'renderer_blacklist': [], 'renderer_whitelist': [], 'state_top': '', 'pillar_roots': { 'dev': [], 'base': [] }, 'file_roots': { 'dev': [], 'base': [] }, 'extension_modules': '', 'pillarenv_from_saltenv': True } mock_ext_pillar_func = MagicMock() with patch( 'salt.loader.pillars', MagicMock( return_value={'fake_ext_pillar': mock_ext_pillar_func})): pillar = salt.pillar.Pillar(opts, {}, 'mocked-minion', 'dev', extra_minion_data={'fake_key': 'foo'}) # ext pillar function doesn't have the extra_minion_data arg with patch('salt.utils.args.get_function_argspec', MagicMock(return_value=MagicMock(args=[]))): pillar._external_pillar_data('fake_pillar', {'arg': 'foo'}, 'fake_ext_pillar') mock_ext_pillar_func.assert_called_once_with('mocked-minion', 'fake_pillar', arg='foo') # ext pillar function has the extra_minion_data arg mock_ext_pillar_func.reset_mock() with patch( 'salt.utils.args.get_function_argspec', MagicMock(return_value=MagicMock(args=['extra_minion_data']))): pillar._external_pillar_data('fake_pillar', {'arg': 'foo'}, 'fake_ext_pillar') mock_ext_pillar_func.assert_called_once_with( 'mocked-minion', 'fake_pillar', arg='foo', extra_minion_data={'fake_key': 'foo'})