From 241fe59b74bb6031fa644f3ad55e6ad6a9187510 Mon Sep 17 00:00:00 2001 From: Marcelo Galigniana Date: Sun, 22 May 2022 18:15:11 -0300 Subject: [PATCH] Refs #22078 -- Added syndication test for feeds with callable objects. --- tests/syndication_tests/feeds.py | 8 ++++++++ tests/syndication_tests/tests.py | 6 ++++++ tests/syndication_tests/urls.py | 3 +++ 3 files changed, 17 insertions(+) diff --git a/tests/syndication_tests/feeds.py b/tests/syndication_tests/feeds.py index 17d807f302..f8c0a27832 100644 --- a/tests/syndication_tests/feeds.py +++ b/tests/syndication_tests/feeds.py @@ -39,6 +39,14 @@ class TestRss2Feed(views.Feed): item_copyright = "Copyright (c) 2007, Sally Smith" +class TestRss2FeedWithCallableObject(TestRss2Feed): + class TimeToLive: + def __call__(self): + return 700 + + ttl = TimeToLive() + + class TestRss2FeedWithGuidIsPermaLinkTrue(TestRss2Feed): def item_guid_is_permalink(self, item): return True diff --git a/tests/syndication_tests/tests.py b/tests/syndication_tests/tests.py index 464ca76d54..207ffb7bc8 100644 --- a/tests/syndication_tests/tests.py +++ b/tests/syndication_tests/tests.py @@ -196,6 +196,12 @@ class SyndicationFeedTest(FeedTestCase): item.getElementsByTagName("guid")[0].attributes.get("isPermaLink") ) + def test_rss2_feed_with_callable_object(self): + response = self.client.get("/syndication/rss2/with-callable-object/") + doc = minidom.parseString(response.content) + chan = doc.getElementsByTagName("rss")[0].getElementsByTagName("channel")[0] + self.assertChildNodeContent(chan, {"ttl": "700"}) + def test_rss2_feed_guid_permalink_false(self): """ Test if the 'isPermaLink' attribute of element of an item diff --git a/tests/syndication_tests/urls.py b/tests/syndication_tests/urls.py index 511f977ebc..7ebcbf0e5b 100644 --- a/tests/syndication_tests/urls.py +++ b/tests/syndication_tests/urls.py @@ -4,6 +4,9 @@ from . import feeds urlpatterns = [ path("syndication/rss2/", feeds.TestRss2Feed()), + path( + "syndication/rss2/with-callable-object/", feeds.TestRss2FeedWithCallableObject() + ), path("syndication/rss2/articles//", feeds.TestGetObjectFeed()), path( "syndication/rss2/guid_ispermalink_true/",