def sub_test_sls(self): ''' Sub function of test_sls ''' mock = MagicMock(return_value=True) with patch.object(os.path, 'join', mock): with patch.object(os, 'umask', mock): mock = MagicMock(return_value=False) with patch.object(salt.utils.platform, 'is_windows', mock): mock = MagicMock(return_value=True) with patch.object(os, 'umask', mock): with patch.object(state, '_set_retcode', mock): with patch.dict(state.__opts__, {"test": True}): with patch('salt.utils.files.fopen', mock_open()): self.assertTrue( state.sls("core,edit" ".vim dev", None, None, True))
def test_sls(self): ''' Test to execute a set list of state files from an environment ''' arg = "core,edit.vim dev" ret = [ 'Pillar failed to render with the following messages:', 'E', '1' ] mock = MagicMock(return_value=True) with patch.object(state, 'running', mock): with patch.dict(state.__context__, {"retcode": 1}): self.assertEqual(state.sls("core,edit.vim dev"), True) mock = MagicMock(side_effect=[True, True, True, True, True, True]) with patch.object(state, '_wait', mock): mock = MagicMock(side_effect=[["A"], [], [], [], [], []]) with patch.object(state, '_disabled', mock): with patch.dict(state.__context__, {"retcode": 1}): self.assertEqual( state.sls("core,edit.vim dev", None, None, True), ["A"]) mock = MagicMock( side_effect=[['E', '1'], None, None, None, None]) with patch.object(state, '_get_pillar_errors', mock): with patch.dict(state.__context__, {"retcode": 5}): with patch.dict(state.__pillar__, {"_errors": ['E', '1']}): self.assertListEqual( state.sls("core,edit.vim dev", None, None, True), ret) with patch.dict(state.__opts__, {"test": None}): mock = MagicMock(return_value={ "test": "", "saltenv": None }) with patch.object(salt.utils.state, 'get_sls_opts', mock): mock = MagicMock(return_value=True) with patch.object(salt.utils, 'test_mode', mock): self.assertRaises(SaltInvocationError, state.sls, "core,edit.vim dev", None, None, True, pillar="A") mock = MagicMock( return_value="/D/cache.cache.p") with patch.object(os.path, 'join', mock): mock = MagicMock(return_value=True) with patch.object(os.path, 'isfile', mock): with patch('salt.utils.files.fopen', mock_open()): self.assertTrue( state.sls(arg, None, None, True, cache=True)) MockState.HighState.flag = True self.assertTrue( state.sls("core,edit" ".vim dev", None, None, True)) MockState.HighState.flag = False mock = MagicMock(return_value=True) with patch.dict(state.__salt__, {'config.option': mock}): mock = MagicMock(return_value=True) with patch.object( state, '_filter_' 'running', mock): self.sub_test_sls()
def test_lock_saltenv(self): ''' Tests lock_saltenv in each function which accepts saltenv on the CLI ''' lock_msg = 'lock_saltenv is enabled, saltenv cannot be changed' empty_list_mock = MagicMock(return_value=[]) with patch.dict(state.__opts__, {'lock_saltenv': True}), \ patch.dict(state.__salt__, {'grains.get': empty_list_mock}), \ patch.object(state, 'running', empty_list_mock): # Test high with self.assertRaisesRegex(CommandExecutionError, lock_msg): state.high([{"vim": {"pkg": ["installed"]}}], saltenv='base') # Test template with self.assertRaisesRegex(CommandExecutionError, lock_msg): state.template('foo', saltenv='base') # Test template_str with self.assertRaisesRegex(CommandExecutionError, lock_msg): state.template_str('foo', saltenv='base') # Test apply_ with SLS with self.assertRaisesRegex(CommandExecutionError, lock_msg): state.apply_('foo', saltenv='base') # Test apply_ with Highstate with self.assertRaisesRegex(CommandExecutionError, lock_msg): state.apply_(saltenv='base') # Test highstate with self.assertRaisesRegex(CommandExecutionError, lock_msg): state.highstate(saltenv='base') # Test sls with self.assertRaisesRegex(CommandExecutionError, lock_msg): state.sls('foo', saltenv='base') # Test top with self.assertRaisesRegex(CommandExecutionError, lock_msg): state.top('foo.sls', saltenv='base') # Test show_highstate with self.assertRaisesRegex(CommandExecutionError, lock_msg): state.show_highstate(saltenv='base') # Test show_lowstate with self.assertRaisesRegex(CommandExecutionError, lock_msg): state.show_lowstate(saltenv='base') # Test sls_id with self.assertRaisesRegex(CommandExecutionError, lock_msg): state.sls_id('foo', 'bar', saltenv='base') # Test show_low_sls with self.assertRaisesRegex(CommandExecutionError, lock_msg): state.show_low_sls('foo', saltenv='base') # Test show_sls with self.assertRaisesRegex(CommandExecutionError, lock_msg): state.show_sls('foo', saltenv='base') # Test show_top with self.assertRaisesRegex(CommandExecutionError, lock_msg): state.show_top(saltenv='base') # Test single with self.assertRaisesRegex(CommandExecutionError, lock_msg): state.single('foo.bar', name='baz', saltenv='base') # Test pkg with self.assertRaisesRegex(CommandExecutionError, lock_msg): state.pkg('/tmp/salt_state.tgz', '760a9353810e36f6d81416366fc426dc', 'md5', saltenv='base')