11import os
2+
23import pytest
34
45from mfr .core .provider import ProviderMetadata
56from mfr .extensions .md import MdRenderer
67
78
89@pytest .fixture
9- def metadata ():
10+ def provider_metadata ():
1011 return ProviderMetadata ('test' , '.md' , 'text/plain' , '1234' , 'http://wb.osf.io/file/test.md?token=1234' )
1112
1213
@@ -15,10 +16,6 @@ def test_md_file_path():
1516 return os .path .join (os .path .dirname (os .path .abspath (__file__ )), 'files' , 'test.md' )
1617
1718
18- @pytest .fixture
19- def invalid_md_file_path ():
20- return os .path .join (os .path .dirname (os .path .abspath (__file__ )), 'files' , 'invalid.md' )
21-
2219@pytest .fixture
2320def url ():
2421 return 'http://osf.io/file/test.md'
@@ -35,51 +32,18 @@ def export_url():
3532
3633
3734@pytest .fixture
38- def renderer ( metadata , test_md_file_path , url , assets_url , export_url ):
39- return MdRenderer (metadata , test_md_file_path , url , assets_url , export_url )
35+ def mock_renderer ( provider_metadata , test_md_file_path , url , assets_url , export_url ):
36+ return MdRenderer (provider_metadata , test_md_file_path , url , assets_url , export_url )
4037
4138
4239class TestMdRenderer :
4340
44- def test_render_md_file_required (self , renderer ):
45- assert renderer .file_required is True
46-
47- def test_render_md_cache_result (self , renderer ):
48- assert renderer .cache_result is True
49-
50- def test_render_md (self , test_md_file_path , assets_url , export_url ):
51- metadata = ProviderMetadata ('test' , '.md' , 'text/plain' , '1234' , 'http://wb.osf.io/file/test.md?token=1234' )
52- renderer = MdRenderer (metadata , test_md_file_path , url , assets_url , export_url )
53- body = renderer .render ()
54- inbody = """
55- <h1>Heading</h1>
56- <h2>Sub-heading</h2>
57- <h3>Another deeper heading</h3>
58- <p>Paragraphs are separated
59- by a blank line.</p>
60- <p>Leave 2 spaces at the end of a line to do a<br />
61- line break</p>
62- <p>Text attributes <em>italic</em>, <strong>bold</strong>,
63- <code>monospace</code>.</p>
64- <p>A <a href="http://example.com">link</a>.
65- [28]</p>
66- <p>Shopping list:</p>
67- <ul>
68- <li>apples</li>
69- <li>oranges</li>
70- <li>pears</li>
71- </ul>
72- <p>Numbered list:</p>
73- <ol>
74- <li>apples</li>
75- <li>oranges</li>
76- <li>pears</li>
77- </ol>
78- <p>The rain---not the reign---in
79- Spain.</p>
80- <p><script>
81- alert("Hello world");
82- </script></p>
83- """
84- assert inbody in body
41+ def test_render_md_file_required (self , mock_renderer ):
42+ assert mock_renderer .file_required is True
43+
44+ def test_render_md_cache_result (self , mock_renderer ):
45+ assert mock_renderer .cache_result is True
8546
47+ def test_render_md (self , mock_renderer ):
48+ body = mock_renderer .render ()
49+ assert mock_renderer .metadata .download_url in body
0 commit comments