def test_mongo_using_in_filter(self): f = FilterCondition("urgency", "in", "3,4") query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service("archive").get_from_mongo(req=self.req, lookup=query) self.assertEqual(2, docs.count()) self.assertEqual("3", docs[0]["_id"]) self.assertEqual("4", docs[1]["_id"])
def test_does_match_with_like_partial(self): f = FilterCondition('headline', 'like', 'tor') self.assertTrue(f.does_match(self.articles[0])) self.assertTrue(f.does_match(self.articles[1])) self.assertFalse(f.does_match(self.articles[2])) self.assertFalse(f.does_match(self.articles[3])) self.assertFalse(f.does_match(self.articles[4])) self.assertFalse(f.does_match(self.articles[5]))
def test_does_match_with_notlike_filter(self): f = FilterCondition('headline', 'notlike', 'Que') self.assertTrue(f.does_match(self.articles[0])) self.assertFalse(f.does_match(self.articles[1])) self.assertTrue(f.does_match(self.articles[2])) self.assertTrue(f.does_match(self.articles[3])) self.assertTrue(f.does_match(self.articles[4])) self.assertTrue(f.does_match(self.articles[5]))
def test_mongo_using_like_filter_complete_string_eq(self): f = FilterCondition('headline', 'like', 'story') query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service('archive'). \ get_from_mongo(req=self.req, lookup=query) self.assertEqual(1, docs.count()) self.assertEqual('1', docs[0]['_id'])
def test_does_match_with_eq(self): f = FilterCondition('urgency', 'eq', '1') self.assertTrue(f.does_match(self.articles[0])) self.assertFalse(f.does_match(self.articles[1])) self.assertFalse(f.does_match(self.articles[2])) self.assertFalse(f.does_match(self.articles[3])) self.assertFalse(f.does_match(self.articles[4])) self.assertFalse(f.does_match(self.articles[5]))
def test_mongo_using_priority_compare_lte_filter(self): f = FilterCondition('priority', 'lte', '3') query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service('archive'). \ get_from_mongo(req=self.req, lookup=query) self.assertEqual(1, docs.count()) self.assertEqual('5', docs[0]['_id'])
def test_mongo_using_category_filter_complete_string(self): f = FilterCondition('anpa_category', 'in', 'a,i') query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service('archive'). \ get_from_mongo(req=self.req, lookup=query) self.assertEqual(1, docs.count()) self.assertEqual('9', docs[0]['_id'])
def test_mongo_using_subject_filter_complete_string_eq(self): f = FilterCondition("subject", "eq", "05005003") query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service("archive").get_from_mongo(req=self.req, lookup=query) self.assertEqual(1, docs.count()) self.assertEqual("8", docs[0]["_id"])
def test_mongo_using_like_filter_complete_string_eq(self): f = FilterCondition("headline", "like", "story") query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service("archive").get_from_mongo(req=self.req, lookup=query) self.assertEqual(1, docs.count()) self.assertEqual("1", docs[0]["_id"])
def test_mongo_using_desk_filter_eq(self): f = FilterCondition("desk", "eq", "1") query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service("archive").get_from_mongo(req=self.req, lookup=query) self.assertEqual(1, docs.count()) self.assertEqual("4", docs[0]["_id"])
def test_mongo_using_category_filter_complete_string(self): f = FilterCondition("anpa_category", "in", "a,i") query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service("archive").get_from_mongo(req=self.req, lookup=query) self.assertEqual(1, docs.count()) self.assertEqual("9", docs[0]["_id"])
def test_mongo_using_priority_compare_lte_filter(self): f = FilterCondition("priority", "lte", "3") query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service("archive").get_from_mongo(req=self.req, lookup=query) self.assertEqual(1, docs.count()) self.assertEqual("5", docs[0]["_id"])
def test_mongo_featuremedia_exists(self): f = FilterCondition("featuremedia", "exists", "true") query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service("archive").get_from_mongo(req=self.req, lookup=query) self.assertEqual(1, docs.count()) self.assertEqual("4", docs[0]["_id"])
def test_elastic_using_endswith_filter(self): f = FilterCondition("headline", "endswith", "Que") query = f.get_elastic_query() with self.app.app_context(): self._setup_elastic_args(query, "keyword") docs = get_resource_service("archive").get(req=self.req, lookup=None) self.assertEqual(1, docs.count()) self.assertEqual("2", docs[0]["_id"])
def test_does_match_with_nin_filter(self): f = FilterCondition('urgency', 'nin', '2,3,4') self.assertTrue(f.does_match(self.articles[0])) self.assertTrue(f.does_match(self.articles[1])) self.assertFalse(f.does_match(self.articles[2])) self.assertFalse(f.does_match(self.articles[3])) self.assertFalse(f.does_match(self.articles[4])) self.assertTrue(f.does_match(self.articles[5]))
def test_mongo_using_endswith_filter(self): f = FilterCondition("headline", "endswith", "Que") query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service("archive").get_from_mongo(req=self.req, lookup=query) self.assertEqual(1, docs.count()) self.assertEqual("2", docs[0]["_id"])
def test_mongo_featuremedia_exists(self): f = FilterCondition('featuremedia', 'exists', 'true') query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service('archive'). \ get_from_mongo(req=self.req, lookup=query) self.assertEqual(1, docs.count()) self.assertEqual('4', docs[0]['_id'])
def test_does_match_with_eq(self): f = FilterCondition("urgency", "eq", "1") self.assertTrue(f.does_match(self.articles[0])) self.assertFalse(f.does_match(self.articles[1])) self.assertFalse(f.does_match(self.articles[2])) self.assertFalse(f.does_match(self.articles[3])) self.assertFalse(f.does_match(self.articles[4])) self.assertFalse(f.does_match(self.articles[5]))
def test_mongo_using_desk_filter_eq(self): f = FilterCondition('desk', 'eq', '1') query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service('archive'). \ get_from_mongo(req=self.req, lookup=query) self.assertEqual(1, docs.count()) self.assertEqual('4', docs[0]['_id'])
def test_does_match_with_eq_string(self): f = FilterCondition("headline", "eq", "Story") self.assertTrue(f.does_match(self.articles[0])) self.assertFalse(f.does_match(self.articles[1])) self.assertFalse(f.does_match(self.articles[2])) self.assertFalse(f.does_match(self.articles[3])) self.assertFalse(f.does_match(self.articles[4])) self.assertFalse(f.does_match(self.articles[5]))
def test_mongo_using_subject_filter_complete_string_eq(self): f = FilterCondition('subject', 'eq', '05005003') query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service('archive'). \ get_from_mongo(req=self.req, lookup=query) self.assertEqual(1, docs.count()) self.assertEqual('8', docs[0]['_id'])
def test_does_match_with_like_full(self): f = FilterCondition("headline", "like", "story") self.assertTrue(f.does_match(self.articles[0])) self.assertFalse(f.does_match(self.articles[1])) self.assertFalse(f.does_match(self.articles[2])) self.assertFalse(f.does_match(self.articles[3])) self.assertFalse(f.does_match(self.articles[4])) self.assertFalse(f.does_match(self.articles[5]))
def test_mongo_using_endswith_filter(self): f = FilterCondition('headline', 'endswith', 'Que') query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service('archive'). \ get_from_mongo(req=self.req, lookup=query) self.assertEqual(1, docs.count()) self.assertEqual('2', docs[0]['_id'])
def test_does_match_with_endswith_filter(self): f = FilterCondition("headline", "endswith", "Que") self.assertFalse(f.does_match(self.articles[0])) self.assertTrue(f.does_match(self.articles[1])) self.assertFalse(f.does_match(self.articles[2])) self.assertFalse(f.does_match(self.articles[3])) self.assertFalse(f.does_match(self.articles[4])) self.assertFalse(f.does_match(self.articles[5]))
def test_does_match_with_eq_string(self): f = FilterCondition('headline', 'eq', 'Story') self.assertTrue(f.does_match(self.articles[0])) self.assertFalse(f.does_match(self.articles[1])) self.assertFalse(f.does_match(self.articles[2])) self.assertFalse(f.does_match(self.articles[3])) self.assertFalse(f.does_match(self.articles[4])) self.assertFalse(f.does_match(self.articles[5]))
def test_does_match_with_nin_filter(self): f = FilterCondition("urgency", "nin", "2,3,4") self.assertTrue(f.does_match(self.articles[0])) self.assertTrue(f.does_match(self.articles[1])) self.assertFalse(f.does_match(self.articles[2])) self.assertFalse(f.does_match(self.articles[3])) self.assertFalse(f.does_match(self.articles[4])) self.assertTrue(f.does_match(self.articles[5]))
def test_does_match_with_startswith_filter(self): f = FilterCondition('headline', 'startswith', 'Sto') self.assertTrue(f.does_match(self.articles[0])) self.assertFalse(f.does_match(self.articles[1])) self.assertFalse(f.does_match(self.articles[2])) self.assertFalse(f.does_match(self.articles[3])) self.assertFalse(f.does_match(self.articles[4])) self.assertFalse(f.does_match(self.articles[5]))
def test_elastic_using_endswith_filter(self): f = FilterCondition('headline', 'endswith', 'Que') query = f.get_elastic_query() with self.app.app_context(): self._setup_elastic_args(query, 'keyword') docs = get_resource_service('archive').get(req=self.req, lookup=None) self.assertEqual(1, docs.count()) self.assertEqual('2', docs[0]['_id'])
def test_mongo_using_notlike_filter(self): f = FilterCondition("headline", "notlike", "Que") query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service("archive").get_from_mongo(req=self.req, lookup=query) self.assertEqual(11, docs.count()) doc_ids = [d["_id"] for d in docs] self.assertTrue("2" not in doc_ids)
def test_mongo_using_in_filter(self): f = FilterCondition('urgency', 'in', '3,4') query = f.get_mongo_query() with self.app.app_context(): docs = get_resource_service('archive'). \ get_from_mongo(req=self.req, lookup=query) self.assertEqual(2, docs.count()) self.assertEqual('3', docs[0]['_id']) self.assertEqual('4', docs[1]['_id'])