summaryrefslogtreecommitdiff
path: root/tests/comment_tests/tests/feed_tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/comment_tests/tests/feed_tests.py')
-rw-r--r--tests/comment_tests/tests/feed_tests.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/comment_tests/tests/feed_tests.py b/tests/comment_tests/tests/feed_tests.py
new file mode 100644
index 0000000000..c93d7abf7d
--- /dev/null
+++ b/tests/comment_tests/tests/feed_tests.py
@@ -0,0 +1,53 @@
+from __future__ import absolute_import
+
+from xml.etree import ElementTree as ET
+
+from django.conf import settings
+from django.contrib.comments.models import Comment
+from django.contrib.contenttypes.models import ContentType
+from django.contrib.sites.models import Site
+
+from . import CommentTestCase
+from ..models import Article
+
+
+class CommentFeedTests(CommentTestCase):
+ urls = 'regressiontests.comment_tests.urls'
+ feed_url = '/rss/comments/'
+
+ def setUp(self):
+ site_2 = Site.objects.create(id=settings.SITE_ID+1,
+ domain="example2.com", name="example2.com")
+ # A comment for another site
+ c5 = Comment.objects.create(
+ content_type = ContentType.objects.get_for_model(Article),
+ object_pk = "1",
+ user_name = "Joe Somebody",
+ user_email = "jsomebody@example.com",
+ user_url = "http://example.com/~joe/",
+ comment = "A comment for the second site.",
+ site = site_2,
+ )
+
+ def test_feed(self):
+ response = self.client.get(self.feed_url)
+ self.assertEqual(response.status_code, 200)
+ self.assertEqual(response['Content-Type'], 'application/rss+xml; charset=utf-8')
+
+ rss_elem = ET.fromstring(response.content)
+
+ self.assertEqual(rss_elem.tag, "rss")
+ self.assertEqual(rss_elem.attrib, {"version": "2.0"})
+
+ channel_elem = rss_elem.find("channel")
+
+ title_elem = channel_elem.find("title")
+ self.assertEqual(title_elem.text, "example.com comments")
+
+ link_elem = channel_elem.find("link")
+ self.assertEqual(link_elem.text, "http://example.com/")
+
+ atomlink_elem = channel_elem.find("{http://www.w3.org/2005/Atom}link")
+ self.assertEqual(atomlink_elem.attrib, {"href": "http://example.com/rss/comments/", "rel": "self"})
+
+ self.assertNotContains(response, "A comment for the second site.")