diff --git a/rhodecode/lib/base.py b/rhodecode/lib/base.py --- a/rhodecode/lib/base.py +++ b/rhodecode/lib/base.py @@ -593,8 +593,13 @@ def add_events_routes(config): outside of pyramid context, we need to bootstrap request with some routing registered """ + + from rhodecode.apps._base import ADMIN_PREFIX + config.add_route(name='home', pattern='/') + config.add_route(name='login', pattern=ADMIN_PREFIX + '/login') + config.add_route(name='logout', pattern=ADMIN_PREFIX + '/logout') config.add_route(name='repo_summary', pattern='/{repo_name}') config.add_route(name='repo_summary_explicit', pattern='/{repo_name}/summary') config.add_route(name='repo_group_home', pattern='/{repo_group_name}') @@ -603,13 +608,25 @@ def add_events_routes(config): pattern='/{repo_name}/pull-request/{pull_request_id}') config.add_route(name='pull_requests_global', pattern='/pull-request/{pull_request_id}') - config.add_route(name='repo_commit', pattern='/{repo_name}/changeset/{commit_id}') + config.add_route(name='repo_files', pattern='/{repo_name}/files/{commit_id}/{f_path}') +def bootstrap_config(request): + import pyramid.testing + registry = pyramid.testing.Registry('RcTestRegistry') + config = pyramid.testing.setUp(registry=registry, request=request) + + # allow pyramid lookup in testing + config.include('pyramid_mako') + + add_events_routes(config) + return config + + def bootstrap_request(**kwargs): import pyramid.testing @@ -628,7 +645,5 @@ def bootstrap_request(**kwargs): request = TestRequest(**kwargs) request.session = TestDummySession() - config = pyramid.testing.setUp(request=request) - add_events_routes(config) return request diff --git a/rhodecode/tests/plugin.py b/rhodecode/tests/plugin.py --- a/rhodecode/tests/plugin.py +++ b/rhodecode/tests/plugin.py @@ -62,7 +62,7 @@ from rhodecode.tests import ( login_user_session, get_new_dir, utils, TESTS_TMP_PATH, TEST_USER_ADMIN_LOGIN, TEST_USER_REGULAR_LOGIN, TEST_USER_REGULAR2_LOGIN, TEST_USER_REGULAR_PASS) -from rhodecode.tests.utils import CustomTestApp, set_anonymous_access, add_test_routes +from rhodecode.tests.utils import CustomTestApp, set_anonymous_access from rhodecode.tests.fixture import Fixture @@ -1665,6 +1665,15 @@ def rhodecode_fixtures(): @pytest.fixture +def context_stub(): + """ + Stub context object. + """ + context = pyramid.testing.DummyResource() + return context + + +@pytest.fixture def request_stub(): """ Stub request object. @@ -1675,21 +1684,12 @@ def request_stub(): @pytest.fixture -def context_stub(): - """ - Stub context object. - """ - context = pyramid.testing.DummyResource() - return context - - -@pytest.fixture def config_stub(request, request_stub): """ Set up pyramid.testing and return the Configurator. """ - config = pyramid.testing.setUp(request=request_stub) - add_test_routes(config) + from rhodecode.lib.base import bootstrap_config + config = bootstrap_config(request=request_stub) @request.addfinalizer def cleanup(): diff --git a/rhodecode/tests/utils.py b/rhodecode/tests/utils.py --- a/rhodecode/tests/utils.py +++ b/rhodecode/tests/utils.py @@ -404,28 +404,3 @@ def commit_change( f_path=filename ) return commit - - -def add_test_routes(config): - """ - Adds test routing that can be used in different functional tests - """ - from rhodecode.apps._base import ADMIN_PREFIX - - config.add_route(name='home', pattern='/') - - config.add_route(name='login', pattern=ADMIN_PREFIX + '/login') - config.add_route(name='logout', pattern=ADMIN_PREFIX + '/logout') - config.add_route(name='repo_summary', pattern='/{repo_name}') - config.add_route(name='repo_summary_explicit', pattern='/{repo_name}/summary') - config.add_route(name='repo_group_home', pattern='/{repo_group_name}') - - config.add_route(name='pullrequest_show', - pattern='/{repo_name}/pull-request/{pull_request_id}') - config.add_route(name='pull_requests_global', - pattern='/pull-request/{pull_request_id}') - config.add_route(name='repo_commit', - pattern='/{repo_name}/changeset/{commit_id}') - - config.add_route(name='repo_files', - pattern='/{repo_name}/files/{commit_id}/{f_path}')