diff --git a/adr_viewer/__init__.py b/adr_viewer/__init__.py index 6cc65b9..f3efb2e 100644 --- a/adr_viewer/__init__.py +++ b/adr_viewer/__init__.py @@ -25,8 +25,8 @@ def generate_content(path, template_dir_override=None, title=None) -> str: } for index, adr_file in enumerate(files): - - adr_attributes = parse_adr(adr_file) + markdown = open(adr_file).read() + adr_attributes = parse_adr(markdown) if adr_attributes: adr_attributes.index = index diff --git a/adr_viewer/parse.py b/adr_viewer/parse.py index b4b359b..9b51512 100644 --- a/adr_viewer/parse.py +++ b/adr_viewer/parse.py @@ -29,8 +29,8 @@ def extract_statuses_from_adr(page_object) -> Iterator[str]: continue -def parse_adr(path) -> Optional[Adr]: - adr_as_html = mistune.markdown(open(path).read()) +def parse_adr(content: str) -> Optional[Adr]: + adr_as_html = mistune.markdown(content) soup = BeautifulSoup(adr_as_html, features='html.parser') diff --git a/adr_viewer/test_parse.py b/adr_viewer/test_parse.py index 9783070..eca25ae 100644 --- a/adr_viewer/test_parse.py +++ b/adr_viewer/test_parse.py @@ -2,54 +2,63 @@ def test_should_extract_title_from_record(): - adr = parse_adr('doc/adr/0001-record-architecture-decisions.md') + markdown = open('doc/adr/0001-record-architecture-decisions.md').read() + adr = parse_adr(markdown) assert adr.title == '1. Record architecture decisions' def test_should_extract_status_from_record(): - adr = parse_adr('doc/adr/0001-record-architecture-decisions.md') + markdown = open('doc/adr/0001-record-architecture-decisions.md').read() + adr = parse_adr(markdown) assert adr.status == 'accepted' -def test_should_include_adr_as_html(): - adr = parse_adr('doc/adr/0001-record-architecture-decisions.md') +def test_should_include_adr_as_markdown(): + markdown = open('doc/adr/0001-record-architecture-decisions.md').read() + adr = parse_adr(markdown) assert '