Ejemplo n.º 1
0
    def _runner(self,
                expected_ret,
                test=False,
                check=False,
                add=False,
                add_assertion=False):
        mock_check = MagicMock(return_value=check)
        mock_add = MagicMock(return_value=add)
        with patch.dict(ipset.__opts__, {"test": test}):
            with patch.dict(ipset.__salt__, {
                    "ipset.check": mock_check,
                    "ipset.add": mock_add
            }):
                actual_ret = ipset.present(self.fake_name,
                                           self.fake_entries,
                                           set_name=self.fake_name)

        mock_check.assert_has_calls(
            [call(self.fake_name, e, "ipv4") for e in self.fake_entries],
            any_order=True)
        if add_assertion:
            expected_calls = [
                call(self.fake_name, e, "ipv4", set_name=self.fake_name)
                for e in self.fake_entries
            ]
            if add is not True:
                # if the add fails, then it will only get called once.
                expected_calls = expected_calls[:1]
            mock_add.assert_has_calls(expected_calls, any_order=True)
        else:
            self.assertTrue(mock_add.call_count == 0)
        self.assertDictEqual(actual_ret, expected_ret)
Ejemplo n.º 2
0
 def test_missing_entry(self):
     ret = {'name': self.fake_name,
            'result': False,
            'comment': 'ipset entry must be specified',
            'changes': {}}
     mock = MagicMock(return_value=True)
     with patch.dict(ipset.__salt__, {'ipset.check': mock}):
         self.assertDictEqual(ipset.present(self.fake_name), ret)
Ejemplo n.º 3
0
 def test_missing_entry(self):
     ret = {'name': self.fake_name,
            'result': False,
            'comment': 'ipset entry must be specified',
            'changes': {}}
     mock = MagicMock(return_value=True)
     with patch.dict(ipset.__salt__, {'ipset.check': mock}):
         self.assertDictEqual(ipset.present(self.fake_name), ret)
Ejemplo n.º 4
0
 def test_missing_entry(self):
     ret = {
         "name": self.fake_name,
         "result": False,
         "comment": "ipset entry must be specified",
         "changes": {},
     }
     mock = MagicMock(return_value=True)
     with patch.dict(ipset.__salt__, {"ipset.check": mock}):
         self.assertDictEqual(ipset.present(self.fake_name), ret)
Ejemplo n.º 5
0
    def test_present(self):
        '''
        Test to append a entry to a set
        '''
        name = 'salt'
        entry = ['192.168.0.3', '192.168.1.3']

        ret = {'name': name,
               'result': False,
               'comment': '',
               'changes': {}}

        mock = MagicMock(return_value=True)
        with patch.dict(ipset.__salt__, {'ipset.check': mock}):
            comt = ('ipset entry must be specified')
            ret.update({'comment': comt})
            self.assertDictEqual(ipset.present(name), ret)

            comt = ('entry for 192.168.0.3 already in set (salt) for ipv4\n'
                    'entry for 192.168.1.3 already in set (salt) for ipv4\n')
#             with patch.dict(ipset.__opts__, {'test': True}):
            ret.update({'comment': comt, 'result': True})
            self.assertDictEqual(ipset.present(name, entry, set_name='salt'),
                                 ret)
Ejemplo n.º 6
0
    def _runner(self, expected_ret, test=False, check=False, add=False,
                add_assertion=False):
        mock_check = MagicMock(return_value=check)
        mock_add = MagicMock(return_value=add)
        with patch.dict(ipset.__opts__, {'test': test}):
            with patch.dict(ipset.__salt__, {'ipset.check': mock_check,
                                             'ipset.add': mock_add}):
                actual_ret = ipset.present(self.fake_name, self.fake_entries, set_name=self.fake_name)

        mock_check.assert_has_calls([call(self.fake_name, e, 'ipv4') for e in self.fake_entries], any_order=True)
        if add_assertion:
            expected_calls = [call(self.fake_name, e, 'ipv4', set_name=self.fake_name) for e in self.fake_entries]
            if add is not True:
                # if the add fails, then it will only get called once.
                expected_calls = expected_calls[:1]
            mock_add.assert_has_calls(expected_calls, any_order=True)
        else:
            mock_add.assert_not_called()
        self.assertDictEqual(actual_ret, expected_ret)