summaryrefslogtreecommitdiff
path: root/aggregator
diff options
context:
space:
mode:
authorJannis Leidel <jannis@leidel.info>2015-01-21 22:57:07 +0100
committerJannis Leidel <jannis@leidel.info>2015-01-22 12:09:50 +0100
commit6a2554f1d0774735f54bc6fb47da7944d82cd304 (patch)
tree7b5b16134283a86a37dc7754434903aa57682318 /aggregator
parentefb2296c57b2fe3acfb023c9c0aaa8fbd3d04ce4 (diff)
Fixed tests and added CI.
- Added Travis-CI - Added coverage - Added coveralls - Fixed aggregator tests to not require PuSH server and not recreate objects again
Diffstat (limited to 'aggregator')
-rw-r--r--aggregator/tests.py70
1 files changed, 52 insertions, 18 deletions
diff --git a/aggregator/tests.py b/aggregator/tests.py
index fb69e506..ef12c107 100644
--- a/aggregator/tests.py
+++ b/aggregator/tests.py
@@ -1,4 +1,5 @@
import datetime
+import requests_mock
from django.conf import settings
from django.contrib.auth.models import Group, User
@@ -14,38 +15,71 @@ from . import models
class AggregatorTests(TestCase):
- def setUp(self):
+ @requests_mock.mock()
+ def setUp(self, mocker):
+ mocker.register_uri(
+ 'POST',
+ 'https://superfeedr.com/hubbub',
+ status_code=202
+ )
# document release necessary to fetch main page
- DocumentRelease(version="1.4", scm="svn", scm_url="/path/to/svn", is_default=True).save()
+ DocumentRelease.objects.get_or_create(
+ version="1.4",
+ scm="svn",
+ scm_url="/path/to/svn",
+ is_default=True,
+ )
# Set up users who will get emailed
- g = Group.objects.create(name=settings.FEED_APPROVERS_GROUP_NAME)
- self.user = User.objects.create(username="Mr. Potato", email="mr@potato.com")
+ g, _ = Group.objects.get_or_create(
+ name=settings.FEED_APPROVERS_GROUP_NAME,
+ )
+ self.user, _ = User.objects.get_or_create(
+ username="Mr. Potato",
+ email="mr@potato.com",
+ )
self.user.groups.add(g)
- self.feed_type = models.FeedType.objects.create(name="Test Feed Type", slug="test-feed-type", can_self_add=True)
+ self.feed_type, _ = models.FeedType.objects.get_or_create(
+ name="Test Feed Type",
+ slug="test-feed-type",
+ can_self_add=True,
+ )
- self.approved_feed = models.Feed.objects.create(
- title="Approved", feed_url="foo.com/rss/", public_url="foo.com/",
- approval_status=models.APPROVED_FEED, feed_type=self.feed_type,
+ self.approved_feed, _ = models.Feed.objects.get_or_create(
+ title="Approved",
+ feed_url="foo.com/rss/",
+ public_url="foo.com/",
+ approval_status=models.APPROVED_FEED,
+ feed_type=self.feed_type,
)
- self.denied_feed = models.Feed.objects.create(
- title="Denied", feed_url="bar.com/rss/", public_url="bar.com/",
- approval_status=models.DENIED_FEED, feed_type=self.feed_type,
+ self.denied_feed, _ = models.Feed.objects.get_or_create(
+ title="Denied",
+ feed_url="bar.com/rss/",
+ public_url="bar.com/",
+ approval_status=models.DENIED_FEED,
+ feed_type=self.feed_type,
)
- self.pending_feed = models.Feed.objects.create(
- title="Pending", feed_url="baz.com/rss/", public_url="baz.com/",
- approval_status=models.PENDING_FEED, feed_type=self.feed_type,
+ self.pending_feed, _ = models.Feed.objects.get_or_create(
+ title="Pending",
+ feed_url="baz.com/rss/",
+ public_url="baz.com/",
+ approval_status=models.PENDING_FEED,
+ feed_type=self.feed_type,
)
for feed in [self.approved_feed, self.denied_feed, self.pending_feed]:
- models.FeedItem.objects.create(
- feed=feed, title="%s Item" % feed.title, link=feed.public_url,
- date_modified=datetime.datetime.now(), guid=feed.title,
+ models.FeedItem.objects.get_or_create(
+ feed=feed,
+ title="%s Item" % feed.title,
+ link=feed.public_url,
+ date_modified=datetime.datetime.now(),
+ guid=feed.title,
)
def test_feed_list_only_approved_and_active(self):
- response = self.client.get(reverse('community-feed-list', kwargs={'feed_type_slug': self.feed_type.slug}))
+ url = reverse('community-feed-list', kwargs={'feed_type_slug': self.feed_type.slug})
+ response = self.client.get(url)
for item in response.context['object_list']:
self.assertEqual(models.APPROVED_FEED, item.feed.approval_status)