aboutsummaryrefslogtreecommitdiff
path: root/src/tests/controllers
diff options
context:
space:
mode:
authorFrançois Schmidts <francois.schmidts@gmail.com>2015-12-12 21:14:28 +0100
committerFrançois Schmidts <francois.schmidts@gmail.com>2015-12-17 09:42:56 +0100
commitb35e9773198ef2d8b37c4ca223f08147db47de0b (patch)
treeba4b1b171b3c1ab9414a96ad264c47b0f9d1246b /src/tests/controllers
parentUpdated link to Heroku deploy button on the About page. (diff)
downloadnewspipe-b35e9773198ef2d8b37c4ca223f08147db47de0b.tar.gz
newspipe-b35e9773198ef2d8b37c4ca223f08147db47de0b.tar.bz2
newspipe-b35e9773198ef2d8b37c4ca223f08147db47de0b.zip
moving the root of source code from / to /src/
Diffstat (limited to 'src/tests/controllers')
-rw-r--r--src/tests/controllers/__init__.py5
-rw-r--r--src/tests/controllers/article.py117
-rw-r--r--src/tests/controllers/feed.py31
3 files changed, 153 insertions, 0 deletions
diff --git a/src/tests/controllers/__init__.py b/src/tests/controllers/__init__.py
new file mode 100644
index 00000000..26922c43
--- /dev/null
+++ b/src/tests/controllers/__init__.py
@@ -0,0 +1,5 @@
+from tests.controllers.feed import FeedControllerTest
+from tests.controllers.article import ArticleControllerTest
+
+
+__all__ = ['FeedControllerTest', 'ArticleControllerTest']
diff --git a/src/tests/controllers/article.py b/src/tests/controllers/article.py
new file mode 100644
index 00000000..a62d1a83
--- /dev/null
+++ b/src/tests/controllers/article.py
@@ -0,0 +1,117 @@
+from tests.base import BasePyaggTest
+from web.controllers import ArticleController
+from web.controllers import FeedController
+
+
+class ArticleControllerTest(BasePyaggTest):
+ _contr_cls = ArticleController
+
+ 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(
+ [{'id': art.id} for art in ArticleController(3).read()]))))
+ self.assertEquals(9, len(list(ArticleController(2).challenge(
+ [{'entry_id': art.id} for art in ArticleController(3).read()]
+ ))))
+
+ def test_article_get_unread(self):
+ self.assertEquals({1: 3, 2: 3, 3: 3},
+ ArticleController(2).count_by_feed(readed=False))
+ self.assertEquals({4: 3, 5: 3, 6: 3},
+ ArticleController(3).count_by_feed(readed=False))
+
+ 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"},
+ {"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'],
+ 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 no see 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.assertTrue(art7.readed)
+ self.assertTrue(art7.like)
+ self.assertFalse(art8.readed)
+ self.assertTrue(art8.like)
diff --git a/src/tests/controllers/feed.py b/src/tests/controllers/feed.py
new file mode 100644
index 00000000..6467a5a1
--- /dev/null
+++ b/src/tests/controllers/feed.py
@@ -0,0 +1,31 @@
+from tests.base import BasePyaggTest
+from web.controllers import FeedController
+from web.controllers import ArticleController
+
+
+class FeedControllerTest(BasePyaggTest):
+ _contr_cls = FeedController
+
+ 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(3, len(FeedController().list_fetchable()))
+ self.assertEquals(0, len(FeedController().list_fetchable()))
+ self.assertEquals(3,
+ len(FeedController(3).list_fetchable(refresh_rate=0)))
+ self.assertEquals(5,
+ len(FeedController().list_fetchable(refresh_rate=0)))
bgstack15