コード例 #1
0
 def test_modelfiteror_unhandled_exception(self):
     '''This test case ensures unhandled exceptions raised from ModelFilter are gracefully handled by ModelFilterOr build.'''
     
     model_filter = ModelFilter(self._model.id, 1, ModelFilter.EQ)
     model_filter.get_expression = Mock(side_effect=Exception("Unhandled exception"))
     
     model_filter_or = ModelFilterOr(model_filter, model_filter, model_filter)
     
     with self.assertRaises(FantasticoError):
         model_filter_or.build(Mock())
コード例 #2
0
    def test_modelfiteror_unhandled_exception(self):
        '''This test case ensures unhandled exceptions raised from ModelFilter are gracefully handled by ModelFilterOr build.'''

        model_filter = ModelFilter(self._model.id, 1, ModelFilter.EQ)
        model_filter.get_expression = Mock(
            side_effect=Exception("Unhandled exception"))

        model_filter_or = ModelFilterOr(model_filter, model_filter,
                                        model_filter)

        with self.assertRaises(FantasticoError):
            model_filter_or.build(Mock())
コード例 #3
0
 def test_modelfilteror_ok(self):
     '''This test case ensures compound **or** filter correctly transform the filter into sql alchemy and_ statement.'''
     
     self._or_invoked = False
     
     model_filter = ModelFilterOr(ModelFilter(self._model.id, 1, ModelFilter.EQ),
                                   ModelFilter(self._model.id, 1, ModelFilter.EQ),
                                   ModelFilter(self._model.id, 1, ModelFilter.EQ))
     
     query = Mock()
     
     def filter_fn(expr):
         self._or_invoked = True
         
         return Mock()
         
     self._model.id.table = Mock()
     query._primary_entity = query
     query.selectable = self._model.id.table
     
     query.filter = filter_fn
     
     query_new = model_filter.build(query)
     
     self.assertTrue(self._or_invoked)
     self.assertIsInstance(query_new, Mock)
コード例 #4
0
    def test_modelfilteror_ok(self):
        '''This test case ensures compound **or** filter correctly transform the filter into sql alchemy and_ statement.'''

        self._or_invoked = False

        model_filter = ModelFilterOr(
            ModelFilter(self._model.id, 1, ModelFilter.EQ),
            ModelFilter(self._model.id, 1, ModelFilter.EQ),
            ModelFilter(self._model.id, 1, ModelFilter.EQ))

        query = Mock()

        def filter_fn(expr):
            self._or_invoked = True

            return Mock()

        self._model.id.table = Mock()
        query._primary_entity = query
        query.selectable = self._model.id.table

        query.filter = filter_fn

        query_new = model_filter.build(query)

        self.assertTrue(self._or_invoked)
        self.assertIsInstance(query_new, Mock)