Beispiel #1
0
class PredicateFactoryTest(TestCase):
    def setUp(self):
        self.mox = mox.Mox()
        self.comp_name = "Test Predicate Or"

        self.predat = SimplePredicate("a", ThreadSafeObject({}))
        self.predat.set_met(True)
        self.predbt = SimplePredicate("b", ThreadSafeObject({}))
        self.predbt.set_met(True)

        self.predaf = SimplePredicate("a", ThreadSafeObject({}))
        self.predbf = SimplePredicate("b", ThreadSafeObject({}))

        self.list = [self.predaf, self.predbf, self.predat, self.predbt]

        self.factory = PredicateFactory(component_name="factory",
                                        zkclient=None,
                                        proc_client=None,
                                        system=None,
                                        pred_list=self.list,
                                        settings={})

    def tearDown(self):
        pass

    def test_match(self):
        new = SimplePredicate("a", ThreadSafeObject({}))
        ret = self.factory._ensure_new(new)
        self.assertTrue(new is not ret)

    def test_no_match(self):
        new = SimplePredicate("c", ThreadSafeObject({}))
        ret = self.factory._ensure_new(new)
        self.assertTrue(new is ret)
class PredicateFactoryTest(TestCase):
    def setUp(self):
        self.mox = mox.Mox()
        self.comp_name = "Test Predicate Or"
        
        self.predat = SimplePredicate("a", ThreadSafeObject({}))
        self.predat.set_met(True)
        self.predbt = SimplePredicate("b", ThreadSafeObject({}))
        self.predbt.set_met(True)

        self.predaf = SimplePredicate("a", ThreadSafeObject({}))
        self.predbf = SimplePredicate("b", ThreadSafeObject({}))

        self.list = [self.predaf, self.predbf, self.predat, self.predbt]

        self.factory = PredicateFactory(component_name="factory", parent=None,
                                        zkclient=None, proc_client=None,
                                        system=None, pred_list=self.list,
                                        settings={})

    def tearDown(self):
        pass

    def test_match(self):
        new = SimplePredicate("a", ThreadSafeObject({}))
        ret = self.factory._ensure_new(new)
        self.assertTrue(new is not ret)
        
    def test_no_match(self):
        new = SimplePredicate("c", ThreadSafeObject({}))
        ret = self.factory._ensure_new(new)
        self.assertTrue(new is ret)
Beispiel #3
0
    def _create_simple_pred(self, cname=None, met=None):
        if cname is None:
            cname = self.comp_name
        s = SimplePredicate(cname, parent='foo')
        if met is not None:
            s.set_met(met)

        return s
Beispiel #4
0
    def _create_simple_pred(self, cname=None, met=None):
        if cname is None:
            cname = self.comp_name
        s = SimplePredicate(cname, parent='foo')
        if met is not None:
            s.set_met(met)

        return s
Beispiel #5
0
    def _create_dummy_predicate(self):
        # to catch the case where there are no predicates
        """
        A dummy predicate will be returned by the factory if there are no
        predicates, or if the config has an unknown predicate type.

        :rtype: zoom.agent.predicate.simple.SimplePredicate
        """
        dummy = SimplePredicate(self._component_name,
                                self._settings,
                                parent=self._parent)
        dummy.set_met(True)
        return dummy