1
1
import os
2
+
2
3
import pytest
3
4
4
5
from mfr .core .provider import ProviderMetadata
5
6
from mfr .extensions .md import MdRenderer
6
7
7
8
8
9
@pytest .fixture
9
- def metadata ():
10
+ def provider_metadata ():
10
11
return ProviderMetadata ('test' , '.md' , 'text/plain' , '1234' , 'http://wb.osf.io/file/test.md?token=1234' )
11
12
12
13
@@ -15,10 +16,6 @@ def test_md_file_path():
15
16
return os .path .join (os .path .dirname (os .path .abspath (__file__ )), 'files' , 'test.md' )
16
17
17
18
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
-
22
19
@pytest .fixture
23
20
def url ():
24
21
return 'http://osf.io/file/test.md'
@@ -35,51 +32,18 @@ def export_url():
35
32
36
33
37
34
@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 )
40
37
41
38
42
39
class TestMdRenderer :
43
40
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
85
46
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