-
Notifications
You must be signed in to change notification settings - Fork 77
Expand file tree
/
Copy pathtest_renderer.py
More file actions
54 lines (37 loc) · 1.26 KB
/
test_renderer.py
File metadata and controls
54 lines (37 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
from urllib import parse
import furl
import pytest
from mfr.core.provider import ProviderMetadata
from mfr.extensions.office365 import Office365Renderer
from mfr.extensions.office365 import settings as office365_settings
@pytest.fixture
def metadata():
return ProviderMetadata(
'test',
'.pdf',
'text/plain',
'1234',
'http://wb.osf.io/file/test.pdf?token=1234&public_file=1',
is_public=True
)
@pytest.fixture
def file_path():
return '/tmp/test.docx'
@pytest.fixture
def url():
return parse.quote('http://osf.io/file/test.pdf')
@pytest.fixture
def assets_url():
return 'http://mfr.osf.io/assets'
@pytest.fixture
def export_url():
return 'http://mfr.osf.io/export?url=' + url()
@pytest.fixture
def renderer(metadata, file_path, url, assets_url, export_url):
return Office365Renderer(metadata, file_path, url, assets_url, export_url)
class TestOffice365Renderer:
def test_render_pdf(self, renderer, metadata):
download_url = furl.furl(metadata.download_url).set(query='')
office_render_url = office365_settings.OFFICE_BASE_URL + parse.quote(download_url.url)
body = renderer.render()
assert '<iframe src={} frameborder=\'0\'></iframe>'.format(office_render_url) in body