| Index: tests/conftest.py |
| diff --git a/tests/conftest.py b/tests/conftest.py |
| index f7bcfbe786adcd539ba337b16127e411e7db3ca1..4807c56827b17b1df7639d13e7d33da1d2010b64 100644 |
| --- a/tests/conftest.py |
| +++ b/tests/conftest.py |
| @@ -1,7 +1,19 @@ |
| +from __future__ import unicode_literals |
| + |
| import os |
| import pytest |
| import shutil |
| +import json |
| + |
| +from wsgi_intercept import add_wsgi_intercept |
| +from wsgi_intercept import remove_wsgi_intercept |
| +from wsgi_intercept import requests_intercept |
| + |
| +from tests.xtm_mock_api import get_configured_app |
|
Vasily Kuznetsov
2018/09/26 15:45:25
Perhaps it would be better to import this as get_x
Tudor Avram
2018/10/04 06:48:12
Moved it to another file.
Done.
|
| +from cms.sources import FileSource |
| +_INTERCEPT_PORT = 443 |
| +_INTERCEPT_HOST = 'wstest2.xtm-intl.com' |
| ROOTPATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) |
| @@ -13,3 +25,89 @@ def temp_site(tmpdir_factory): |
| shutil.copytree(os.path.join(ROOTPATH, 'tests', 'test_site'), site_dir) |
| yield site_dir |
| + |
| + |
| +@pytest.fixture(scope='session') |
|
Vasily Kuznetsov
2018/09/26 15:45:25
It seems that all this new stuff is just for testi
Tudor Avram
2018/10/04 06:48:12
Done.
|
| +def temp_site_invalid_locales(tmpdir_factory): |
| + out_dir = tmpdir_factory.mktemp('temp_out_invalid_locales') |
| + site_dir = out_dir.join('test_site').strpath |
| + |
| + shutil.copytree(os.path.join(ROOTPATH, 'tests', 'test_site'), site_dir) |
| + invalid_locale = site_dir.join('locales').mktemp('foo') |
| + invalid_locale.join('test.json').write(json.dumps({'a': 'b'})) |
| + yield site_dir |
| + |
| + |
| +@pytest.fixture(scope='session') |
| +def temp_site_invalid_project(tmpdir_factory): |
| + out_dir = tmpdir_factory.mktemp('temp_out_invalid') |
| + site_dir = out_dir.join('test_site').strpath |
| + |
| + shutil.copytree(os.path.join(ROOTPATH, 'tests', 'test_site'), site_dir) |
| + with FileSource(str(site_dir)) as fs: |
| + fs.write_to_config('XTM', 'project_id', '1111') |
| + |
| + yield site_dir |
| + |
| + |
| +@pytest.fixture(scope='session') |
| +def temp_site_valid_project(tmpdir_factory): |
| + out_dir = tmpdir_factory.mktemp('temp_out_valid') |
| + site_dir = out_dir.join('test_site').strpath |
| + |
| + shutil.copytree(os.path.join(ROOTPATH, 'tests', 'test_site'), site_dir) |
| + with FileSource(str(site_dir)) as fs: |
| + fs.write_to_config('XTM', 'project_id', '1234') |
| + |
| + yield site_dir |
| + |
| + |
| +@pytest.fixture(scope='session') |
| +def temp_site_no_target_files(tmpdir_factory): |
| + out_dir = tmpdir_factory.mktemp('temp_out_no_targets') |
| + site_dir = out_dir.join('test_site').strpath |
| + |
| + shutil.copytree(os.path.join(ROOTPATH, 'tests', 'test_site'), site_dir) |
| + with FileSource(str(site_dir)) as fs: |
| + fs.write_to_config('XTM', 'project_id', '9999') |
| + |
| + yield site_dir |
| + |
| + |
| +@pytest.fixture |
| +def intercept(): |
| + app = get_configured_app() |
| + requests_intercept.install() |
| + add_wsgi_intercept(_INTERCEPT_HOST, _INTERCEPT_PORT, lambda: app) |
| + yield app |
| + remove_wsgi_intercept() |
| + |
| + |
| +@pytest.fixture |
| +def intercept_populated(): |
| + files = [ |
| + { |
| + 'name': 'file.json', |
| + 'data': json.dumps({'foo': 'bar', 'faz': 'baz'}), |
| + }, |
| + { |
| + 'name': '___foo___file-utf8.json', |
| + 'data': json.dumps({'foo': '\u1234'}), |
| + }, |
| + ] |
| + targets = ['de_DE'] |
| + app = get_configured_app(files=files, target_langs=targets) |
| + requests_intercept.install() |
| + add_wsgi_intercept(_INTERCEPT_HOST, _INTERCEPT_PORT, lambda: app) |
| + yield app |
| + remove_wsgi_intercept() |
| + |
| + |
| +@pytest.fixture |
| +def intercept_too_many_targets(): |
| + targets = ['de_DE', 'es_ES'] |
| + app = get_configured_app(target_langs=targets) |
| + requests_intercept.install() |
| + add_wsgi_intercept(_INTERCEPT_HOST, _INTERCEPT_PORT, lambda: app) |
| + yield app |
| + remove_wsgi_intercept() |