Skip to content

Commit

Permalink
Update tests for the new MD renderer
Browse files Browse the repository at this point in the history
Empty __init__.py and unused fixtures/files are
removed. The new test only verifies the download
url. The acutual render process is done in the
browser.
  • Loading branch information
cslzchen committed May 3, 2018
1 parent 0a8a8b0 commit bbbc038
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 48 deletions.
Empty file removed tests/extensions/md/__init__.py
Empty file.
Binary file removed tests/extensions/md/files/invalid.md
Binary file not shown.
60 changes: 12 additions & 48 deletions tests/extensions/md/test_renderer.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import os

import pytest

from mfr.core.provider import ProviderMetadata
from mfr.extensions.md import MdRenderer


@pytest.fixture
def metadata():
def provider_metadata():
return ProviderMetadata('test', '.md', 'text/plain', '1234', 'http://wb.osf.io/file/test.md?token=1234')


Expand All @@ -15,10 +16,6 @@ def test_md_file_path():
return os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files', 'test.md')


@pytest.fixture
def invalid_md_file_path():
return os.path.join(os.path.dirname(os.path.abspath(__file__)), 'files', 'invalid.md')

@pytest.fixture
def url():
return 'http://osf.io/file/test.md'
Expand All @@ -35,51 +32,18 @@ def export_url():


@pytest.fixture
def renderer(metadata, test_md_file_path, url, assets_url, export_url):
return MdRenderer(metadata, test_md_file_path, url, assets_url, export_url)
def mock_renderer(provider_metadata, test_md_file_path, url, assets_url, export_url):
return MdRenderer(provider_metadata, test_md_file_path, url, assets_url, export_url)


class TestMdRenderer:

def test_render_md_file_required(self, renderer):
assert renderer.file_required is True

def test_render_md_cache_result(self, renderer):
assert renderer.cache_result is True

def test_render_md(self, test_md_file_path, assets_url, export_url):
metadata = ProviderMetadata('test', '.md', 'text/plain', '1234', 'http://wb.osf.io/file/test.md?token=1234')
renderer = MdRenderer(metadata, test_md_file_path, url, assets_url, export_url)
body = renderer.render()
inbody = """
<h1>Heading</h1>
<h2>Sub-heading</h2>
<h3>Another deeper heading</h3>
<p>Paragraphs are separated
by a blank line.</p>
<p>Leave 2 spaces at the end of a line to do a<br />
line break</p>
<p>Text attributes <em>italic</em>, <strong>bold</strong>,
<code>monospace</code>.</p>
<p>A <a href="http://example.com">link</a>.
[28]</p>
<p>Shopping list:</p>
<ul>
<li>apples</li>
<li>oranges</li>
<li>pears</li>
</ul>
<p>Numbered list:</p>
<ol>
<li>apples</li>
<li>oranges</li>
<li>pears</li>
</ol>
<p>The rain---not the reign---in
Spain.</p>
<p>&lt;script&gt;
alert("Hello world");
&lt;/script&gt;</p>
"""
assert inbody in body
def test_render_md_file_required(self, mock_renderer):
assert mock_renderer.file_required is True

def test_render_md_cache_result(self, mock_renderer):
assert mock_renderer.cache_result is True

def test_render_md(self, mock_renderer):
body = mock_renderer.render()
assert mock_renderer.metadata.download_url in body

0 comments on commit bbbc038

Please sign in to comment.