Example #1
0
    def test_ne(self):
        pn1 = processor.ProcNode('proc', 'name')
        pn2 = processor.ProcNode('proc', 'name')
        pn3 = processor.ProcNode('proc', 'other')

        self.assertFalse(pn1 != pn1)
        self.assertFalse(pn1 != pn2)
        self.assertTrue(pn1 != pn3)
Example #2
0
    def test_func_set(self):
        reqs = {
            'req1': mock.Mock(),
            'req2': mock.Mock(),
            'req3': mock.Mock(),
            'req_by1': mock.Mock(reqs=set()),
            'req_by2': mock.Mock(reqs=set()),
            'req_by3': mock.Mock(reqs=set()),
        }
        proc = mock.Mock(**{'_get.side_effect': lambda x: reqs[x]})
        func = mock.Mock(
            _ev_filters=['filt1', 'filt2', 'filt3'],
            _ev_requires=['req1', 'req2', 'req3'],
            _ev_required_by=['req_by1', 'req_by2', 'req_by3'],
        )
        pn = processor.ProcNode(proc, 'name')

        pn.func = func

        self.assertEqual(pn._func, func)
        self.assertEqual(pn.filters, ['filt1', 'filt2', 'filt3'])
        self.assertEqual(pn.reqs,
                         set([reqs['req1'], reqs['req2'], reqs['req3']]))
        self.assertEqual(reqs['req_by1'].reqs, set([pn]))
        self.assertEqual(reqs['req_by2'].reqs, set([pn]))
        self.assertEqual(reqs['req_by3'].reqs, set([pn]))
        proc._get.assert_has_calls([
            mock.call('req1'),
            mock.call('req2'),
            mock.call('req3'),
            mock.call('req_by1'),
            mock.call('req_by2'),
            mock.call('req_by3'),
        ])
        self.assertEqual(proc._get.call_count, 6)
Example #3
0
    def test_call(self):
        pn = processor.ProcNode('proc', 'name')
        pn._func = mock.Mock()

        result = pn('ev')

        self.assertEqual(result, pn._func.return_value)
        pn._func.assert_called_once_with('proc', 'ev')
Example #4
0
    def test_init(self):
        pn = processor.ProcNode('proc', 'name')

        self.assertEqual(pn.proc, 'proc')
        self.assertEqual(pn.name, 'name')
        self.assertEqual(pn._func, None)
        self.assertEqual(pn.filters, [])
        self.assertEqual(pn.reqs, set())
Example #5
0
    def test_func_delete(self):
        pn = processor.ProcNode('proc', 'name')
        pn._func = 'func'

        def test_func():
            del pn.func

        self.assertRaises(AttributeError, test_func)
        self.assertEqual(pn._func, 'func')
Example #6
0
    def test_func_set_twice(self):
        proc = mock.Mock(**{'_get.return_value': None})
        func = mock.Mock(_ev_filters=[], _ev_requires=[], _ev_required_by=[])
        pn = processor.ProcNode(proc, 'name')
        pn._func = 'func'

        def test_func():
            pn.func = func

        self.assertRaises(AttributeError, test_func)
        self.assertEqual(pn._func, 'func')
        self.assertEqual(pn.filters, [])
        self.assertEqual(pn.reqs, set())
        self.assertFalse(proc._get.called)
Example #7
0
    def test_check_filts_false(self):
        filts = [
            mock.Mock(return_value=False),
            mock.Mock(return_value=False),
            mock.Mock(return_value=False),
            mock.Mock(return_value=False),
        ]
        pn = processor.ProcNode('proc', 'name')
        pn.filters = filts

        result = pn.check('ev')

        self.assertFalse(result)
        for filt in filts:
            filt.assert_called_once_with('ev')
Example #8
0
    def test_check_filts_true(self):
        filts = [
            mock.Mock(return_value=False, expected=True),
            mock.Mock(return_value=False, expected=True),
            mock.Mock(return_value=True, expected=True),
            mock.Mock(return_value=False, expected=False),
        ]
        pn = processor.ProcNode('proc', 'name')
        pn.filters = filts

        result = pn.check('ev')

        self.assertTrue(result)
        for filt in filts:
            if filt.expected:
                filt.assert_called_once_with('ev')
            else:
                self.assertFalse(filt.called)
Example #9
0
    def test_check_nofilts(self):
        pn = processor.ProcNode('proc', 'name')

        result = pn.check('ev')

        self.assertTrue(result)
Example #10
0
    def test_hash(self):
        pn = processor.ProcNode('proc', 'name')

        self.assertEqual(hash(pn), hash('name'))
Example #11
0
    def test_func_get(self):
        pn = processor.ProcNode('proc', 'name')
        pn._func = 'func'

        self.assertEqual(pn.func, 'func')