Merge pull request #20380 from rallytime/merge-20374

Merge #20374 with some fixes
This commit is contained in:
Nicole Thomas 2015-02-04 11:24:14 -07:00
commit ced4bfccf1
2 changed files with 384 additions and 0 deletions

View file

@ -0,0 +1,204 @@
# -*- coding: utf-8 -*-
'''
:codeauthor: :email:`Rupesh Tare <rupesht@saltstack.com>`
'''
# Import Python Libs
from __future__ import absolute_import
# Import Salt Testing Libs
from salttesting import TestCase, skipIf
from salttesting.mock import (
MagicMock,
patch,
NO_MOCK,
NO_MOCK_REASON
)
from salttesting.helpers import ensure_in_syspath
ensure_in_syspath('../../')
# Import Salt Libs
from salt.modules import lvs
# Globals
lvs.__salt__ = {}
@skipIf(NO_MOCK, NO_MOCK_REASON)
class LvsTestCase(TestCase):
'''
Test cases for salt.modules.lvs
'''
def test_add_service(self):
'''
Test for Add a virtual service.
'''
with patch.object(lvs, '__detect_os', return_value='C'):
with patch.object(lvs, '_build_cmd', return_value='B'):
with patch.dict(lvs.__salt__,
{'cmd.run_all':
MagicMock(return_value={'retcode':
'ret',
'stderr':
'stderr'})}):
self.assertEqual(lvs.add_service(), 'stderr')
def test_edit_service(self):
'''
Test for Edit the virtual service.
'''
with patch.object(lvs, '__detect_os', return_value='C'):
with patch.object(lvs, '_build_cmd', return_value='B'):
with patch.dict(lvs.__salt__,
{'cmd.run_all':
MagicMock(return_value={'retcode':
'ret',
'stderr':
'stderr'})}):
self.assertEqual(lvs.edit_service(), 'stderr')
def test_delete_service(self):
'''
Test for Delete the virtual service.
'''
with patch.object(lvs, '__detect_os', return_value='C'):
with patch.object(lvs, '_build_cmd', return_value='B'):
with patch.dict(lvs.__salt__,
{'cmd.run_all':
MagicMock(return_value={'retcode':
'ret',
'stderr':
'stderr'})}):
self.assertEqual(lvs.delete_service(), 'stderr')
def test_add_server(self):
'''
Test for Add a real server to a virtual service.
'''
with patch.object(lvs, '__detect_os', return_value='C'):
with patch.object(lvs, '_build_cmd', return_value='B'):
with patch.dict(lvs.__salt__,
{'cmd.run_all':
MagicMock(return_value={'retcode':
'ret',
'stderr':
'stderr'})}):
self.assertEqual(lvs.add_server(), 'stderr')
def test_edit_server(self):
'''
Test for Edit a real server to a virtual service.
'''
with patch.object(lvs, '__detect_os', return_value='C'):
with patch.object(lvs, '_build_cmd', return_value='B'):
with patch.dict(lvs.__salt__,
{'cmd.run_all':
MagicMock(return_value={'retcode':
'ret',
'stderr':
'stderr'})}):
self.assertEqual(lvs.edit_server(), 'stderr')
def test_delete_server(self):
'''
Test for Delete the realserver from the virtual service.
'''
with patch.object(lvs, '__detect_os', return_value='C'):
with patch.object(lvs, '_build_cmd', return_value='B'):
with patch.dict(lvs.__salt__,
{'cmd.run_all':
MagicMock(return_value={'retcode':
'ret',
'stderr':
'stderr'})}):
self.assertEqual(lvs.delete_server(), 'stderr')
def test_clear(self):
'''
Test for Clear the virtual server table
'''
with patch.object(lvs, '__detect_os', return_value='C'):
with patch.dict(lvs.__salt__,
{'cmd.run_all':
MagicMock(return_value={'retcode':
'ret',
'stderr':
'stderr'})}):
self.assertEqual(lvs.clear(), 'stderr')
def test_get_rules(self):
'''
Test for Get the virtual server rules
'''
with patch.object(lvs, '__detect_os', return_value='C'):
with patch.dict(lvs.__salt__,
{'cmd.run':
MagicMock(return_value='A')}):
self.assertEqual(lvs.get_rules(), 'A')
def test_list_(self):
'''
Test for List the virtual server table
'''
with patch.object(lvs, '__detect_os', return_value='C'):
with patch.object(lvs, '_build_cmd', return_value='B'):
with patch.dict(lvs.__salt__,
{'cmd.run_all':
MagicMock(return_value={'retcode':
'ret',
'stderr':
'stderr'})}):
self.assertEqual(lvs.list_('p', 's'), 'stderr')
def test_zero(self):
'''
Test for Zero the packet, byte and rate counters in a
service or all services.
'''
with patch.object(lvs, '__detect_os', return_value='C'):
with patch.object(lvs, '_build_cmd', return_value='B'):
with patch.dict(lvs.__salt__,
{'cmd.run_all':
MagicMock(return_value={'retcode':
'ret',
'stderr':
'stderr'})}):
self.assertEqual(lvs.zero('p', 's'), 'stderr')
def test_check_service(self):
'''
Test for Check the virtual service exists.
'''
with patch.object(lvs, '__detect_os', return_value='C'):
with patch.object(lvs, '_build_cmd', return_value='B'):
with patch.dict(lvs.__salt__,
{'cmd.run_all':
MagicMock(return_value={'retcode':
'ret',
'stderr':
'stderr'})}):
with patch.object(lvs, 'get_rules', return_value='C'):
self.assertEqual(lvs.check_service('p', 's'),
'Error: service not exists')
def test_check_server(self):
'''
Test for Check the real server exists in the specified service.
'''
with patch.object(lvs, '__detect_os', return_value='C'):
with patch.object(lvs, '_build_cmd', return_value='B'):
with patch.dict(lvs.__salt__,
{'cmd.run_all':
MagicMock(return_value={'retcode':
'ret',
'stderr':
'stderr'})}):
with patch.object(lvs, 'get_rules', return_value='C'):
self.assertEqual(lvs.check_server('p', 's'),
'Error: server not exists')
if __name__ == '__main__':
from integration import run_tests
run_tests(LvsTestCase, needs_daemon=False)

