diff options
| author | Jannis Leidel <jannis@leidel.info> | 2015-01-21 22:57:07 +0100 |
|---|---|---|
| committer | Jannis Leidel <jannis@leidel.info> | 2015-01-22 12:09:50 +0100 |
| commit | 6a2554f1d0774735f54bc6fb47da7944d82cd304 (patch) | |
| tree | 7b5b16134283a86a37dc7754434903aa57682318 /aggregator | |
| parent | efb2296c57b2fe3acfb023c9c0aaa8fbd3d04ce4 (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.py | 70 |
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) |
