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

Side by Side Diff: tests/test_translations.py

Issue 29355396: Issue 4380 - Add Mock Crowdin API and Sync Test (Closed)
Patch Set: Add basic assertion for sync test Created Oct. 5, 2016, 3:50 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 import os
2 import shutil
3 import pytest
4 import mock_api
5 from wsgi_intercept import urllib3_intercept
6 from wsgi_intercept import add_wsgi_intercept
7 from wsgi_intercept import remove_wsgi_intercept
8
9 from cms.bin import translate
10
11
12 @pytest.fixture(scope='module')
13 def make_crowdin_zip(temp_site):
14 zip_name = os.path.join('tests', 'all')
15 input_dir = os.path.join(temp_site, 'locales')
16 shutil.make_archive(zip_name, 'zip', input_dir)
17 yield None
18 os.remove(zip_name + '.zip')
19
20
21 @pytest.fixture()
22 def make_intercept(scope='module'):
23 host = 'api.crowdin.com'
24 port = 443
25 urllib3_intercept.install()
Sebastian Noack 2016/10/05 12:06:16 Wasn't the idea, to not mock the HTTP client libra
Jon Sonesen 2016/10/05 14:38:13 I believe that was the original plan but when impl
Vasily Kuznetsov 2016/10/05 14:44:42 We've decided to switch the approach to wsgi_inter
Sebastian Noack 2016/10/05 16:36:44 How is this any simpler or even less environment d
Vasily Kuznetsov 2016/10/06 09:38:59 You make some good points. Indeed it's pretty easy
Sebastian Noack 2016/10/06 10:25:26 I agree that it's not that great to require a part
Jon Sonesen 2016/10/08 02:21:40 Let's leave it with wsgi_intercept and if we find
26 add_wsgi_intercept(host, port, lambda: mock_api.app.wsgi_app)
27 yield None
28 remove_wsgi_intercept()
29
30
31 def test_sync(temp_site, make_intercept, make_crowdin_zip):
32 translate.crowdin_sync(temp_site, 'test_key')
33 for data_set in mock_api.app.request_data.items():
34 assert data_set is not None
Jon Sonesen 2016/10/05 03:54:49 this is just a preliminary assertion. I am open to
OLDNEW

Powered by Google App Engine
This is Rietveld