View file

@ -0,0 +1,180 @@
# -*- coding: utf-8 -*-
'''
:codeauthor: :email:`Rupesh Tare <rupesht@saltstack.com>`
'''
# Import Python Libs
from __future__ import absolute_import
# Import Salt Testing Libs
from salttesting import TestCase, skipIf
from salttesting.mock import (
MagicMock,
patch,
NO_MOCK,
NO_MOCK_REASON
)
from salttesting.helpers import ensure_in_syspath
ensure_in_syspath('../../')
# Import Salt Libs
from salt.modules import match
import __builtin__
# Globals
match.__grains__ = {}
match.__salt__ = {}
match.__opts__ = {}
match.__pillar__ = {}
@skipIf(NO_MOCK, NO_MOCK_REASON)
class MatchTestCase(TestCase):
'''
Test cases for salt.modules.match
'''
@patch('salt.minion.Matcher')
def test_compound(self, mock_matcher):
'''
Test for Return True if the minion ID matches the given compound target
'''
with patch.dict(match.__grains__, {'id': 101}):
mock_matcher.side_effect = MagicMock()
with patch.object(mock_matcher, 'compound_match', MagicMock()):
self.assertTrue(match.compound('tgt'))
mock_matcher.side_effect = MagicMock(return_value='B')
self.assertFalse(match.compound('tgt'))
@patch('salt.minion.Matcher')
def test_ipcidr(self, mock_matcher):
'''
Test for Return True if the minion matches the given ipcidr target
'''
with patch.dict(match.__grains__, {'id': 101}):
mock_matcher.side_effect = MagicMock()
with patch.object(mock_matcher, 'ipcidr_match', MagicMock()):
self.assertTrue(match.ipcidr('tgt'))
mock_matcher.side_effect = MagicMock(return_value='B')
self.assertFalse(match.ipcidr('tgt'))
@patch('salt.minion.Matcher')
def test_pillar(self, mock_matcher):
'''
Test for Return True if the minion matches the given pillar target.
'''
with patch.dict(match.__grains__, {'id': 101}):
mock_matcher.side_effect = MagicMock()
with patch.object(mock_matcher, 'pillar_match', MagicMock()):
self.assertTrue(match.pillar('tgt'))
mock_matcher.side_effect = MagicMock(return_value='B')
self.assertFalse(match.pillar('tgt'))
@patch('salt.minion.Matcher')
def test_data(self, mock_matcher):
'''
Test for Return True if the minion matches the given data target
'''
with patch.dict(match.__grains__, {'id': 101}):
mock_matcher.side_effect = MagicMock()
with patch.object(mock_matcher, 'data_match', MagicMock()):
self.assertTrue(match.data('tgt'))
mock_matcher.side_effect = MagicMock(return_value='B')
self.assertFalse(match.data('tgt'))
@patch('salt.minion.Matcher')
def test_grain_pcre(self, mock_matcher):
'''
Test for Return True if the minion matches the given grain_pcre target
'''
with patch.dict(match.__grains__, {'id': 101}):
mock_matcher.side_effect = MagicMock()
with patch.object(mock_matcher, 'grain_pcre_match', MagicMock()):
self.assertTrue(match.grain_pcre('tgt'))
mock_matcher.side_effect = MagicMock(return_value='B')
self.assertFalse(match.grain_pcre('tgt'))
@patch('salt.minion.Matcher')
def test_grain(self, mock_matcher):
'''
Test for Return True if the minion matches the given grain target
'''
with patch.dict(match.__grains__, {'id': 101}):
mock_matcher.side_effect = MagicMock()
with patch.object(mock_matcher, 'grain_match', MagicMock()):
self.assertTrue(match.grain('tgt'))
mock_matcher.side_effect = MagicMock(return_value='B')
self.assertFalse(match.grain('tgt'))
@patch('salt.minion.Matcher')
def test_list_(self, mock_matcher):
'''
Test for Return True if the minion ID matches the given list target
'''
with patch.dict(match.__grains__, {'id': 101}):
mock_matcher.side_effect = MagicMock()
with patch.object(mock_matcher, 'list_match', MagicMock()):
self.assertTrue(match.list_('tgt'))
mock_matcher.side_effect = MagicMock(return_value='B')
self.assertFalse(match.list_('tgt'))
@patch('salt.minion.Matcher')
def test_pcre(self, mock_matcher):
'''
Test for Return True if the minion ID matches the given pcre target
'''
mock_matcher.side_effect = MagicMock()
with patch.dict(match.__grains__, {'id': 101}):
with patch.object(mock_matcher, 'pcre_match', MagicMock()):
self.assertTrue(match.pcre('tgt'))
mock_matcher.side_effect = MagicMock(return_value='B')
with patch.dict(match.__grains__, {'id': 101}):
self.assertFalse(match.pcre('tgt'))
@patch('salt.minion.Matcher')
def test_glob(self, mock_matcher):
'''
Test for Return True if the minion ID matches the given glob target
'''
with patch.dict(match.__grains__, {'id': 101}):
mock_matcher.side_effect = MagicMock()
with patch.object(mock_matcher, 'glob_match', MagicMock()):
self.assertTrue(match.glob('tgt'))
mock_matcher.side_effect = MagicMock(return_value='B')
self.assertFalse(match.glob('tgt'))
def test_filter_by(self):
'''
Test for Return the first match in a dictionary of target patterns
'''
with patch.object(__builtin__, 'dict', MagicMock()):
self.assertEqual(match.filter_by({'key': 'value'},
minion_id=101), 'value')
self.assertEqual(match.filter_by({'key': 'value'}), 'value')
self.assertEqual(match.filter_by({}), None)
if __name__ == '__main__':
from integration import run_tests
run_tests(MatchTestCase, needs_daemon=False)