From 6b4d80849649fb68c7c3283dccd84f9a2db02acb Mon Sep 17 00:00:00 2001 From: François Schmidts Date: Tue, 19 May 2015 00:12:00 +0200 Subject: adding filters mechanism + splitting tests + adding tests for filters --- tests/controllers/article.py | 94 +++++++++++++++++++++++++++++++++++++++++++- tests/controllers/feed.py | 10 ++++- 2 files changed, 100 insertions(+), 4 deletions(-) (limited to 'tests/controllers') diff --git a/tests/controllers/article.py b/tests/controllers/article.py index 9a635fa7..51260546 100644 --- a/tests/controllers/article.py +++ b/tests/controllers/article.py @@ -1,15 +1,18 @@ from tests.base import BasePyaggTest from pyaggr3g470r.controllers import ArticleController +from pyaggr3g470r.controllers import FeedController class ArticleControllerTest(BasePyaggTest): _contr_cls = ArticleController - def test_controller(self): + def test_article_rights(self): article = ArticleController(2).read()[0].dump() self.assertFalse(article['readed']) article['readed'] = True # article get read when retreived through get self._test_controller_rights(article, article['user_id']) + + def test_article_challange_method(self): self.assertEquals(0, len(list(ArticleController().challenge( [{'id': art.id} for art in ArticleController(3).read()])))) self.assertEquals(9, len(list(ArticleController(2).challenge( @@ -17,7 +20,94 @@ class ArticleControllerTest(BasePyaggTest): self.assertEquals(9, len(list(ArticleController(2).challenge( [{'entry_id': art.id} for art in ArticleController(3).read()] )))) - self.assertEquals({1: 2, 2: 3, 3: 3}, + + def test_article_get_unread(self): + self.assertEquals({1: 3, 2: 3, 3: 3}, ArticleController(2).get_unread()) self.assertEquals({4: 3, 5: 3, 6: 3}, ArticleController(3).get_unread()) + + def test_create_using_filters(self): + feed_ctr = FeedController(2) + feed1 = feed_ctr.read()[0].dump() + feed2 = feed_ctr.read()[1].dump() + feed3 = feed_ctr.read()[2].dump() + feed_ctr.update({'id': feed1['id']}, + {'filters': [{"type": "simple match", + "pattern": "no see pattern", + "action on": "match", + "action": "mark as read"}]}) + feed_ctr.update({'id': feed3['id']}, + {'filters': [{"type": "regex", + "pattern": ".*(pattern1|pattern2).*", + "action on": "no match", + "action": "mark as favorite"}]}) + art1 = ArticleController(2).create( + entry_id="thisisnotatest", + feed_id=feed1['id'], + title="garbage no see pattern garbage", + content="doesn't matter", + link="doesn't matter either") + art2 = ArticleController(2).create( + entry_id="thisisnotatesteither", + feed_id=feed1['id'], + title="garbage see pattern garbage", + content="doesn't matter2", + link="doesn't matter either2") + + art3 = ArticleController(2).create( + entry_id="thisisnotatest", + user_id=2, + feed_id=feed2['id'], + title="garbage no see pattern garbage", + content="doesn't matter", + link="doesn't matter either") + art4 = ArticleController(2).create( + entry_id="thisisnotatesteither", + user_id=2, + feed_id=feed2['id'], + title="garbage see pattern garbage", + content="doesn't matter2", + link="doesn't matter either2") + + art5 = ArticleController(2).create( + entry_id="thisisnotatest", + feed_id=feed3['id'], + title="garbage pattern1 garbage", + content="doesn't matter", + link="doesn't matter either") + art6 = ArticleController(2).create( + entry_id="thisisnotatesteither", + feed_id=feed3['id'], + title="garbage pattern2 garbage", + content="doesn't matter2", + link="doesn't matter either2") + art7 = ArticleController(2).create( + entry_id="thisisnotatesteither", + feed_id=feed3['id'], + title="garbage pattern3 garbage", + content="doesn't matter3", + link="doesn't matter either3") + art8 = ArticleController(2).create( + entry_id="thisisnotatesteither", + feed_id=feed3['id'], + title="garbage pattern4 garbage", + content="doesn't matter4", + link="doesn't matter either4") + + self.assertTrue(art1.readed) + self.assertFalse(art1.like) + self.assertFalse(art2.readed) + self.assertFalse(art2.like) + self.assertFalse(art3.readed) + self.assertFalse(art3.like) + self.assertFalse(art4.readed) + self.assertFalse(art4.like) + self.assertFalse(art5.readed) + self.assertFalse(art5.like) + self.assertFalse(art6.readed) + self.assertFalse(art6.like) + self.assertFalse(art7.readed) + self.assertTrue(art7.like) + self.assertFalse(art8.readed) + self.assertTrue(art8.like) diff --git a/tests/controllers/feed.py b/tests/controllers/feed.py index 924b8ddd..863ac0bb 100644 --- a/tests/controllers/feed.py +++ b/tests/controllers/feed.py @@ -6,18 +6,24 @@ from pyaggr3g470r.controllers import ArticleController class FeedControllerTest(BasePyaggTest): _contr_cls = FeedController - def test_controller(self): + def test_feed_rights(self): feed = FeedController(2).read()[0].dump() self.assertTrue(3, ArticleController().read(feed_id=feed['id']).count()) self._test_controller_rights(feed, feed['user_id']) # checking articles are deleted after the feed has been deleted + + def test_feed_article_deletion(self): + feed_ctr = FeedController(2) + feed = feed_ctr.read()[0].dump() + feed_ctr.delete(feed['id']) self.assertFalse(0, ArticleController().read(feed_id=feed['id']).count()) + def test_feed_list_fetchable(self): self.assertEquals(3, len(FeedController(3).list_fetchable())) self.assertEquals(0, len(FeedController(3).list_fetchable())) - self.assertEquals(2, len(FeedController().list_fetchable())) + self.assertEquals(3, len(FeedController().list_fetchable())) self.assertEquals(0, len(FeedController().list_fetchable())) self.assertEquals(3, len(FeedController(3).list_fetchable(refresh_rate=0))) -- cgit From 5fba105078286cebb299eaa59eec4f801b5bc84e Mon Sep 17 00:00:00 2001 From: François Schmidts Date: Tue, 19 May 2015 10:21:07 +0200 Subject: adding comments and tests --- tests/controllers/article.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'tests/controllers') diff --git a/tests/controllers/article.py b/tests/controllers/article.py index 51260546..5e873694 100644 --- a/tests/controllers/article.py +++ b/tests/controllers/article.py @@ -41,7 +41,11 @@ class ArticleControllerTest(BasePyaggTest): {'filters': [{"type": "regex", "pattern": ".*(pattern1|pattern2).*", "action on": "no match", - "action": "mark as favorite"}]}) + "action": "mark as favorite"}, + {"type": "simple match", + "pattern": "no see pattern", + "action on": "match", + "action": "mark as read"}]}) art1 = ArticleController(2).create( entry_id="thisisnotatest", feed_id=feed1['id'], @@ -85,7 +89,7 @@ class ArticleControllerTest(BasePyaggTest): art7 = ArticleController(2).create( entry_id="thisisnotatesteither", feed_id=feed3['id'], - title="garbage pattern3 garbage", + title="garbage no see pattern3 garbage", content="doesn't matter3", link="doesn't matter either3") art8 = ArticleController(2).create( @@ -107,7 +111,7 @@ class ArticleControllerTest(BasePyaggTest): self.assertFalse(art5.like) self.assertFalse(art6.readed) self.assertFalse(art6.like) - self.assertFalse(art7.readed) + self.assertTrue(art7.readed) self.assertTrue(art7.like) self.assertFalse(art8.readed) self.assertTrue(art8.like) -- cgit From 4f03d7b324360f718780fcbdfc359f60896fead4 Mon Sep 17 00:00:00 2001 From: François Schmidts Date: Sun, 24 May 2015 19:09:35 +0200 Subject: accelerating the feeds page --- tests/controllers/article.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tests/controllers') diff --git a/tests/controllers/article.py b/tests/controllers/article.py index 5e873694..5a54e0b7 100644 --- a/tests/controllers/article.py +++ b/tests/controllers/article.py @@ -23,9 +23,9 @@ class ArticleControllerTest(BasePyaggTest): def test_article_get_unread(self): self.assertEquals({1: 3, 2: 3, 3: 3}, - ArticleController(2).get_unread()) + ArticleController(2).count_by_feed(readed=False)) self.assertEquals({4: 3, 5: 3, 6: 3}, - ArticleController(3).get_unread()) + ArticleController(3).count_by_feed(readed=False)) def test_create_using_filters(self): feed_ctr = FeedController(2) -- cgit