| LEFT | RIGHT | 
|---|
| (no file at all) |  | 
|  | 1 import pytest | 
|  | 2 import urllib2 | 
|  | 3 import os | 
|  | 4 | 
|  | 5 from tests.test_page_outputs import dynamic_expected_outputs | 
|  | 6 from tests.utils import run_test_server, exception_test | 
|  | 7 | 
|  | 8 | 
|  | 9 @pytest.fixture(scope='function') | 
|  | 10 def dynamic_server_werkzeug(temp_site): | 
|  | 11     """Test server run using the `werkzeug` module.""" | 
|  | 12     with run_test_server(str(temp_site)) as ts: | 
|  | 13         yield ts | 
|  | 14 | 
|  | 15 | 
|  | 16 @pytest.fixture(scope='function') | 
|  | 17 def dynamic_server_builtins(temp_site, tmpdir): | 
|  | 18     """Test server run using builtin modules.""" | 
|  | 19     # Creating an invalid `werkzeug` module and add it to the head of the | 
|  | 20     # PYTHONPATH. This would cause the import of `werkzeug` to fail when | 
|  | 21     # running the test server and force it to use the builtin modules. | 
|  | 22     werkzeug_dir = tmpdir.mkdir('werkzeug') | 
|  | 23     werkzeug_dir.join('__init__.py').write('raise ImportError') | 
|  | 24     new_env = dict(os.environ) | 
|  | 25     new_env['PYTHONPATH'] = os.pathsep.join([str(tmpdir), | 
|  | 26                                              os.getenv('PYTHONPATH', '')]) | 
|  | 27 | 
|  | 28     with run_test_server(str(temp_site), new_env) as ts: | 
|  | 29         yield ts | 
|  | 30 | 
|  | 31 | 
|  | 32 @pytest.mark.slowtest | 
|  | 33 def test_dynamic_werkzeug_good_page(dynamic_server_werkzeug): | 
|  | 34     filename, expected_output = dynamic_expected_outputs[0] | 
|  | 35     response = urllib2.urlopen(dynamic_server_werkzeug + filename) | 
|  | 36 | 
|  | 37     assert expected_output in response.read().strip() | 
|  | 38 | 
|  | 39 | 
|  | 40 @pytest.mark.slowtest | 
|  | 41 def test_dynamic_werkzeug_not_found(dynamic_server_werkzeug): | 
|  | 42     filename = 'en/no-page-here' | 
|  | 43     exp_msg = 'Not Found' | 
|  | 44 | 
|  | 45     exception_test(urllib2.urlopen, urllib2.HTTPError, exp_msg, | 
|  | 46                    dynamic_server_werkzeug + filename) | 
|  | 47 | 
|  | 48 | 
|  | 49 @pytest.mark.slowtest | 
|  | 50 def test_dynamic_builtins_good_page(dynamic_server_builtins): | 
|  | 51     filename, expected_output = dynamic_expected_outputs[0] | 
|  | 52     response = urllib2.urlopen(dynamic_server_builtins + filename) | 
|  | 53 | 
|  | 54     assert expected_output in response.read().strip() | 
|  | 55 | 
|  | 56 | 
|  | 57 @pytest.mark.slowtest | 
|  | 58 def test_dynamic_builtins_not_found(dynamic_server_builtins): | 
|  | 59     filename = 'en/no-page-here' | 
|  | 60     exp_msg = 'Not Found' | 
|  | 61 | 
|  | 62     exception_test(urllib2.urlopen, urllib2.HTTPError, exp_msg, | 
|  | 63                    dynamic_server_builtins + filename) | 
| LEFT | RIGHT | 
|---|