Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Delta Between Two Patch Sets: tests/xtm_conftest.py

Issue 29886648: Issue #6942 - Add XTM integration in CMS (Closed)
Left Patch Set: Created Sept. 20, 2018, 4:24 p.m.
Right Patch Set: Addressed comments from Patch Set #4 Created Oct. 5, 2018, 4:23 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Right: Side by side diff | Download
LEFTRIGHT
(no file at all)
1 from __future__ import unicode_literals
2
3 import os
4 import shutil
5 import json
6
7 import pytest
8 from cms.sources import FileSource
9 from wsgi_intercept import add_wsgi_intercept
10 from wsgi_intercept import remove_wsgi_intercept
11 from wsgi_intercept import requests_intercept
12
13 from tests.xtm_mock_api import get_configured_app
14
15 _INTERCEPT_PORT = 443
16 _INTERCEPT_HOST = 'wstest2.xtm-intl.com'
17
18 ROOTPATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
19
20
21 @pytest.fixture
22 def temp_site_invalid_locales(tmpdir):
23 out_dir = tmpdir.mkdir('temp_out_invalid_locales')
24 site_dir = out_dir.join('test_site').strpath
25
26 shutil.copytree(os.path.join(ROOTPATH, 'tests', 'test_site'), site_dir)
27 invalid_locale = site_dir.join('locales').mkdir('foo')
28 invalid_locale.join('test.json').write(json.dumps({'a': 'b'}))
29 return site_dir
30
31
32 @pytest.fixture
33 def temp_site_invalid_project(tmpdir):
34 out_dir = tmpdir.mkdir('temp_out_invalid')
35 site_dir = out_dir.join('test_site').strpath
36
37 shutil.copytree(os.path.join(ROOTPATH, 'tests', 'test_site'), site_dir)
38 with FileSource(str(site_dir)) as fs:
39 fs.write_to_config('XTM', 'project_id', '1111')
40
41 return site_dir
42
43
44 @pytest.fixture
45 def temp_site_valid_project(tmpdir):
46 out_dir = tmpdir.mkdir('temp_out_valid')
47 site_dir = out_dir.join('test_site').strpath
48
49 shutil.copytree(os.path.join(ROOTPATH, 'tests', 'test_site'), site_dir)
50 with FileSource(str(site_dir)) as fs:
51 fs.write_to_config('XTM', 'project_id', '1234')
52
53 return site_dir
54
55
56 @pytest.fixture
57 def temp_site_no_target_files(tmpdir):
58 out_dir = tmpdir.mkdir('temp_out_no_targets')
59 site_dir = out_dir.join('test_site').strpath
60
61 shutil.copytree(os.path.join(ROOTPATH, 'tests', 'test_site'), site_dir)
62 with FileSource(str(site_dir)) as fs:
63 fs.write_to_config('XTM', 'project_id', '9999')
64
65 return site_dir
66
67
68 @pytest.fixture
69 def temp_site_function_scope(tmpdir):
70 out_dir = tmpdir.mkdir('temp_site_func')
71 site_dir = out_dir.join('test_site').strpath
72
73 shutil.copytree(os.path.join(ROOTPATH, 'tests', 'test_site'), site_dir)
74
75 return site_dir
76
77
78 @pytest.fixture
79 def intercept():
80 app = get_configured_app()
81 requests_intercept.install()
82 add_wsgi_intercept(_INTERCEPT_HOST, _INTERCEPT_PORT, lambda: app)
83 yield app
84 remove_wsgi_intercept()
85
86
87 @pytest.fixture
88 def intercept_populated():
89 files = [
90 {
91 'name': 'file.json',
92 'data': json.dumps({'foo': 'bar', 'faz': 'baz'}),
93 },
94 {
95 'name': '___foo___file-utf8.json',
96 'data': json.dumps({'foo': '\u1234'}),
97 },
98 ]
99 targets = ['de_DE']
100 app = get_configured_app(files=files, target_langs=targets)
101 requests_intercept.install()
102 add_wsgi_intercept(_INTERCEPT_HOST, _INTERCEPT_PORT, lambda: app)
103 yield app
104 remove_wsgi_intercept()
105
106
107 @pytest.fixture
108 def intercept_too_many_targets():
109 targets = ['de_DE', 'es_ES']
110 app = get_configured_app(target_langs=targets)
111 requests_intercept.install()
112 add_wsgi_intercept(_INTERCEPT_HOST, _INTERCEPT_PORT, lambda: app)
113 yield app
114 remove_wsgi_intercept()
LEFTRIGHT

Powered by Google App Engine
This is Rietveld