diff options
author | Ben Sturmfels <ben@sturm.com.au> | 2021-03-15 23:24:44 +1100 |
---|---|---|
committer | Ben Sturmfels <ben@sturm.com.au> | 2021-03-16 12:17:57 +1100 |
commit | 2d941d21e131a4cd228b436706ded084d537b9c8 (patch) | |
tree | 2f0a9ea4dd33727ce4f9cc889baafe14ef3c0a34 /mediagoblin/tests | |
parent | 6d3d8667aec55fa18e6c2c92224ec02a42f3521d (diff) | |
download | mediagoblin-2d941d21e131a4cd228b436706ded084d537b9c8.tar.lz mediagoblin-2d941d21e131a4cd228b436706ded084d537b9c8.tar.xz mediagoblin-2d941d21e131a4cd228b436706ded084d537b9c8.zip |
Convert atom feeds to use feedgenerator library.
Issue is that Werkzeug > 1.0.0 has removed werkzeug.contrib.atom.AtomFeed,
making it difficult to use a distribution-packaged version of werkzeug. To solve
this, I've replaced use of werkzeug.contrib.atom.AtomFeed with
feedgenerator.Atom1Feed.
After the change, the only major difference between the feeds before and after is
that they use <summary> instead of <content>. Minor differences include no longer
adding 'type="text/html"' on some <link> elements and no "xml:base" attribute on
<entry> elements. I don't think these differences will have any noticable
effect.
Tested on Liferea feed reader.
Diffstat (limited to 'mediagoblin/tests')
-rw-r--r-- | mediagoblin/tests/test_feed.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/mediagoblin/tests/test_feed.py b/mediagoblin/tests/test_feed.py new file mode 100644 index 00000000..93b8531f --- /dev/null +++ b/mediagoblin/tests/test_feed.py @@ -0,0 +1,19 @@ +from mediagoblin.tests.tools import fixture_add_user, fixture_media_entry + + +class TestFeeds: + def setup(self): + self.user = fixture_add_user(username='terence', privileges=['active']) + self.media_entry = fixture_media_entry( + uploader=self.user.id, + state='processed') + + def test_site_feed(self, test_app): + res = test_app.get('/atom/') + assert res.status_int == 200 + assert res.content_type == 'application/atom+xml' + + def test_user_feed(self, test_app): + res = test_app.get('/u/terence/atom/') + assert res.status_int == 200 + assert res.content_type == 'application/atom+xml' |