| Index: tests/test_translations.py | 
| =================================================================== | 
| --- a/tests/test_translations.py | 
| +++ b/tests/test_translations.py | 
| @@ -1,52 +1,55 @@ | 
| import os | 
| import shutil | 
| import pytest | 
| +import zipfile | 
| + | 
| from wsgi_intercept import urllib3_intercept | 
| from wsgi_intercept import add_wsgi_intercept | 
| from wsgi_intercept import remove_wsgi_intercept | 
| -from crowdin_mock_api import app | 
| +from crowdin_mock_api import CrowdinConfig, mockapi | 
| from cms.bin import translate | 
| @pytest.fixture(scope='module') | 
| def expect_requests(): | 
| return [ | 
| ('info?key=test_key&json=1', ''), | 
| ('supported-languages?key=test_key&json=1', ''), | 
| - ('add-file?key=test_key&json=1', 'translate.json'), | 
| + ('add-file?key=test_key&json=1', '.json'), | 
| ('upload-translation?key=test_key&json=1', 'simple'), | 
| - ('delete-file?key=test_key&json=1', 'translate.json'), | 
| - ('delete-file?key=test_key&json=1', 'translate.json'), | 
| - ('delete-directory?key=test_key&json=1', ''), | 
| + ('delete-file?key=test_key&json=1', '.json'), | 
| + ('delete-file?key=test_key&json=1', '.json'), | 
| ('delete-directory?key=test_key&json=1', ''), | 
| ('export?key=test_key&json=1', ''), | 
| ('download/all.zip?key=test_key', ''), | 
| ] | 
| @pytest.fixture(scope='module') | 
| -def make_crowdin_zip(temp_site): | 
| - zip_name = os.path.join('tests', 'all') | 
| +def api_zip(temp_site, request): | 
| + zip_name = 'all' | 
| input_dir = os.path.join(temp_site, 'locales') | 
| shutil.make_archive(zip_name, 'zip', input_dir) | 
| - yield None | 
| + yield zipfile.ZipFile(zip_name + '.zip') | 
| os.remove(zip_name + '.zip') | 
| -@pytest.fixture() | 
| -def make_intercept(scope='module'): | 
| +@pytest.fixture(scope='session') | 
| +def mock_api(temp_site): | 
| 
 
Jon Sonesen
2018/02/09 23:08:01
I know this is purely cosmetic but it sort of make
 
 | 
| + config = CrowdinConfig(os.path.join(temp_site, 'locales')) | 
| host = 'api.crowdin.com' | 
| port = 443 | 
| + app = mockapi(config) | 
| urllib3_intercept.install() | 
| add_wsgi_intercept(host, port, lambda: app.wsgi_app) | 
| - yield None | 
| + yield app | 
| remove_wsgi_intercept() | 
| -def test_sync(temp_site, make_intercept, make_crowdin_zip, expect_requests): | 
| +def test_sync(temp_site, mock_api, api_zip, expect_requests): | 
| translate.crowdin_sync(temp_site, 'test_key') | 
| - for (url, data), (expect_url, expect_data) in zip(app.request_log, | 
| + for (url, data), (expect_url, expect_data) in zip(mock_api.request_log, | 
| expect_requests): | 
| assert expect_url in url | 
| assert expect_data in data |