Skip to content

Commit 453a9c0

Browse files
committed
Test against minimal configuration
1 parent dc5be82 commit 453a9c0

4 files changed

Lines changed: 85 additions & 6 deletions

File tree

tests/fixtures/docs/page_with_meta.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
Title: Use the MkDocs RSS Plugin
33
date: 2020-03-20 10:20
44
description: First test page of mkdocs-rss-plugin test suite
5+
tags:
6+
- test
57
---
68

7-
# First Test page
9+
# Test page with meta
810

911
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Project information
2+
site_name: MkDocs RSS Plugin - TEST
3+
site_description: Basic setup to test against MkDocs RSS plugin
4+
site_author: Julien Moura (Guts)
5+
site_url: https://guts.github.io/mkdocs-rss-plugin
6+
copyright: 'Guts - In Geo Veritas'
7+
8+
# Repository
9+
repo_name: 'guts/mkdocs-rss-plugin'
10+
repo_url: 'https://github.com/guts/mkdocs-rss-plugin'
11+
12+
use_directory_urls: true
13+
14+
plugins:
15+
- rss:
16+
categories:
17+
- tags
18+
19+
theme:
20+
name: readthedocs
21+
22+
# Extensions to enhance markdown
23+
markdown_extensions:
24+
- meta
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
site_name: Test RSS Plugin
2-
site_description: Test RSS Plugin
2+
# site_description: Test RSS Plugin
3+
site_url: https://guts.github.io/mkdocs-rss-plugin
34

45
use_directory_urls: true
56

67
plugins:
7-
- search
88
- rss
99

1010
theme:

tests/test_build.py

Lines changed: 56 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,22 @@ def test_simple_build(self):
6666
testproject_path="docs",
6767
mkdocs_yml_filepath=Path("mkdocs.yml"),
6868
output_path=tmpdirname,
69+
strict=False,
70+
)
71+
72+
if cli_result.exception is not None:
73+
e = cli_result.exception
74+
logger.debug(format_exception(type(e), e, e.__traceback__))
75+
76+
self.assertEqual(cli_result.exit_code, 0)
77+
self.assertIsNone(cli_result.exception)
78+
79+
def test_simple_build_minimal(self):
80+
with tempfile.TemporaryDirectory() as tmpdirname:
81+
cli_result = self.build_docs_setup(
82+
testproject_path="docs",
83+
mkdocs_yml_filepath=Path("tests/fixtures/mkdocs_minimal.yml"),
84+
output_path=tmpdirname,
6985
strict=True,
7086
)
7187

@@ -76,6 +92,23 @@ def test_simple_build(self):
7692
self.assertEqual(cli_result.exit_code, 0)
7793
self.assertIsNone(cli_result.exception)
7894

95+
# created items
96+
feed_parsed = feedparser.parse(Path(tmpdirname) / "feed_rss_created.xml")
97+
for feed_item in feed_parsed.entries:
98+
print(feed_item.keys())
99+
# mandatory properties
100+
self.assertTrue("description" in feed_item)
101+
self.assertTrue("guid" in feed_item)
102+
self.assertTrue("link" in feed_item)
103+
self.assertTrue("published" in feed_item)
104+
self.assertTrue("source" in feed_item)
105+
self.assertTrue("title" in feed_item)
106+
# optional - following should not be present in the feed by default
107+
self.assertTrue("author" not in feed_item)
108+
self.assertTrue("category" not in feed_item)
109+
self.assertTrue("comments" not in feed_item)
110+
self.assertTrue("enclosure" not in feed_item)
111+
79112
def test_simple_build_disabled(self):
80113
with tempfile.TemporaryDirectory() as tmpdirname:
81114
cli_result = self.build_docs_setup(
@@ -108,14 +141,34 @@ def test_simple_build_feed_length(self):
108141

109142
# created items
110143
feed_parsed = feedparser.parse(Path(tmpdirname) / "feed_rss_created.xml")
111-
self.assertEqual(feed_parsed.bozo, 0)
144+
self.assertEqual(len(feed_parsed.entries), 3)
112145

113146
# updated items
114147
feed_parsed = feedparser.parse(Path(tmpdirname) / "feed_rss_updated.xml")
115-
self.assertEqual(feed_parsed.bozo, 0)
116-
117148
self.assertEqual(len(feed_parsed.entries), 3)
118149

150+
def test_simple_build_item_categories_enabled(self):
151+
with tempfile.TemporaryDirectory() as tmpdirname:
152+
cli_result = self.build_docs_setup(
153+
testproject_path="docs",
154+
mkdocs_yml_filepath=Path("tests/fixtures/mkdocs_item_categories.yml"),
155+
output_path=tmpdirname,
156+
strict=True,
157+
)
158+
if cli_result.exception is not None:
159+
e = cli_result.exception
160+
logger.debug(format_exception(type(e), e, e.__traceback__))
161+
162+
self.assertEqual(cli_result.exit_code, 0)
163+
self.assertIsNone(cli_result.exception)
164+
165+
# created items
166+
feed_parsed = feedparser.parse(Path(tmpdirname) / "feed_rss_created.xml")
167+
168+
for feed_item in feed_parsed.entries:
169+
if feed_item.title in ("Test page with meta",):
170+
self.assertTrue("category" in feed_item)
171+
119172
def test_simple_build_item_comments_enabled(self):
120173
with tempfile.TemporaryDirectory() as tmpdirname:
121174
cli_result = self.build_docs_setup(

0 commit comments

Comments
 (0)