|
1 | 1 | import pytest |
2 | 2 |
|
3 | 3 | from mfr.core.provider import ProviderMetadata |
4 | | - |
5 | 4 | from mfr.extensions.papaya import PapayaRenderer |
6 | 5 |
|
7 | | - |
8 | 6 | @pytest.fixture |
9 | | -def metadata(): |
10 | | - return ProviderMetadata('test.nii', '.gz', 'text/plain', '1234', 'http://wb.osf.io/file/test.nii.gz?token=1234') |
| 7 | +def assets_url(): |
| 8 | + return 'http://mfr.osf.io/assets' |
11 | 9 |
|
12 | 10 |
|
13 | 11 | @pytest.fixture |
14 | | -def file_path(): |
15 | | - return './tests/extensions/papaya/files/507643e2-c0fb-45e4-805e-96231c8251de' |
| 12 | +def export_url(): |
| 13 | + return 'http://mfr.osf.io/export?url=' |
16 | 14 |
|
17 | 15 |
|
18 | 16 | @pytest.fixture |
19 | | -def url(): |
20 | | - return 'http://osf.io/file/test.nii.gz' |
| 17 | +def test_file_dir(): |
| 18 | + return './tests/extensions/papaya/files/' |
21 | 19 |
|
22 | 20 |
|
23 | 21 | @pytest.fixture |
24 | | -def assets_url(): |
25 | | - return 'http://mfr.osf.io/assets' |
| 22 | +def url(): |
| 23 | + return 'http://osf.io/file/test' |
26 | 24 |
|
27 | 25 |
|
28 | | -@pytest.fixture |
29 | | -def export_url(): |
30 | | - return 'http://mfr.osf.io/export?url=' + url() |
| 26 | +valid_render_data = [(ProviderMetadata('test.nii', '.gz', 'text/plain', '1234', |
| 27 | + 'http://wb.osf.io/file/test.nii.gz?token=1234'), |
| 28 | + '507643e2-c0fb-45e4-805e-96231c8251de', |
| 29 | + '.nii.gz' |
| 30 | + ), |
| 31 | + (ProviderMetadata('test', '.nii', 'text/plain', '1234', |
| 32 | + 'http://wb.osf.io/file/test.nii?to ken=1234'), |
| 33 | + '298783da-64b0-44e0-bab6-5716ecb9535d', |
| 34 | + '.nii' |
| 35 | + ), |
| 36 | + (ProviderMetadata('test', '.dcm', 'text/plain', '1234', |
| 37 | + 'http://wb.osf.io/file/test.dcm?to ken=1234'), |
| 38 | + 'b24a0d9f-c38a-42bd-a2e7-5448d3ce0060', |
| 39 | + '.dcm' |
| 40 | + )] |
31 | 41 |
|
32 | 42 |
|
33 | | -@pytest.fixture |
34 | | -def renderer(metadata, file_path, url, assets_url, export_url): |
35 | | - return PapayaRenderer(metadata, file_path, url, assets_url, export_url) |
| 43 | +@pytest.fixture(params=valid_render_data) |
| 44 | +def valid_renderer(request, assets_url, export_url, test_file_dir, url): |
| 45 | + metadata, file_name, file_ext = request.param |
| 46 | + return PapayaRenderer(metadata, test_file_dir + file_name, url, assets_url, |
| 47 | + export_url + url + file_ext), file_name, file_ext |
36 | 48 |
|
37 | 49 |
|
38 | 50 | class TestPapayaRenderer: |
39 | 51 |
|
40 | | - def test_render_papaya(self, renderer, metadata, assets_url): |
| 52 | + def test_render_papaya_valid(self, valid_renderer): |
| 53 | + renderer, file_name, file_ext = valid_renderer |
41 | 54 | body = renderer.render() |
42 | | - print(body) |
43 | 55 | assert '<script type="text/javascript" src="http://mfr.osf.io/assets/papaya/papaya.js"></script>' in body |
44 | | - assert 'params["images"] = ["http://mfr.osf.io/assets/papaya/data/507643e2-c0fb-45e4-805e-96231c8251de.nii.gz"]' in body |
| 56 | + assert 'params["images"] = ["http://mfr.osf.io/assets/papaya/data/{}{}"]'.format(file_name, file_ext) in body |
45 | 57 | assert '<div class="papaya" data-params="params"></div>' in body |
0 commit comments