tests: refactor code to use a single test url generator
This commit is contained in:
parent
28f89c682d
commit
6e5314f631
67 changed files with 401 additions and 1277 deletions
|
|
@ -163,8 +163,7 @@ def exception_view(exc, request):
|
|||
# make the whole above block safe
|
||||
pass
|
||||
|
||||
fault_message = "No such method: {}. Similar methods: {}".format(
|
||||
method, similar)
|
||||
fault_message = f"No such method: {method}. Similar methods: {similar}"
|
||||
else:
|
||||
fault_message = 'undefined error'
|
||||
exc_info = exc.exc_info()
|
||||
|
|
|
|||
|
|
@ -25,28 +25,12 @@ import pytest
|
|||
|
||||
from rhodecode.lib.str_utils import safe_str
|
||||
from rhodecode.tests import *
|
||||
from rhodecode.tests.routes import route_path
|
||||
from rhodecode.tests.fixture import FIXTURES
|
||||
from rhodecode.model.db import UserLog
|
||||
from rhodecode.model.meta import Session
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
'admin_home': ADMIN_PREFIX,
|
||||
'admin_audit_logs': ADMIN_PREFIX + '/audit_logs',
|
||||
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('app')
|
||||
class TestAdminController(object):
|
||||
|
||||
|
|
|
|||
|
|
@ -20,27 +20,10 @@
|
|||
import pytest
|
||||
|
||||
from rhodecode.tests import assert_session_flash
|
||||
from rhodecode.tests.routes import route_path
|
||||
from rhodecode.model.settings import SettingsModel
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
'admin_defaults_repositories':
|
||||
ADMIN_PREFIX + '/defaults/repositories',
|
||||
'admin_defaults_repositories_update':
|
||||
ADMIN_PREFIX + '/defaults/repositories/update',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("app")
|
||||
class TestDefaultsView(object):
|
||||
|
||||
|
|
|
|||
|
|
@ -21,30 +21,11 @@ import pytest
|
|||
|
||||
from rhodecode.tests import TestController
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
'admin_home': ADMIN_PREFIX,
|
||||
'pullrequest_show': '/{repo_name}/pull-request/{pull_request_id}',
|
||||
'pull_requests_global': ADMIN_PREFIX + '/pull-request/{pull_request_id}',
|
||||
'pull_requests_global_0': ADMIN_PREFIX + '/pull_requests/{pull_request_id}',
|
||||
'pull_requests_global_1': ADMIN_PREFIX + '/pull-requests/{pull_request_id}',
|
||||
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
class TestAdminMainView(TestController):
|
||||
|
||||
def test_access_admin_home(self):
|
||||
|
|
|
|||
|
|
@ -25,54 +25,7 @@ from rhodecode.model.permission import PermissionModel
|
|||
from rhodecode.model.ssh_key import SshKeyModel
|
||||
from rhodecode.tests import (
|
||||
TestController, clear_cache_regions, assert_session_flash)
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
'edit_user_ips':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/ips',
|
||||
'edit_user_ips_add':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/ips/new',
|
||||
'edit_user_ips_delete':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/ips/delete',
|
||||
|
||||
'admin_permissions_application':
|
||||
ADMIN_PREFIX + '/permissions/application',
|
||||
'admin_permissions_application_update':
|
||||
ADMIN_PREFIX + '/permissions/application/update',
|
||||
|
||||
'admin_permissions_global':
|
||||
ADMIN_PREFIX + '/permissions/global',
|
||||
'admin_permissions_global_update':
|
||||
ADMIN_PREFIX + '/permissions/global/update',
|
||||
|
||||
'admin_permissions_object':
|
||||
ADMIN_PREFIX + '/permissions/object',
|
||||
'admin_permissions_object_update':
|
||||
ADMIN_PREFIX + '/permissions/object/update',
|
||||
|
||||
'admin_permissions_ips':
|
||||
ADMIN_PREFIX + '/permissions/ips',
|
||||
'admin_permissions_overview':
|
||||
ADMIN_PREFIX + '/permissions/overview',
|
||||
|
||||
'admin_permissions_ssh_keys':
|
||||
ADMIN_PREFIX + '/permissions/ssh_keys',
|
||||
'admin_permissions_ssh_keys_data':
|
||||
ADMIN_PREFIX + '/permissions/ssh_keys/data',
|
||||
'admin_permissions_ssh_keys_update':
|
||||
ADMIN_PREFIX + '/permissions/ssh_keys/update'
|
||||
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
class TestAdminPermissionsController(TestController):
|
||||
|
|
|
|||
|
|
@ -38,30 +38,12 @@ from rhodecode.tests import (
|
|||
login_user_session, assert_session_flash, TEST_USER_ADMIN_LOGIN,
|
||||
TEST_USER_REGULAR_LOGIN, TEST_USER_REGULAR_PASS)
|
||||
from rhodecode.tests.fixture import Fixture, error_function
|
||||
from rhodecode.tests.utils import AssertResponse, repo_on_filesystem
|
||||
from rhodecode.tests.utils import repo_on_filesystem
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'repos': ADMIN_PREFIX + '/repos',
|
||||
'repos_data': ADMIN_PREFIX + '/repos_data',
|
||||
'repo_new': ADMIN_PREFIX + '/repos/new',
|
||||
'repo_create': ADMIN_PREFIX + '/repos/create',
|
||||
|
||||
'repo_creating_check': '/{repo_name}/repo_creating_check',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
def _get_permission_for_user(user, repo):
|
||||
perm = UserRepoToPerm.query()\
|
||||
.filter(UserRepoToPerm.repository ==
|
||||
|
|
|
|||
|
|
@ -28,28 +28,12 @@ from rhodecode.model.repo_group import RepoGroupModel
|
|||
from rhodecode.tests import (
|
||||
assert_session_flash, TEST_USER_REGULAR_LOGIN, TESTS_TMP_PATH)
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'repo_groups': ADMIN_PREFIX + '/repo_groups',
|
||||
'repo_groups_data': ADMIN_PREFIX + '/repo_groups_data',
|
||||
'repo_group_new': ADMIN_PREFIX + '/repo_group/new',
|
||||
'repo_group_create': ADMIN_PREFIX + '/repo_group/create',
|
||||
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
def _get_permission_for_user(user, repo):
|
||||
perm = UserRepoToPerm.query()\
|
||||
.filter(UserRepoToPerm.repository ==
|
||||
|
|
|
|||
|
|
@ -27,85 +27,12 @@ from rhodecode.model.db import RhodeCodeUi
|
|||
from rhodecode.model.meta import Session
|
||||
from rhodecode.model.settings import SettingsModel, IssueTrackerSettingsModel
|
||||
from rhodecode.tests import assert_session_flash
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
UPDATE_DATA_QUALNAME = 'rhodecode.model.update.UpdateModel.get_update_data'
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
|
||||
'admin_settings':
|
||||
ADMIN_PREFIX +'/settings',
|
||||
'admin_settings_update':
|
||||
ADMIN_PREFIX + '/settings/update',
|
||||
'admin_settings_global':
|
||||
ADMIN_PREFIX + '/settings/global',
|
||||
'admin_settings_global_update':
|
||||
ADMIN_PREFIX + '/settings/global/update',
|
||||
'admin_settings_vcs':
|
||||
ADMIN_PREFIX + '/settings/vcs',
|
||||
'admin_settings_vcs_update':
|
||||
ADMIN_PREFIX + '/settings/vcs/update',
|
||||
'admin_settings_vcs_svn_pattern_delete':
|
||||
ADMIN_PREFIX + '/settings/vcs/svn_pattern_delete',
|
||||
'admin_settings_mapping':
|
||||
ADMIN_PREFIX + '/settings/mapping',
|
||||
'admin_settings_mapping_update':
|
||||
ADMIN_PREFIX + '/settings/mapping/update',
|
||||
'admin_settings_visual':
|
||||
ADMIN_PREFIX + '/settings/visual',
|
||||
'admin_settings_visual_update':
|
||||
ADMIN_PREFIX + '/settings/visual/update',
|
||||
'admin_settings_issuetracker':
|
||||
ADMIN_PREFIX + '/settings/issue-tracker',
|
||||
'admin_settings_issuetracker_update':
|
||||
ADMIN_PREFIX + '/settings/issue-tracker/update',
|
||||
'admin_settings_issuetracker_test':
|
||||
ADMIN_PREFIX + '/settings/issue-tracker/test',
|
||||
'admin_settings_issuetracker_delete':
|
||||
ADMIN_PREFIX + '/settings/issue-tracker/delete',
|
||||
'admin_settings_email':
|
||||
ADMIN_PREFIX + '/settings/email',
|
||||
'admin_settings_email_update':
|
||||
ADMIN_PREFIX + '/settings/email/update',
|
||||
'admin_settings_hooks':
|
||||
ADMIN_PREFIX + '/settings/hooks',
|
||||
'admin_settings_hooks_update':
|
||||
ADMIN_PREFIX + '/settings/hooks/update',
|
||||
'admin_settings_hooks_delete':
|
||||
ADMIN_PREFIX + '/settings/hooks/delete',
|
||||
'admin_settings_search':
|
||||
ADMIN_PREFIX + '/settings/search',
|
||||
'admin_settings_labs':
|
||||
ADMIN_PREFIX + '/settings/labs',
|
||||
'admin_settings_labs_update':
|
||||
ADMIN_PREFIX + '/settings/labs/update',
|
||||
|
||||
'admin_settings_sessions':
|
||||
ADMIN_PREFIX + '/settings/sessions',
|
||||
'admin_settings_sessions_cleanup':
|
||||
ADMIN_PREFIX + '/settings/sessions/cleanup',
|
||||
'admin_settings_system':
|
||||
ADMIN_PREFIX + '/settings/system',
|
||||
'admin_settings_system_update':
|
||||
ADMIN_PREFIX + '/settings/system/updates',
|
||||
'admin_settings_open_source':
|
||||
ADMIN_PREFIX + '/settings/open_source',
|
||||
|
||||
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('autologin_user', 'app')
|
||||
class TestAdminSettingsController(object):
|
||||
|
||||
|
|
|
|||
|
|
@ -23,32 +23,13 @@ from rhodecode.model.db import UserGroup, User
|
|||
from rhodecode.model.meta import Session
|
||||
|
||||
from rhodecode.tests import (
|
||||
TestController, TEST_USER_REGULAR_LOGIN, assert_session_flash)
|
||||
TestController, assert_session_flash)
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
'user_groups': ADMIN_PREFIX + '/user_groups',
|
||||
'user_groups_data': ADMIN_PREFIX + '/user_groups_data',
|
||||
'user_group_members_data': ADMIN_PREFIX + '/user_groups/{user_group_id}/members',
|
||||
'user_groups_new': ADMIN_PREFIX + '/user_groups/new',
|
||||
'user_groups_create': ADMIN_PREFIX + '/user_groups/create',
|
||||
'edit_user_group': ADMIN_PREFIX + '/user_groups/{user_group_id}/edit',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
class TestAdminUserGroupsView(TestController):
|
||||
|
||||
def test_show_users(self):
|
||||
|
|
|
|||
|
|
@ -29,79 +29,11 @@ from rhodecode.model.user import UserModel
|
|||
from rhodecode.tests import (
|
||||
TestController, TEST_USER_REGULAR_LOGIN, assert_session_flash)
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
'users':
|
||||
ADMIN_PREFIX + '/users',
|
||||
'users_data':
|
||||
ADMIN_PREFIX + '/users_data',
|
||||
'users_create':
|
||||
ADMIN_PREFIX + '/users/create',
|
||||
'users_new':
|
||||
ADMIN_PREFIX + '/users/new',
|
||||
'user_edit':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit',
|
||||
'user_edit_advanced':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/advanced',
|
||||
'user_edit_global_perms':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/global_permissions',
|
||||
'user_edit_global_perms_update':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/global_permissions/update',
|
||||
'user_update':
|
||||
ADMIN_PREFIX + '/users/{user_id}/update',
|
||||
'user_delete':
|
||||
ADMIN_PREFIX + '/users/{user_id}/delete',
|
||||
'user_create_personal_repo_group':
|
||||
ADMIN_PREFIX + '/users/{user_id}/create_repo_group',
|
||||
|
||||
'edit_user_auth_tokens':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/auth_tokens',
|
||||
'edit_user_auth_tokens_add':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/auth_tokens/new',
|
||||
'edit_user_auth_tokens_delete':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/auth_tokens/delete',
|
||||
|
||||
'edit_user_emails':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/emails',
|
||||
'edit_user_emails_add':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/emails/new',
|
||||
'edit_user_emails_delete':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/emails/delete',
|
||||
|
||||
'edit_user_ips':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/ips',
|
||||
'edit_user_ips_add':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/ips/new',
|
||||
'edit_user_ips_delete':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/ips/delete',
|
||||
|
||||
'edit_user_perms_summary':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/permissions_summary',
|
||||
'edit_user_perms_summary_json':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/permissions_summary/json',
|
||||
|
||||
'edit_user_audit_logs':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/audit',
|
||||
|
||||
'edit_user_audit_logs_download':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/audit/download',
|
||||
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
class TestAdminUsersView(TestController):
|
||||
|
||||
def test_show_users(self):
|
||||
|
|
|
|||
|
|
@ -23,33 +23,11 @@ from rhodecode.model.db import User, UserSshKeys
|
|||
|
||||
from rhodecode.tests import TestController, assert_session_flash
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
'edit_user_ssh_keys':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/ssh_keys',
|
||||
'edit_user_ssh_keys_generate_keypair':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/ssh_keys/generate',
|
||||
'edit_user_ssh_keys_add':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/ssh_keys/new',
|
||||
'edit_user_ssh_keys_delete':
|
||||
ADMIN_PREFIX + '/users/{user_id}/edit/ssh_keys/delete',
|
||||
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
class TestAdminUsersSshKeysView(TestController):
|
||||
INVALID_KEY = """\
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDk+77sjDzVeB6vevJsuZds1iNU5
|
||||
|
|
|
|||
|
|
@ -21,25 +21,10 @@ import pytest
|
|||
from rhodecode.lib.ext_json import json
|
||||
from rhodecode.model.auth_token import AuthTokenModel
|
||||
from rhodecode.model.db import Session, FileStore, Repository, User
|
||||
from rhodecode.tests import TestController
|
||||
from rhodecode.apps.file_store import utils, config_keys
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'upload_file': '/_file_store/upload',
|
||||
'download_file': '/_file_store/download/{fid}',
|
||||
'download_file_by_token': '/_file_store/token-download/{_auth_token}/{fid}'
|
||||
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests import TestController
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
class TestFileStoreViews(TestController):
|
||||
|
|
|
|||
|
|
@ -26,31 +26,7 @@ from rhodecode.model.meta import Session
|
|||
from rhodecode.tests import (
|
||||
TEST_USER_ADMIN_LOGIN, TEST_USER_REGULAR_LOGIN, TEST_USER_REGULAR_PASS,
|
||||
TestController, assert_session_flash)
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
'gists_show': ADMIN_PREFIX + '/gists',
|
||||
'gists_new': ADMIN_PREFIX + '/gists/new',
|
||||
'gists_create': ADMIN_PREFIX + '/gists/create',
|
||||
'gist_show': ADMIN_PREFIX + '/gists/{gist_id}',
|
||||
'gist_delete': ADMIN_PREFIX + '/gists/{gist_id}/delete',
|
||||
'gist_edit': ADMIN_PREFIX + '/gists/{gist_id}/edit',
|
||||
'gist_edit_check_revision': ADMIN_PREFIX + '/gists/{gist_id}/edit/check_revision',
|
||||
'gist_update': ADMIN_PREFIX + '/gists/{gist_id}/update',
|
||||
'gist_show_rev': ADMIN_PREFIX + '/gists/{gist_id}/rev/{revision}',
|
||||
'gist_show_formatted': ADMIN_PREFIX + '/gists/{gist_id}/rev/{revision}/{format}',
|
||||
'gist_show_formatted_path': ADMIN_PREFIX + '/gists/{gist_id}/rev/{revision}/{format}/{f_path}',
|
||||
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
class GistUtility(object):
|
||||
|
|
|
|||
|
|
@ -19,8 +19,6 @@
|
|||
import pytest
|
||||
|
||||
from . import assert_and_get_main_filter_content
|
||||
from rhodecode.tests import TestController, TEST_USER_ADMIN_LOGIN
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
|
||||
from rhodecode.lib.utils import map_groups
|
||||
from rhodecode.lib.ext_json import json
|
||||
|
|
@ -28,23 +26,13 @@ from rhodecode.model.repo import RepoModel
|
|||
from rhodecode.model.repo_group import RepoGroupModel
|
||||
from rhodecode.model.db import Session, Repository, RepoGroup
|
||||
|
||||
from rhodecode.tests import TestController, TEST_USER_ADMIN_LOGIN
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'goto_switcher_data': '/_goto_data',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
class TestGotoSwitcherData(TestController):
|
||||
|
||||
required_repos_with_groups = [
|
||||
|
|
|
|||
|
|
@ -17,29 +17,17 @@
|
|||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||
|
||||
from . import assert_and_get_repo_list_content
|
||||
from rhodecode.tests import TestController
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
|
||||
from rhodecode.model.db import Repository
|
||||
from rhodecode.lib.ext_json import json
|
||||
|
||||
from rhodecode.tests import TestController
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'repo_list_data': '/_repos',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
class TestRepoListData(TestController):
|
||||
|
||||
def test_returns_list_of_repos_and_groups(self, xhr_header):
|
||||
|
|
|
|||
|
|
@ -17,28 +17,15 @@
|
|||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||
import pytest
|
||||
|
||||
from rhodecode.tests import TestController
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.lib.ext_json import json
|
||||
|
||||
from rhodecode.tests import TestController
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'user_autocomplete_data': '/_users',
|
||||
'user_group_autocomplete_data': '/_user_groups'
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
class TestUserAutocompleteData(TestController):
|
||||
|
||||
def test_returns_list_of_users(self, user_util, xhr_header):
|
||||
|
|
|
|||
|
|
@ -37,29 +37,15 @@
|
|||
|
||||
import pytest
|
||||
|
||||
from rhodecode.tests import TestController
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.lib.ext_json import json
|
||||
|
||||
from rhodecode.tests import TestController
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'user_autocomplete_data': '/_users',
|
||||
'user_group_autocomplete_data': '/_user_groups'
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
class TestUserGroupAutocompleteData(TestController):
|
||||
|
||||
def test_returns_list_of_user_groups(self, user_util, xhr_header):
|
||||
|
|
|
|||
|
|
@ -22,25 +22,15 @@ import pytest
|
|||
import rhodecode
|
||||
from rhodecode.model.db import Repository, RepoGroup, User
|
||||
from rhodecode.model.meta import Session
|
||||
from rhodecode.model.repo import RepoModel
|
||||
from rhodecode.model.repo_group import RepoGroupModel
|
||||
from rhodecode.model.settings import SettingsModel
|
||||
from rhodecode.tests import TestController
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.lib import helpers as h
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, **kwargs):
|
||||
return {
|
||||
'home': '/',
|
||||
'main_page_repos_data': '/_home_repos',
|
||||
'main_page_repo_groups_data': '/_home_repo_groups',
|
||||
'repo_group_home': '/{repo_group_name}'
|
||||
}[name].format(**kwargs)
|
||||
|
||||
|
||||
class TestHomeController(TestController):
|
||||
|
||||
def test_index(self):
|
||||
|
|
|
|||
|
|
@ -22,30 +22,10 @@ import datetime
|
|||
import pytest
|
||||
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
from rhodecode.tests import TestController
|
||||
from rhodecode.model.db import UserFollowing, Repository
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'journal': ADMIN_PREFIX + '/journal',
|
||||
'journal_rss': ADMIN_PREFIX + '/journal/rss',
|
||||
'journal_atom': ADMIN_PREFIX + '/journal/atom',
|
||||
'journal_public': ADMIN_PREFIX + '/public_journal',
|
||||
'journal_public_atom': ADMIN_PREFIX + '/public_journal/atom',
|
||||
'journal_public_atom_old': ADMIN_PREFIX + '/public_journal_atom',
|
||||
'journal_public_rss': ADMIN_PREFIX + '/public_journal/rss',
|
||||
'journal_public_rss_old': ADMIN_PREFIX + '/public_journal_rss',
|
||||
'toggle_following': ADMIN_PREFIX + '/toggle_following',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests import TestController
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
class TestJournalViews(TestController):
|
||||
|
|
|
|||
|
|
@ -21,50 +21,24 @@ import urllib.parse
|
|||
import mock
|
||||
import pytest
|
||||
|
||||
from rhodecode.tests import (
|
||||
assert_session_flash, HG_REPO, TEST_USER_ADMIN_LOGIN,
|
||||
no_newline_id_generator)
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
|
||||
from rhodecode.lib.auth import check_password
|
||||
from rhodecode.lib import helpers as h
|
||||
from rhodecode.model.auth_token import AuthTokenModel
|
||||
from rhodecode.model.db import User, Notification, UserApiKeys
|
||||
from rhodecode.model.meta import Session
|
||||
|
||||
from rhodecode.tests import (
|
||||
assert_session_flash, HG_REPO, TEST_USER_ADMIN_LOGIN,
|
||||
no_newline_id_generator)
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
whitelist_view = ['RepoCommitsView:repo_commit_raw']
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
'login': ADMIN_PREFIX + '/login',
|
||||
'logout': ADMIN_PREFIX + '/logout',
|
||||
'register': ADMIN_PREFIX + '/register',
|
||||
'reset_password':
|
||||
ADMIN_PREFIX + '/password_reset',
|
||||
'reset_password_confirmation':
|
||||
ADMIN_PREFIX + '/password_reset_confirmation',
|
||||
|
||||
'admin_permissions_application':
|
||||
ADMIN_PREFIX + '/permissions/application',
|
||||
'admin_permissions_application_update':
|
||||
ADMIN_PREFIX + '/permissions/application/update',
|
||||
|
||||
'repo_commit_raw': '/{repo_name}/raw-changeset/{commit_id}'
|
||||
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('app')
|
||||
class TestLoginController(object):
|
||||
destroy_users = set()
|
||||
|
|
|
|||
|
|
@ -24,36 +24,12 @@ from rhodecode.tests import (
|
|||
TEST_USER_ADMIN_LOGIN, TEST_USER_ADMIN_PASS)
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.utils import AssertResponse
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
'login': ADMIN_PREFIX + '/login',
|
||||
'logout': ADMIN_PREFIX + '/logout',
|
||||
'register': ADMIN_PREFIX + '/register',
|
||||
'reset_password':
|
||||
ADMIN_PREFIX + '/password_reset',
|
||||
'reset_password_confirmation':
|
||||
ADMIN_PREFIX + '/password_reset_confirmation',
|
||||
|
||||
'admin_permissions_application':
|
||||
ADMIN_PREFIX + '/permissions/application',
|
||||
'admin_permissions_application_update':
|
||||
ADMIN_PREFIX + '/permissions/application/update',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
class TestPasswordReset(TestController):
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
|
|
|
|||
|
|
@ -21,25 +21,14 @@ import pytest
|
|||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
from rhodecode.model.db import User
|
||||
from rhodecode.tests import (
|
||||
TestController, route_path_generator, assert_session_flash)
|
||||
TestController, assert_session_flash)
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.utils import AssertResponse
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
url_defs = {
|
||||
'my_account_auth_tokens':
|
||||
ADMIN_PREFIX + '/my_account/auth_tokens',
|
||||
'my_account_auth_tokens_add':
|
||||
ADMIN_PREFIX + '/my_account/auth_tokens/new',
|
||||
'my_account_auth_tokens_delete':
|
||||
ADMIN_PREFIX + '/my_account/auth_tokens/delete',
|
||||
}
|
||||
return route_path_generator(url_defs, name=name, params=params, **kwargs)
|
||||
|
||||
|
||||
class TestMyAccountAuthTokens(TestController):
|
||||
|
||||
def test_my_account_auth_tokens(self):
|
||||
|
|
|
|||
|
|
@ -39,25 +39,7 @@ import pytest
|
|||
|
||||
from rhodecode.model.db import User
|
||||
from rhodecode.tests import TestController, assert_session_flash
|
||||
from rhodecode.lib import helpers as h
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
'my_account_edit': ADMIN_PREFIX + '/my_account/edit',
|
||||
'my_account_update': ADMIN_PREFIX + '/my_account/update',
|
||||
'my_account_pullrequests': ADMIN_PREFIX + '/my_account/pull_requests',
|
||||
'my_account_pullrequests_data': ADMIN_PREFIX + '/my_account/pull_requests/data',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
class TestMyAccountEdit(TestController):
|
||||
|
|
|
|||
|
|
@ -24,21 +24,12 @@ from rhodecode.tests import (
|
|||
TestController, TEST_USER_ADMIN_LOGIN, TEST_USER_REGULAR_EMAIL,
|
||||
assert_session_flash, TEST_USER_REGULAR_PASS)
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, **kwargs):
|
||||
return {
|
||||
'my_account_emails':
|
||||
ADMIN_PREFIX + '/my_account/emails',
|
||||
'my_account_emails_add':
|
||||
ADMIN_PREFIX + '/my_account/emails/new',
|
||||
'my_account_emails_delete':
|
||||
ADMIN_PREFIX + '/my_account/emails/delete',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
|
||||
class TestMyAccountEmails(TestController):
|
||||
def test_my_account_my_emails(self):
|
||||
self.log_user()
|
||||
|
|
|
|||
|
|
@ -18,40 +18,19 @@
|
|||
|
||||
import pytest
|
||||
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
from rhodecode.tests import (
|
||||
TestController, TEST_USER_REGULAR_LOGIN, TEST_USER_REGULAR_PASS,
|
||||
TEST_USER_ADMIN_LOGIN, TEST_USER_ADMIN_PASS)
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
from rhodecode.model.db import Notification, User
|
||||
from rhodecode.model.user import UserModel
|
||||
from rhodecode.model.notification import NotificationModel
|
||||
from rhodecode.model.meta import Session
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
'notifications_show_all': ADMIN_PREFIX + '/notifications',
|
||||
'notifications_mark_all_read': ADMIN_PREFIX + '/notifications_mark_all_read',
|
||||
'notifications_show': ADMIN_PREFIX + '/notifications/{notification_id}',
|
||||
'notifications_update': ADMIN_PREFIX + '/notifications/{notification_id}/update',
|
||||
'notifications_delete': ADMIN_PREFIX + '/notifications/{notification_id}/delete',
|
||||
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
class TestNotificationsController(TestController):
|
||||
|
||||
def teardown_method(self, method):
|
||||
|
|
|
|||
|
|
@ -27,20 +27,11 @@ from rhodecode.model.meta import Session
|
|||
from rhodecode.model.user import UserModel
|
||||
from rhodecode.tests import assert_session_flash
|
||||
from rhodecode.tests.fixture import Fixture, TestController, error_function
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, **kwargs):
|
||||
return {
|
||||
'home': '/',
|
||||
'my_account_password':
|
||||
ADMIN_PREFIX + '/my_account/password',
|
||||
'my_account_password_update':
|
||||
ADMIN_PREFIX + '/my_account/password/update',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
|
||||
test_user_1 = 'testme'
|
||||
test_user_1_password = '0jd83nHNS/d23n'
|
||||
|
||||
|
|
|
|||
|
|
@ -17,24 +17,15 @@
|
|||
# RhodeCode Enterprise Edition, including its added features, Support services,
|
||||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||
|
||||
import pytest
|
||||
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
from rhodecode.tests import (
|
||||
TestController, TEST_USER_ADMIN_LOGIN,
|
||||
TEST_USER_REGULAR_LOGIN, TEST_USER_REGULAR_PASS)
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, **kwargs):
|
||||
return {
|
||||
'my_account':
|
||||
ADMIN_PREFIX + '/my_account/profile',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
|
||||
class TestMyAccountProfile(TestController):
|
||||
|
||||
def test_my_account(self):
|
||||
|
|
|
|||
|
|
@ -17,31 +17,14 @@
|
|||
# RhodeCode Enterprise Edition, including its added features, Support services,
|
||||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||
|
||||
import pytest
|
||||
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
from rhodecode.model.db import User, UserEmailMap, Repository, UserFollowing
|
||||
from rhodecode.tests import (
|
||||
TestController, TEST_USER_ADMIN_LOGIN, TEST_USER_REGULAR_EMAIL,
|
||||
assert_session_flash)
|
||||
from rhodecode.model.db import User, Repository, UserFollowing
|
||||
from rhodecode.tests import TestController, TEST_USER_ADMIN_LOGIN
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, **kwargs):
|
||||
return {
|
||||
'my_account_repos':
|
||||
ADMIN_PREFIX + '/my_account/repos',
|
||||
'my_account_watched':
|
||||
ADMIN_PREFIX + '/my_account/watched',
|
||||
'my_account_perms':
|
||||
ADMIN_PREFIX + '/my_account/perms',
|
||||
'my_account_notifications':
|
||||
ADMIN_PREFIX + '/my_account/notifications',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
|
||||
class TestMyAccountSimpleViews(TestController):
|
||||
|
||||
def test_my_account_my_repos(self, autologin_user):
|
||||
|
|
|
|||
|
|
@ -17,38 +17,16 @@
|
|||
# RhodeCode Enterprise Edition, including its added features, Support services,
|
||||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||
|
||||
import pytest
|
||||
|
||||
from rhodecode.model.db import User, UserSshKeys
|
||||
|
||||
from rhodecode.tests import TestController, assert_session_flash
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
'my_account_ssh_keys':
|
||||
ADMIN_PREFIX + '/my_account/ssh_keys',
|
||||
'my_account_ssh_keys_generate':
|
||||
ADMIN_PREFIX + '/my_account/ssh_keys/generate',
|
||||
'my_account_ssh_keys_add':
|
||||
ADMIN_PREFIX + '/my_account/ssh_keys/new',
|
||||
'my_account_ssh_keys_delete':
|
||||
ADMIN_PREFIX + '/my_account/ssh_keys/delete',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
class TestMyAccountSshKeysView(TestController):
|
||||
INVALID_KEY = """\
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDk+77sjDzVeB6vevJsuZds1iNU5
|
||||
|
|
|
|||
|
|
@ -19,23 +19,7 @@
|
|||
import pytest
|
||||
|
||||
from rhodecode.tests import assert_session_flash
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'edit_repo_group_advanced':
|
||||
'/{repo_group_name}/_settings/advanced',
|
||||
'edit_repo_group_advanced_delete':
|
||||
'/{repo_group_name}/_settings/advanced/delete',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("app")
|
||||
|
|
|
|||
|
|
@ -19,23 +19,7 @@
|
|||
import pytest
|
||||
|
||||
from rhodecode.tests.utils import permission_update_data_generator
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'edit_repo_group_perms':
|
||||
'/{repo_group_name:}/_settings/permissions',
|
||||
'edit_repo_group_perms_update':
|
||||
'/{repo_group_name}/_settings/permissions/update',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("app")
|
||||
|
|
|
|||
|
|
@ -20,22 +20,9 @@
|
|||
import pytest
|
||||
|
||||
from rhodecode.tests import assert_session_flash
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'edit_repo_group': '/{repo_group_name}/_edit',
|
||||
# Update is POST to the above url
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("app")
|
||||
class TestRepoGroupsSettingsView(object):
|
||||
|
|
|
|||
|
|
@ -17,22 +17,7 @@
|
|||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||
|
||||
import pytest
|
||||
from rhodecode.model.db import Repository
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'pullrequest_show_all': '/{repo_name}/pull-request',
|
||||
'pullrequest_show_all_data': '/{repo_name}/pull-request-data',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
@pytest.mark.backends("git", "hg")
|
||||
|
|
|
|||
|
|
@ -18,21 +18,9 @@
|
|||
|
||||
import pytest
|
||||
from rhodecode.model.db import Repository
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'bookmarks_home': '/{repo_name}/bookmarks',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('autologin_user', 'app')
|
||||
class TestBookmarks(object):
|
||||
|
|
|
|||
|
|
@ -18,20 +18,7 @@
|
|||
|
||||
import pytest
|
||||
from rhodecode.model.db import Repository
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'branches_home': '/{repo_name}/branches',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('autologin_user', 'app')
|
||||
|
|
|
|||
|
|
@ -22,27 +22,12 @@ import pytest
|
|||
|
||||
from rhodecode.apps.repository.views.repo_changelog import DEFAULT_CHANGELOG_SIZE
|
||||
from rhodecode.tests import TestController
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
MATCH_HASH = re.compile(r'<span class="commit_hash">r(\d+):[\da-f]+</span>')
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'repo_changelog': '/{repo_name}/changelog',
|
||||
'repo_commits': '/{repo_name}/commits',
|
||||
'repo_commits_file': '/{repo_name}/commits/{commit_id}/{f_path}',
|
||||
'repo_commits_elements': '/{repo_name}/commits_elements',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
def assert_commits_on_page(response, indexes):
|
||||
found_indexes = [int(idx) for idx in MATCH_HASH.findall(response.text)]
|
||||
assert found_indexes == indexes
|
||||
|
|
|
|||
|
|
@ -19,29 +19,12 @@
|
|||
import pytest
|
||||
|
||||
from rhodecode.tests import TestController
|
||||
|
||||
from rhodecode.tests.routes import route_path
|
||||
from rhodecode.model.db import ChangesetComment, Notification
|
||||
from rhodecode.model.meta import Session
|
||||
from rhodecode.lib import helpers as h
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'repo_commit': '/{repo_name}/changeset/{commit_id}',
|
||||
'repo_commit_comment_create': '/{repo_name}/changeset/{commit_id}/comment/create',
|
||||
'repo_commit_comment_preview': '/{repo_name}/changeset/{commit_id}/comment/preview',
|
||||
'repo_commit_comment_delete': '/{repo_name}/changeset/{commit_id}/comment/{comment_id}/delete',
|
||||
'repo_commit_comment_edit': '/{repo_name}/changeset/{commit_id}/comment/{comment_id}/edit',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
@pytest.mark.backends("git", "hg", "svn")
|
||||
class TestRepoCommitCommentsView(TestController):
|
||||
|
|
|
|||
|
|
@ -21,27 +21,7 @@ import pytest
|
|||
|
||||
from rhodecode.apps.repository.tests.test_repo_compare import ComparePage
|
||||
from rhodecode.lib.helpers import _shorten_commit_id
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'repo_commit': '/{repo_name}/changeset/{commit_id}',
|
||||
'repo_commit_children': '/{repo_name}/changeset_children/{commit_id}',
|
||||
'repo_commit_parents': '/{repo_name}/changeset_parents/{commit_id}',
|
||||
'repo_commit_raw': '/{repo_name}/changeset-diff/{commit_id}',
|
||||
'repo_commit_patch': '/{repo_name}/changeset-patch/{commit_id}',
|
||||
'repo_commit_download': '/{repo_name}/changeset-download/{commit_id}',
|
||||
'repo_commit_data': '/{repo_name}/changeset-data/{commit_id}',
|
||||
'repo_compare': '/{repo_name}/compare/{source_ref_type}@{source_ref}...{target_ref_type}@{target_ref}',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("app")
|
||||
|
|
|
|||
|
|
@ -24,21 +24,7 @@ import lxml.html
|
|||
from rhodecode.lib.vcs.exceptions import RepositoryRequirementError
|
||||
from rhodecode.tests import assert_session_flash
|
||||
from rhodecode.tests.utils import AssertResponse, commit_change
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'repo_compare_select': '/{repo_name}/compare',
|
||||
'repo_compare': '/{repo_name}/compare/{source_ref_type}@{source_ref}...{target_ref_type}@{target_ref}',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("autologin_user", "app")
|
||||
|
|
@ -165,7 +151,7 @@ class TestCompareView(object):
|
|||
compare_page.target_source_are_disabled()
|
||||
|
||||
@pytest.mark.xfail_backends("svn", reason="Depends on branch support")
|
||||
def test_compare_forks_on_branch_extra_commits_origin_has_incomming(self, backend):
|
||||
def test_compare_forks_on_branch_extra_commits_origin_has_incoming(self, backend):
|
||||
repo1 = backend.create_repo()
|
||||
|
||||
# commit something !
|
||||
|
|
@ -203,13 +189,13 @@ class TestCompareView(object):
|
|||
params=dict(merge='1', target_repo=repo2.repo_name),
|
||||
))
|
||||
|
||||
response.mustcontain('%s@%s' % (repo1.repo_name, commit_id2))
|
||||
response.mustcontain('%s@%s' % (repo2.repo_name, commit_id1))
|
||||
response.mustcontain(f'{repo1.repo_name}@{commit_id2}')
|
||||
response.mustcontain(f'{repo2.repo_name}@{commit_id1}')
|
||||
|
||||
compare_page = ComparePage(response)
|
||||
compare_page.contains_change_summary(1, 2, 0)
|
||||
compare_page.contains_commits([commit1, commit2])
|
||||
anchor = 'a_c-{}-826e8142e6ba'.format(commit0.short_id)
|
||||
anchor = f'a_c-{commit0.short_id}-826e8142e6ba'
|
||||
compare_page.contains_file_links_and_anchors([('file1', anchor), ])
|
||||
|
||||
# Swap is removed when comparing branches since it's a PR feature and
|
||||
|
|
|
|||
|
|
@ -20,21 +20,7 @@
|
|||
import pytest
|
||||
|
||||
from .test_repo_compare import ComparePage
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'repo_compare_select': '/{repo_name}/compare',
|
||||
'repo_compare': '/{repo_name}/compare/{source_ref_type}@{source_ref}...{target_ref_type}@{target_ref}',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("autologin_user", "app")
|
||||
|
|
|
|||
|
|
@ -24,25 +24,12 @@ from rhodecode.lib.vcs import nodes
|
|||
from rhodecode.lib.vcs.backends.base import EmptyCommit
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.utils import commit_change
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'repo_compare_select': '/{repo_name}/compare',
|
||||
'repo_compare': '/{repo_name}/compare/{source_ref_type}@{source_ref}...{target_ref_type}@{target_ref}',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("autologin_user", "app")
|
||||
class TestSideBySideDiff(object):
|
||||
|
||||
|
|
|
|||
|
|
@ -20,23 +20,7 @@
|
|||
import pytest
|
||||
from rhodecode.model.auth_token import AuthTokenModel
|
||||
from rhodecode.tests import TestController
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'rss_feed_home': '/{repo_name}/feed-rss',
|
||||
'atom_feed_home': '/{repo_name}/feed-atom',
|
||||
'rss_feed_home_old': '/{repo_name}/feed/rss',
|
||||
'atom_feed_home_old': '/{repo_name}/feed/atom',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
class TestFeedView(TestController):
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@ from rhodecode.model.db import Session, Repository
|
|||
|
||||
from rhodecode.tests import assert_session_flash
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
|
@ -46,43 +48,6 @@ def get_node_history(backend_type):
|
|||
}[backend_type]
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'repo_summary': '/{repo_name}',
|
||||
'repo_archivefile': '/{repo_name}/archive/{fname}',
|
||||
'repo_files_diff': '/{repo_name}/diff/{f_path}',
|
||||
'repo_files_diff_2way_redirect': '/{repo_name}/diff-2way/{f_path}',
|
||||
'repo_files': '/{repo_name}/files/{commit_id}/{f_path}',
|
||||
'repo_files:default_path': '/{repo_name}/files/{commit_id}/',
|
||||
'repo_files:default_commit': '/{repo_name}/files',
|
||||
'repo_files:rendered': '/{repo_name}/render/{commit_id}/{f_path}',
|
||||
'repo_files:annotated': '/{repo_name}/annotate/{commit_id}/{f_path}',
|
||||
'repo_files:annotated_previous': '/{repo_name}/annotate-previous/{commit_id}/{f_path}',
|
||||
'repo_files_nodelist': '/{repo_name}/nodelist/{commit_id}/{f_path}',
|
||||
'repo_file_raw': '/{repo_name}/raw/{commit_id}/{f_path}',
|
||||
'repo_file_download': '/{repo_name}/download/{commit_id}/{f_path}',
|
||||
'repo_file_history': '/{repo_name}/history/{commit_id}/{f_path}',
|
||||
'repo_file_authors': '/{repo_name}/authors/{commit_id}/{f_path}',
|
||||
'repo_files_remove_file': '/{repo_name}/remove_file/{commit_id}/{f_path}',
|
||||
'repo_files_delete_file': '/{repo_name}/delete_file/{commit_id}/{f_path}',
|
||||
'repo_files_edit_file': '/{repo_name}/edit_file/{commit_id}/{f_path}',
|
||||
'repo_files_update_file': '/{repo_name}/update_file/{commit_id}/{f_path}',
|
||||
'repo_files_add_file': '/{repo_name}/add_file/{commit_id}/{f_path}',
|
||||
'repo_files_upload_file': '/{repo_name}/upload_file/{commit_id}/{f_path}',
|
||||
'repo_files_create_file': '/{repo_name}/create_file/{commit_id}/{f_path}',
|
||||
'repo_nodetree_full': '/{repo_name}/nodetree_full/{commit_id}/{f_path}',
|
||||
'repo_nodetree_full:default_path': '/{repo_name}/nodetree_full/{commit_id}/',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
def assert_files_in_response(response, files, params):
|
||||
template = (
|
||||
'href="/%(repo_name)s/files/%(commit_id)s/%(name)s"')
|
||||
|
|
|
|||
|
|
@ -28,29 +28,12 @@ from rhodecode.model.db import Repository
|
|||
from rhodecode.model.repo import RepoModel
|
||||
from rhodecode.model.user import UserModel
|
||||
from rhodecode.model.meta import Session
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'repo_summary': '/{repo_name}',
|
||||
'repo_creating_check': '/{repo_name}/repo_creating_check',
|
||||
'repo_fork_new': '/{repo_name}/fork',
|
||||
'repo_fork_create': '/{repo_name}/fork/create',
|
||||
'repo_forks_show_all': '/{repo_name}/forks',
|
||||
'repo_forks_data': '/{repo_name}/forks/data',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
FORK_NAME = {
|
||||
'hg': HG_FORK,
|
||||
'git': GIT_FORK
|
||||
|
|
|
|||
|
|
@ -23,25 +23,9 @@ from rhodecode.lib.hash_utils import md5_safe
|
|||
from rhodecode.model.db import Repository
|
||||
from rhodecode.model.meta import Session
|
||||
from rhodecode.model.settings import SettingsModel, IssueTrackerSettingsModel
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'repo_summary': '/{repo_name}',
|
||||
'edit_repo_issuetracker': '/{repo_name}/settings/issue_trackers',
|
||||
'edit_repo_issuetracker_test': '/{repo_name}/settings/issue_trackers/test',
|
||||
'edit_repo_issuetracker_delete': '/{repo_name}/settings/issue_trackers/delete',
|
||||
'edit_repo_issuetracker_update': '/{repo_name}/settings/issue_trackers/update',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("app")
|
||||
class TestRepoIssueTracker(object):
|
||||
|
|
|
|||
|
|
@ -17,36 +17,16 @@
|
|||
# RhodeCode Enterprise Edition, including its added features, Support services,
|
||||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||
|
||||
import mock
|
||||
import pytest
|
||||
|
||||
from rhodecode.lib.utils2 import str2bool
|
||||
from rhodecode.lib.vcs.exceptions import RepositoryRequirementError
|
||||
from rhodecode.model.db import Repository, UserRepoToPerm, Permission, User
|
||||
from rhodecode.model.meta import Session
|
||||
from rhodecode.tests import (
|
||||
TEST_USER_ADMIN_LOGIN, TEST_USER_REGULAR_LOGIN, assert_session_flash)
|
||||
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'edit_repo_maintenance': '/{repo_name}/settings/maintenance',
|
||||
'edit_repo_maintenance_execute': '/{repo_name}/settings/maintenance/execute',
|
||||
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
def _get_permission_for_user(user, repo):
|
||||
perm = UserRepoToPerm.query()\
|
||||
.filter(UserRepoToPerm.repository ==
|
||||
|
|
|
|||
|
|
@ -20,21 +20,7 @@
|
|||
import pytest
|
||||
|
||||
from rhodecode.tests.utils import permission_update_data_generator
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'edit_repo_perms': '/{repo_name}/settings/permissions'
|
||||
# update is the same url
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("app")
|
||||
|
|
|
|||
|
|
@ -33,36 +33,7 @@ from rhodecode.model.user import UserModel
|
|||
from rhodecode.model.comment import CommentsModel
|
||||
from rhodecode.tests import (
|
||||
assert_session_flash, TEST_USER_ADMIN_LOGIN, TEST_USER_REGULAR_LOGIN)
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'repo_changelog': '/{repo_name}/changelog',
|
||||
'repo_changelog_file': '/{repo_name}/changelog/{commit_id}/{f_path}',
|
||||
'repo_commits': '/{repo_name}/commits',
|
||||
'repo_commits_file': '/{repo_name}/commits/{commit_id}/{f_path}',
|
||||
'pullrequest_show': '/{repo_name}/pull-request/{pull_request_id}',
|
||||
'pullrequest_show_all': '/{repo_name}/pull-request',
|
||||
'pullrequest_show_all_data': '/{repo_name}/pull-request-data',
|
||||
'pullrequest_repo_refs': '/{repo_name}/pull-request/refs/{target_repo_name:.*?[^/]}',
|
||||
'pullrequest_repo_targets': '/{repo_name}/pull-request/repo-destinations',
|
||||
'pullrequest_new': '/{repo_name}/pull-request/new',
|
||||
'pullrequest_create': '/{repo_name}/pull-request/create',
|
||||
'pullrequest_update': '/{repo_name}/pull-request/{pull_request_id}/update',
|
||||
'pullrequest_merge': '/{repo_name}/pull-request/{pull_request_id}/merge',
|
||||
'pullrequest_delete': '/{repo_name}/pull-request/{pull_request_id}/delete',
|
||||
'pullrequest_comment_create': '/{repo_name}/pull-request/{pull_request_id}/comment',
|
||||
'pullrequest_comment_delete': '/{repo_name}/pull-request/{pull_request_id}/comment/{comment_id}/delete',
|
||||
'pullrequest_comment_edit': '/{repo_name}/pull-request/{pull_request_id}/comment/{comment_id}/edit',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('app', 'autologin_user')
|
||||
|
|
|
|||
|
|
@ -27,32 +27,11 @@ from rhodecode.model.meta import Session
|
|||
from rhodecode.tests import (
|
||||
TEST_USER_ADMIN_LOGIN, TEST_USER_REGULAR_LOGIN, assert_session_flash)
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'edit_repo': '/{repo_name}/settings',
|
||||
'edit_repo_advanced': '/{repo_name}/settings/advanced',
|
||||
'edit_repo_caches': '/{repo_name}/settings/caches',
|
||||
'edit_repo_perms': '/{repo_name}/settings/permissions',
|
||||
'edit_repo_vcs': '/{repo_name}/settings/vcs',
|
||||
'edit_repo_issuetracker': '/{repo_name}/settings/issue_trackers',
|
||||
'edit_repo_fields': '/{repo_name}/settings/fields',
|
||||
'edit_repo_remote': '/{repo_name}/settings/remote',
|
||||
'edit_repo_statistics': '/{repo_name}/settings/statistics',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
def _get_permission_for_user(user, repo):
|
||||
perm = UserRepoToPerm.query()\
|
||||
.filter(UserRepoToPerm.repository ==
|
||||
|
|
|
|||
|
|
@ -26,32 +26,11 @@ from rhodecode.tests import (
|
|||
HG_REPO, GIT_REPO, assert_session_flash, no_newline_id_generator)
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.utils import repo_on_filesystem
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'repo_summary_explicit': '/{repo_name}/summary',
|
||||
'repo_summary': '/{repo_name}',
|
||||
'edit_repo_advanced': '/{repo_name}/settings/advanced',
|
||||
'edit_repo_advanced_delete': '/{repo_name}/settings/advanced/delete',
|
||||
'edit_repo_advanced_archive': '/{repo_name}/settings/advanced/archive',
|
||||
'edit_repo_advanced_fork': '/{repo_name}/settings/advanced/fork',
|
||||
'edit_repo_advanced_locking': '/{repo_name}/settings/advanced/locking',
|
||||
'edit_repo_advanced_journal': '/{repo_name}/settings/advanced/journal',
|
||||
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('autologin_user', 'app')
|
||||
class TestAdminRepoSettingsAdvanced(object):
|
||||
|
||||
|
|
|
|||
|
|
@ -34,29 +34,12 @@ from rhodecode.model.scm import ScmModel
|
|||
from rhodecode.tests import assert_session_flash
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.utils import AssertResponse, repo_on_filesystem
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'repo_summary': '/{repo_name}',
|
||||
'repo_stats': '/{repo_name}/repo_stats/{commit_id}',
|
||||
'repo_refs_data': '/{repo_name}/refs-data',
|
||||
'repo_refs_changelog_data': '/{repo_name}/refs-data-changelog',
|
||||
'repo_creating_check': '/{repo_name}/repo_creating_check',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
def assert_clone_url(response, server, repo, disabled=False):
|
||||
|
||||
response.mustcontain(
|
||||
|
|
|
|||
|
|
@ -19,20 +19,7 @@
|
|||
|
||||
import pytest
|
||||
from rhodecode.model.db import Repository
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'tags_home': '/{repo_name}/tags',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('autologin_user', 'app')
|
||||
|
|
|
|||
|
|
@ -32,29 +32,11 @@ from rhodecode.tests import (
|
|||
TEST_USER_REGULAR_LOGIN, TEST_USER_REGULAR_PASS)
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.utils import AssertResponse
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'repo_summary': '/{repo_name}',
|
||||
'repo_creating_check': '/{repo_name}/repo_creating_check',
|
||||
'edit_repo': '/{repo_name}/settings',
|
||||
'edit_repo_vcs': '/{repo_name}/settings/vcs',
|
||||
'edit_repo_vcs_update': '/{repo_name}/settings/vcs/update',
|
||||
'edit_repo_vcs_svn_pattern_delete': '/{repo_name}/settings/vcs/svn_pattern/delete'
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("app")
|
||||
class TestVcsSettings(object):
|
||||
FORM_DATA = {
|
||||
|
|
|
|||
|
|
@ -23,23 +23,7 @@ import pytest
|
|||
import rhodecode
|
||||
from rhodecode.model.db import Repository
|
||||
from rhodecode.model.settings import SettingsModel
|
||||
from rhodecode.tests.utils import AssertResponse
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
|
||||
base_url = {
|
||||
'edit_repo': '/{repo_name}/settings',
|
||||
'edit_repo_vcs': '/{repo_name}/settings/vcs',
|
||||
'edit_repo_vcs_update': '/{repo_name}/settings/vcs/update',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('autologin_user', 'app')
|
||||
|
|
|
|||
|
|
@ -23,20 +23,9 @@ import pytest
|
|||
from whoosh import query
|
||||
|
||||
from rhodecode.tests import (
|
||||
TestController, route_path_generator, HG_REPO,
|
||||
TestController, HG_REPO,
|
||||
TEST_USER_REGULAR_LOGIN, TEST_USER_REGULAR_PASS)
|
||||
from rhodecode.tests.utils import AssertResponse
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
url_defs = {
|
||||
'search':
|
||||
ADMIN_PREFIX + '/search',
|
||||
'search_repo':
|
||||
'/{repo_name}/search',
|
||||
}
|
||||
return route_path_generator(url_defs, name=name, params=params, **kwargs)
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
class TestSearchController(TestController):
|
||||
|
|
|
|||
|
|
@ -23,35 +23,11 @@ from rhodecode.tests import (
|
|||
from rhodecode.model.db import UserGroup
|
||||
from rhodecode.model.meta import Session
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
'user_groups': ADMIN_PREFIX + '/user_groups',
|
||||
'user_groups_data': ADMIN_PREFIX + '/user_groups_data',
|
||||
'user_group_members_data': ADMIN_PREFIX + '/user_groups/{user_group_id}/members',
|
||||
'user_groups_new': ADMIN_PREFIX + '/user_groups/new',
|
||||
'user_groups_create': ADMIN_PREFIX + '/user_groups/create',
|
||||
'edit_user_group': ADMIN_PREFIX + '/user_groups/{user_group_id}/edit',
|
||||
'edit_user_group_advanced_sync': ADMIN_PREFIX + '/user_groups/{user_group_id}/edit/advanced/sync',
|
||||
'edit_user_group_global_perms_update': ADMIN_PREFIX + '/user_groups/{user_group_id}/edit/global_permissions/update',
|
||||
'user_groups_update': ADMIN_PREFIX + '/user_groups/{user_group_id}/update',
|
||||
'user_groups_delete': ADMIN_PREFIX + '/user_groups/{user_group_id}/delete',
|
||||
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
||||
|
||||
class TestUserGroupsView(TestController):
|
||||
|
||||
def test_set_synchronization(self, user_util):
|
||||
|
|
|
|||
|
|
@ -19,24 +19,7 @@
|
|||
import pytest
|
||||
|
||||
from rhodecode.tests.utils import permission_update_data_generator
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
'edit_user_group_perms':
|
||||
ADMIN_PREFIX + '/user_groups/{user_group_id}/edit/permissions',
|
||||
'edit_user_group_perms_update':
|
||||
ADMIN_PREFIX + '/user_groups/{user_group_id}/edit/permissions/update',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("app")
|
||||
|
|
|
|||
|
|
@ -19,15 +19,11 @@ from rhodecode.model.user_group import UserGroupModel
|
|||
from rhodecode.tests import (
|
||||
TestController, TEST_USER_REGULAR_LOGIN, TEST_USER_REGULAR_PASS)
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.utils import AssertResponse
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, **kwargs):
|
||||
return '/_profile_user_group/{user_group_name}'.format(**kwargs)
|
||||
|
||||
|
||||
class TestUsersController(TestController):
|
||||
|
||||
def test_user_group_profile(self, user_util):
|
||||
|
|
|
|||
|
|
@ -24,14 +24,11 @@ from rhodecode.tests import (
|
|||
TEST_USER_REGULAR_LOGIN, TEST_USER_REGULAR_PASS)
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
from rhodecode.tests.utils import AssertResponse
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
fixture = Fixture()
|
||||
|
||||
|
||||
def route_path(name, **kwargs):
|
||||
return '/_profiles/{username}'.format(**kwargs)
|
||||
|
||||
|
||||
class TestUsersController(TestController):
|
||||
|
||||
def test_user_profile(self, user_util):
|
||||
|
|
|
|||
|
|
@ -258,6 +258,8 @@ def error_handler(exception, request):
|
|||
'/errors/error_document.mako', {'c': c, 'h': helpers}, request=request,
|
||||
response=base_response)
|
||||
|
||||
response.headers["X-RC-Exception-Id"] = str(c.exception_id)
|
||||
|
||||
statsd = request.registry.statsd
|
||||
if statsd and base_response.status_code > 499:
|
||||
exc_type = f"{exception.__class__.__module__}.{exception.__class__.__name__}"
|
||||
|
|
|
|||
|
|
@ -22,12 +22,7 @@ from rhodecode.apps._base import ADMIN_PREFIX
|
|||
from rhodecode.model.db import Integration
|
||||
from rhodecode.model.meta import Session
|
||||
from rhodecode.integrations import integration_type_registry
|
||||
|
||||
|
||||
def route_path(name, **kwargs):
|
||||
return {
|
||||
'home': '/',
|
||||
}[name].format(**kwargs)
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
def _post_integration_test_helper(app, url, csrf_token, repo, repo_group,
|
||||
|
|
|
|||
|
|
@ -12,16 +12,14 @@
|
|||
******************************************************************************/
|
||||
function registerRCRoutes() {
|
||||
// routes registration
|
||||
pyroutes.register('admin_artifacts', '/_admin/artifacts', []);
|
||||
pyroutes.register('admin_artifacts_data', '/_admin/artifacts-data', []);
|
||||
pyroutes.register('admin_artifacts_delete', '/_admin/artifacts/%(uid)s/delete', ['uid']);
|
||||
pyroutes.register('admin_artifacts_show_all', '/_admin/artifacts', []);
|
||||
pyroutes.register('admin_artifacts_show_info', '/_admin/artifacts/%(uid)s', ['uid']);
|
||||
pyroutes.register('admin_artifacts_update', '/_admin/artifacts/%(uid)s/update', ['uid']);
|
||||
pyroutes.register('admin_artifacts', '/_admin/_admin/artifacts', []);
|
||||
pyroutes.register('admin_artifacts_delete', '/_admin/_admin/artifacts/%(uid)s/delete', ['uid']);
|
||||
pyroutes.register('admin_artifacts_show_all', '/_admin/_admin/artifacts', []);
|
||||
pyroutes.register('admin_artifacts_show_info', '/_admin/_admin/artifacts/%(uid)s', ['uid']);
|
||||
pyroutes.register('admin_artifacts_update', '/_admin/_admin/artifacts/%(uid)s/update', ['uid']);
|
||||
pyroutes.register('admin_audit_log_entry', '/_admin/audit_logs/%(audit_log_id)s', ['audit_log_id']);
|
||||
pyroutes.register('admin_audit_logs', '/_admin/audit_logs', []);
|
||||
pyroutes.register('admin_automation', '/_admin/automation', []);
|
||||
pyroutes.register('admin_automation_update', '/_admin/automation/%(entry_id)s/update', ['entry_id']);
|
||||
pyroutes.register('admin_automation', '/_admin/_admin/automation', []);
|
||||
pyroutes.register('admin_defaults_repositories', '/_admin/defaults/repositories', []);
|
||||
pyroutes.register('admin_defaults_repositories_update', '/_admin/defaults/repositories/update', []);
|
||||
pyroutes.register('admin_home', '/_admin', []);
|
||||
|
|
@ -29,7 +27,6 @@ function registerRCRoutes() {
|
|||
pyroutes.register('admin_permissions_application_update', '/_admin/permissions/application/update', []);
|
||||
pyroutes.register('admin_permissions_auth_token_access', '/_admin/permissions/auth_token_access', []);
|
||||
pyroutes.register('admin_permissions_branch', '/_admin/permissions/branch', []);
|
||||
pyroutes.register('admin_permissions_branch_update', '/_admin/permissions/branch/update', []);
|
||||
pyroutes.register('admin_permissions_global', '/_admin/permissions/global', []);
|
||||
pyroutes.register('admin_permissions_global_update', '/_admin/permissions/global/update', []);
|
||||
pyroutes.register('admin_permissions_ips', '/_admin/permissions/ips', []);
|
||||
|
|
@ -39,8 +36,7 @@ function registerRCRoutes() {
|
|||
pyroutes.register('admin_permissions_ssh_keys', '/_admin/permissions/ssh_keys', []);
|
||||
pyroutes.register('admin_permissions_ssh_keys_data', '/_admin/permissions/ssh_keys/data', []);
|
||||
pyroutes.register('admin_permissions_ssh_keys_update', '/_admin/permissions/ssh_keys/update', []);
|
||||
pyroutes.register('admin_scheduler', '/_admin/scheduler', []);
|
||||
pyroutes.register('admin_scheduler_show_tasks', '/_admin/scheduler/_tasks', []);
|
||||
pyroutes.register('admin_scheduler', '/_admin/_admin/scheduler', []);
|
||||
pyroutes.register('admin_settings', '/_admin/settings', []);
|
||||
pyroutes.register('admin_settings_email', '/_admin/settings/email', []);
|
||||
pyroutes.register('admin_settings_email_update', '/_admin/settings/email/update', []);
|
||||
|
|
@ -59,8 +55,6 @@ function registerRCRoutes() {
|
|||
pyroutes.register('admin_settings_issuetracker_update', '/_admin/settings/issue-tracker/update', []);
|
||||
pyroutes.register('admin_settings_labs', '/_admin/settings/labs', []);
|
||||
pyroutes.register('admin_settings_labs_update', '/_admin/settings/labs/update', []);
|
||||
pyroutes.register('admin_settings_license', '/_admin/settings/license', []);
|
||||
pyroutes.register('admin_settings_license_unlock', '/_admin/settings/license_unlock', []);
|
||||
pyroutes.register('admin_settings_mapping', '/_admin/settings/mapping', []);
|
||||
pyroutes.register('admin_settings_mapping_update', '/_admin/settings/mapping/update', []);
|
||||
pyroutes.register('admin_settings_open_source', '/_admin/settings/open_source', []);
|
||||
|
|
@ -68,12 +62,6 @@ function registerRCRoutes() {
|
|||
pyroutes.register('admin_settings_process_management_data', '/_admin/settings/process_management/data', []);
|
||||
pyroutes.register('admin_settings_process_management_master_signal', '/_admin/settings/process_management/master_signal', []);
|
||||
pyroutes.register('admin_settings_process_management_signal', '/_admin/settings/process_management/signal', []);
|
||||
pyroutes.register('admin_settings_scheduler_create', '/_admin/scheduler/create', []);
|
||||
pyroutes.register('admin_settings_scheduler_delete', '/_admin/scheduler/%(schedule_id)s/delete', ['schedule_id']);
|
||||
pyroutes.register('admin_settings_scheduler_edit', '/_admin/scheduler/%(schedule_id)s', ['schedule_id']);
|
||||
pyroutes.register('admin_settings_scheduler_execute', '/_admin/scheduler/%(schedule_id)s/execute', ['schedule_id']);
|
||||
pyroutes.register('admin_settings_scheduler_new', '/_admin/scheduler/new', []);
|
||||
pyroutes.register('admin_settings_scheduler_update', '/_admin/scheduler/%(schedule_id)s/update', ['schedule_id']);
|
||||
pyroutes.register('admin_settings_search', '/_admin/settings/search', []);
|
||||
pyroutes.register('admin_settings_sessions', '/_admin/settings/sessions', []);
|
||||
pyroutes.register('admin_settings_sessions_cleanup', '/_admin/settings/sessions/cleanup', []);
|
||||
|
|
@ -95,7 +83,6 @@ function registerRCRoutes() {
|
|||
pyroutes.register('channelstream_connect', '/_admin/channelstream/connect', []);
|
||||
pyroutes.register('channelstream_proxy', '/_channelstream', []);
|
||||
pyroutes.register('channelstream_subscribe', '/_admin/channelstream/subscribe', []);
|
||||
pyroutes.register('commit_draft_comments_submit', '/%(repo_name)s/changeset/%(commit_id)s/draft_comments_submit', ['repo_name', 'commit_id']);
|
||||
pyroutes.register('debug_style_email', '/_admin/debug_style/email/%(email_id)s', ['email_id']);
|
||||
pyroutes.register('debug_style_email_plain_rendered', '/_admin/debug_style/email-rendered/%(email_id)s', ['email_id']);
|
||||
pyroutes.register('debug_style_home', '/_admin/debug_style', []);
|
||||
|
|
@ -218,8 +205,6 @@ function registerRCRoutes() {
|
|||
pyroutes.register('my_account_emails', '/_admin/my_account/emails', []);
|
||||
pyroutes.register('my_account_emails_add', '/_admin/my_account/emails/new', []);
|
||||
pyroutes.register('my_account_emails_delete', '/_admin/my_account/emails/delete', []);
|
||||
pyroutes.register('my_account_external_identity', '/_admin/my_account/external-identity', []);
|
||||
pyroutes.register('my_account_external_identity_delete', '/_admin/my_account/external-identity/delete', []);
|
||||
pyroutes.register('my_account_goto_bookmark', '/_admin/my_account/bookmark/%(bookmark_id)s', ['bookmark_id']);
|
||||
pyroutes.register('my_account_notifications', '/_admin/my_account/notifications', []);
|
||||
pyroutes.register('my_account_notifications_test_channelstream', '/_admin/my_account/test_channelstream', []);
|
||||
|
|
@ -247,7 +232,6 @@ function registerRCRoutes() {
|
|||
pyroutes.register('ops_healthcheck', '/_admin/ops/status', []);
|
||||
pyroutes.register('ops_ping', '/_admin/ops/ping', []);
|
||||
pyroutes.register('ops_redirect_test', '/_admin/ops/redirect', []);
|
||||
pyroutes.register('plugin_admin_chat', '/_admin/plugin_admin_chat/%(action)s', ['action']);
|
||||
pyroutes.register('pull_requests_global', '/_admin/pull-request/%(pull_request_id)s', ['pull_request_id']);
|
||||
pyroutes.register('pull_requests_global_0', '/_admin/pull_requests/%(pull_request_id)s', ['pull_request_id']);
|
||||
pyroutes.register('pull_requests_global_1', '/_admin/pull-requests/%(pull_request_id)s', ['pull_request_id']);
|
||||
|
|
@ -257,7 +241,6 @@ function registerRCRoutes() {
|
|||
pyroutes.register('pullrequest_comments', '/%(repo_name)s/pull-request/%(pull_request_id)s/comments', ['repo_name', 'pull_request_id']);
|
||||
pyroutes.register('pullrequest_create', '/%(repo_name)s/pull-request/create', ['repo_name']);
|
||||
pyroutes.register('pullrequest_delete', '/%(repo_name)s/pull-request/%(pull_request_id)s/delete', ['repo_name', 'pull_request_id']);
|
||||
pyroutes.register('pullrequest_draft_comments_submit', '/%(repo_name)s/pull-request/%(pull_request_id)s/draft_comments_submit', ['repo_name', 'pull_request_id']);
|
||||
pyroutes.register('pullrequest_drafts', '/%(repo_name)s/pull-request/%(pull_request_id)s/drafts', ['repo_name', 'pull_request_id']);
|
||||
pyroutes.register('pullrequest_merge', '/%(repo_name)s/pull-request/%(pull_request_id)s/merge', ['repo_name', 'pull_request_id']);
|
||||
pyroutes.register('pullrequest_new', '/%(repo_name)s/pull-request/new', ['repo_name']);
|
||||
|
|
@ -270,18 +253,8 @@ function registerRCRoutes() {
|
|||
pyroutes.register('pullrequest_update', '/%(repo_name)s/pull-request/%(pull_request_id)s/update', ['repo_name', 'pull_request_id']);
|
||||
pyroutes.register('register', '/_admin/register', []);
|
||||
pyroutes.register('repo_archivefile', '/%(repo_name)s/archive/%(fname)s', ['repo_name', 'fname']);
|
||||
pyroutes.register('repo_artifacts_data', '/%(repo_name)s/artifacts_data', ['repo_name']);
|
||||
pyroutes.register('repo_artifacts_delete', '/%(repo_name)s/artifacts/delete/%(uid)s', ['repo_name', 'uid']);
|
||||
pyroutes.register('repo_artifacts_get', '/%(repo_name)s/artifacts/download/%(uid)s', ['repo_name', 'uid']);
|
||||
pyroutes.register('repo_artifacts_info', '/%(repo_name)s/artifacts/info/%(uid)s', ['repo_name', 'uid']);
|
||||
pyroutes.register('repo_artifacts_list', '/%(repo_name)s/artifacts', ['repo_name']);
|
||||
pyroutes.register('repo_artifacts_new', '/%(repo_name)s/artifacts/new', ['repo_name']);
|
||||
pyroutes.register('repo_artifacts_store', '/%(repo_name)s/artifacts/store', ['repo_name']);
|
||||
pyroutes.register('repo_artifacts_stream_script', '/_file_store/stream-upload-script', []);
|
||||
pyroutes.register('repo_artifacts_stream_store', '/_file_store/stream-upload', []);
|
||||
pyroutes.register('repo_artifacts_update', '/%(repo_name)s/artifacts/update/%(uid)s', ['repo_name', 'uid']);
|
||||
pyroutes.register('repo_automation', '/%(repo_name)s/settings/automation', ['repo_name']);
|
||||
pyroutes.register('repo_automation_update', '/%(repo_name)s/settings/automation/%(entry_id)s/update', ['repo_name', 'entry_id']);
|
||||
pyroutes.register('repo_changelog', '/%(repo_name)s/changelog', ['repo_name']);
|
||||
pyroutes.register('repo_changelog_file', '/%(repo_name)s/changelog/%(commit_id)s/%(f_path)s', ['repo_name', 'commit_id', 'f_path']);
|
||||
pyroutes.register('repo_commit', '/%(repo_name)s/changeset/%(commit_id)s', ['repo_name', 'commit_id']);
|
||||
|
|
@ -358,9 +331,6 @@ function registerRCRoutes() {
|
|||
pyroutes.register('repo_refs_changelog_data', '/%(repo_name)s/refs-data-changelog', ['repo_name']);
|
||||
pyroutes.register('repo_refs_data', '/%(repo_name)s/refs-data', ['repo_name']);
|
||||
pyroutes.register('repo_reviewers', '/%(repo_name)s/settings/review/rules', ['repo_name']);
|
||||
pyroutes.register('repo_reviewers_review_rule_delete', '/%(repo_name)s/settings/review/rules/%(rule_id)s/delete', ['repo_name', 'rule_id']);
|
||||
pyroutes.register('repo_reviewers_review_rule_edit', '/%(repo_name)s/settings/review/rules/%(rule_id)s', ['repo_name', 'rule_id']);
|
||||
pyroutes.register('repo_reviewers_review_rule_new', '/%(repo_name)s/settings/review/rules/new', ['repo_name']);
|
||||
pyroutes.register('repo_settings_quick_actions', '/%(repo_name)s/settings/quick-action', ['repo_name']);
|
||||
pyroutes.register('repo_stats', '/%(repo_name)s/repo_stats/%(commit_id)s', ['repo_name', 'commit_id']);
|
||||
pyroutes.register('repo_summary', '/%(repo_name)s', ['repo_name']);
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ from rhodecode.lib.hash_utils import sha1_safe
|
|||
log = logging.getLogger(__name__)
|
||||
|
||||
__all__ = [
|
||||
'get_new_dir', 'TestController', 'route_path_generator',
|
||||
'get_new_dir', 'TestController',
|
||||
'clear_cache_regions',
|
||||
'assert_session_flash', 'login_user', 'no_newline_id_generator',
|
||||
'TESTS_TMP_PATH', 'HG_REPO', 'GIT_REPO', 'SVN_REPO',
|
||||
|
|
@ -242,11 +242,3 @@ def no_newline_id_generator(test_name):
|
|||
|
||||
return test_name or 'test-with-empty-name'
|
||||
|
||||
|
||||
def route_path_generator(url_defs, name, params=None, **kwargs):
|
||||
|
||||
base_url = url_defs[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
|
|
|
|||
|
|
@ -22,34 +22,7 @@ import pytest
|
|||
|
||||
from rhodecode.tests import TestController
|
||||
from rhodecode.tests.fixture import Fixture
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.request
|
||||
import urllib.parse
|
||||
import urllib.error
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
base_url = {
|
||||
'home': '/',
|
||||
'admin_home': ADMIN_PREFIX,
|
||||
'repos':
|
||||
ADMIN_PREFIX + '/repos',
|
||||
'repos_data':
|
||||
ADMIN_PREFIX + '/repos_data',
|
||||
'repo_groups':
|
||||
ADMIN_PREFIX + '/repo_groups',
|
||||
'repo_groups_data':
|
||||
ADMIN_PREFIX + '/repo_groups_data',
|
||||
'user_groups':
|
||||
ADMIN_PREFIX + '/user_groups',
|
||||
'user_groups_data':
|
||||
ADMIN_PREFIX + '/user_groups_data',
|
||||
}[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = '{}?{}'.format(base_url, urllib.parse.urlencode(params))
|
||||
return base_url
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
fixture = Fixture()
|
||||
|
|
|
|||
|
|
@ -21,12 +21,7 @@ import mock
|
|||
import pytest
|
||||
|
||||
from rhodecode.tests import TEST_USER_ADMIN_LOGIN
|
||||
|
||||
|
||||
def route_path(name, **kwargs):
|
||||
return {
|
||||
'home': '/',
|
||||
}[name].format(**kwargs)
|
||||
from rhodecode.tests.routes import route_path
|
||||
|
||||
|
||||
class TestSessionBehaviorOnPasswordChange(object):
|
||||
|
|
|
|||
290
rhodecode/tests/routes.py
Normal file
290
rhodecode/tests/routes.py
Normal file
|
|
@ -0,0 +1,290 @@
|
|||
# Copyright (C) 2010-2023 RhodeCode GmbH
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License, version 3
|
||||
# (only), as published by the Free Software Foundation.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# This program is dual-licensed. If you wish to learn more about the
|
||||
# RhodeCode Enterprise Edition, including its added features, Support services,
|
||||
# and proprietary license terms, please see https://rhodecode.com/licenses/
|
||||
|
||||
|
||||
def get_url_defs():
|
||||
from rhodecode.apps._base import ADMIN_PREFIX
|
||||
|
||||
return {
|
||||
"home": "/",
|
||||
"main_page_repos_data": "/_home_repos",
|
||||
"main_page_repo_groups_data": "/_home_repo_groups",
|
||||
"repo_group_home": "/{repo_group_name}",
|
||||
"user_autocomplete_data": "/_users",
|
||||
"user_group_autocomplete_data": "/_user_groups",
|
||||
"repo_list_data": "/_repos",
|
||||
"goto_switcher_data": "/_goto_data",
|
||||
"admin_home": ADMIN_PREFIX + "",
|
||||
"admin_audit_logs": ADMIN_PREFIX + "/audit_logs",
|
||||
"admin_defaults_repositories": ADMIN_PREFIX + "/defaults/repositories",
|
||||
"admin_defaults_repositories_update": ADMIN_PREFIX + "/defaults/repositories/update",
|
||||
"search": ADMIN_PREFIX + "/search",
|
||||
"search_repo": "/{repo_name}/search",
|
||||
"my_account_auth_tokens": ADMIN_PREFIX + "/my_account/auth_tokens",
|
||||
"my_account_auth_tokens_add": ADMIN_PREFIX + "/my_account/auth_tokens/new",
|
||||
"my_account_auth_tokens_delete": ADMIN_PREFIX + "/my_account/auth_tokens/delete",
|
||||
"repos": ADMIN_PREFIX + "/repos",
|
||||
"repos_data": ADMIN_PREFIX + "/repos_data",
|
||||
"repo_groups": ADMIN_PREFIX + "/repo_groups",
|
||||
"repo_groups_data": ADMIN_PREFIX + "/repo_groups_data",
|
||||
"user_groups": ADMIN_PREFIX + "/user_groups",
|
||||
"user_groups_data": ADMIN_PREFIX + "/user_groups_data",
|
||||
"user_profile": "/_profiles/{username}",
|
||||
"profile_user_group": "/_profile_user_group/{user_group_name}",
|
||||
"repo_summary": "/{repo_name}",
|
||||
"repo_creating_check": "/{repo_name}/repo_creating_check",
|
||||
"edit_repo": "/{repo_name}/settings",
|
||||
"edit_repo_vcs": "/{repo_name}/settings/vcs",
|
||||
"edit_repo_vcs_update": "/{repo_name}/settings/vcs/update",
|
||||
"edit_repo_vcs_svn_pattern_delete": "/{repo_name}/settings/vcs/svn_pattern/delete",
|
||||
"repo_archivefile": "/{repo_name}/archive/{fname}",
|
||||
"repo_files_diff": "/{repo_name}/diff/{f_path}",
|
||||
"repo_files_diff_2way_redirect": "/{repo_name}/diff-2way/{f_path}",
|
||||
"repo_files": "/{repo_name}/files/{commit_id}/{f_path}",
|
||||
"repo_files:default_path": "/{repo_name}/files/{commit_id}/",
|
||||
"repo_files:default_commit": "/{repo_name}/files",
|
||||
"repo_files:rendered": "/{repo_name}/render/{commit_id}/{f_path}",
|
||||
"repo_files:annotated": "/{repo_name}/annotate/{commit_id}/{f_path}",
|
||||
"repo_files:annotated_previous": "/{repo_name}/annotate-previous/{commit_id}/{f_path}",
|
||||
"repo_files_nodelist": "/{repo_name}/nodelist/{commit_id}/{f_path}",
|
||||
"repo_file_raw": "/{repo_name}/raw/{commit_id}/{f_path}",
|
||||
"repo_file_download": "/{repo_name}/download/{commit_id}/{f_path}",
|
||||
"repo_file_history": "/{repo_name}/history/{commit_id}/{f_path}",
|
||||
"repo_file_authors": "/{repo_name}/authors/{commit_id}/{f_path}",
|
||||
"repo_files_remove_file": "/{repo_name}/remove_file/{commit_id}/{f_path}",
|
||||
"repo_files_delete_file": "/{repo_name}/delete_file/{commit_id}/{f_path}",
|
||||
"repo_files_edit_file": "/{repo_name}/edit_file/{commit_id}/{f_path}",
|
||||
"repo_files_update_file": "/{repo_name}/update_file/{commit_id}/{f_path}",
|
||||
"repo_files_add_file": "/{repo_name}/add_file/{commit_id}/{f_path}",
|
||||
"repo_files_upload_file": "/{repo_name}/upload_file/{commit_id}/{f_path}",
|
||||
"repo_files_create_file": "/{repo_name}/create_file/{commit_id}/{f_path}",
|
||||
"repo_nodetree_full": "/{repo_name}/nodetree_full/{commit_id}/{f_path}",
|
||||
"repo_nodetree_full:default_path": "/{repo_name}/nodetree_full/{commit_id}/",
|
||||
"journal": ADMIN_PREFIX + "/journal",
|
||||
"journal_rss": ADMIN_PREFIX + "/journal/rss",
|
||||
"journal_atom": ADMIN_PREFIX + "/journal/atom",
|
||||
"journal_public": ADMIN_PREFIX + "/public_journal",
|
||||
"journal_public_atom": ADMIN_PREFIX + "/public_journal/atom",
|
||||
"journal_public_atom_old": ADMIN_PREFIX + "/public_journal_atom",
|
||||
"journal_public_rss": ADMIN_PREFIX + "/public_journal/rss",
|
||||
"journal_public_rss_old": ADMIN_PREFIX + "/public_journal_rss",
|
||||
"toggle_following": ADMIN_PREFIX + "/toggle_following",
|
||||
"upload_file": "/_file_store/upload",
|
||||
"download_file": "/_file_store/download/{fid}",
|
||||
"download_file_by_token": "/_file_store/token-download/{_auth_token}/{fid}",
|
||||
"gists_show": ADMIN_PREFIX + "/gists",
|
||||
"gists_new": ADMIN_PREFIX + "/gists/new",
|
||||
"gists_create": ADMIN_PREFIX + "/gists/create",
|
||||
"gist_show": ADMIN_PREFIX + "/gists/{gist_id}",
|
||||
"gist_delete": ADMIN_PREFIX + "/gists/{gist_id}/delete",
|
||||
"gist_edit": ADMIN_PREFIX + "/gists/{gist_id}/edit",
|
||||
"gist_edit_check_revision": ADMIN_PREFIX + "/gists/{gist_id}/edit/check_revision",
|
||||
"gist_update": ADMIN_PREFIX + "/gists/{gist_id}/update",
|
||||
"gist_show_rev": ADMIN_PREFIX + "/gists/{gist_id}/rev/{revision}",
|
||||
"gist_show_formatted": ADMIN_PREFIX + "/gists/{gist_id}/rev/{revision}/{format}",
|
||||
"gist_show_formatted_path": ADMIN_PREFIX + "/gists/{gist_id}/rev/{revision}/{format}/{f_path}",
|
||||
"login": ADMIN_PREFIX + "/login",
|
||||
"logout": ADMIN_PREFIX + "/logout",
|
||||
"register": ADMIN_PREFIX + "/register",
|
||||
"reset_password": ADMIN_PREFIX + "/password_reset",
|
||||
"reset_password_confirmation": ADMIN_PREFIX + "/password_reset_confirmation",
|
||||
"admin_permissions_application": ADMIN_PREFIX + "/permissions/application",
|
||||
"admin_permissions_application_update": ADMIN_PREFIX + "/permissions/application/update",
|
||||
"repo_commit_raw": "/{repo_name}/changeset-diff/{commit_id}",
|
||||
"user_group_members_data": ADMIN_PREFIX + "/user_groups/{user_group_id}/members",
|
||||
"user_groups_new": ADMIN_PREFIX + "/user_groups/new",
|
||||
"user_groups_create": ADMIN_PREFIX + "/user_groups/create",
|
||||
"edit_user_group": ADMIN_PREFIX + "/user_groups/{user_group_id}/edit",
|
||||
"edit_user_group_advanced_sync": ADMIN_PREFIX + "/user_groups/{user_group_id}/edit/advanced/sync",
|
||||
"edit_user_group_global_perms_update": ADMIN_PREFIX + "/user_groups/{user_group_id}/edit/global_permissions/update",
|
||||
"user_groups_update": ADMIN_PREFIX + "/user_groups/{user_group_id}/update",
|
||||
"user_groups_delete": ADMIN_PREFIX + "/user_groups/{user_group_id}/delete",
|
||||
"edit_user_group_perms": ADMIN_PREFIX + "/user_groups/{user_group_id}/edit/permissions",
|
||||
"edit_user_group_perms_update": ADMIN_PREFIX + "/user_groups/{user_group_id}/edit/permissions/update",
|
||||
"edit_repo_group": "/{repo_group_name}/_edit",
|
||||
"edit_repo_group_perms": "/{repo_group_name:}/_settings/permissions",
|
||||
"edit_repo_group_perms_update": "/{repo_group_name}/_settings/permissions/update",
|
||||
"edit_repo_group_advanced": "/{repo_group_name}/_settings/advanced",
|
||||
"edit_repo_group_advanced_delete": "/{repo_group_name}/_settings/advanced/delete",
|
||||
"edit_user_ssh_keys": ADMIN_PREFIX + "/users/{user_id}/edit/ssh_keys",
|
||||
"edit_user_ssh_keys_generate_keypair": ADMIN_PREFIX + "/users/{user_id}/edit/ssh_keys/generate",
|
||||
"edit_user_ssh_keys_add": ADMIN_PREFIX + "/users/{user_id}/edit/ssh_keys/new",
|
||||
"edit_user_ssh_keys_delete": ADMIN_PREFIX + "/users/{user_id}/edit/ssh_keys/delete",
|
||||
"users": ADMIN_PREFIX + "/users",
|
||||
"users_data": ADMIN_PREFIX + "/users_data",
|
||||
"users_create": ADMIN_PREFIX + "/users/create",
|
||||
"users_new": ADMIN_PREFIX + "/users/new",
|
||||
"user_edit": ADMIN_PREFIX + "/users/{user_id}/edit",
|
||||
"user_edit_advanced": ADMIN_PREFIX + "/users/{user_id}/edit/advanced",
|
||||
"user_edit_global_perms": ADMIN_PREFIX + "/users/{user_id}/edit/global_permissions",
|
||||
"user_edit_global_perms_update": ADMIN_PREFIX + "/users/{user_id}/edit/global_permissions/update",
|
||||
"user_update": ADMIN_PREFIX + "/users/{user_id}/update",
|
||||
"user_delete": ADMIN_PREFIX + "/users/{user_id}/delete",
|
||||
"user_create_personal_repo_group": ADMIN_PREFIX + "/users/{user_id}/create_repo_group",
|
||||
"edit_user_auth_tokens": ADMIN_PREFIX + "/users/{user_id}/edit/auth_tokens",
|
||||
"edit_user_auth_tokens_add": ADMIN_PREFIX + "/users/{user_id}/edit/auth_tokens/new",
|
||||
"edit_user_auth_tokens_delete": ADMIN_PREFIX + "/users/{user_id}/edit/auth_tokens/delete",
|
||||
"edit_user_emails": ADMIN_PREFIX + "/users/{user_id}/edit/emails",
|
||||
"edit_user_emails_add": ADMIN_PREFIX + "/users/{user_id}/edit/emails/new",
|
||||
"edit_user_emails_delete": ADMIN_PREFIX + "/users/{user_id}/edit/emails/delete",
|
||||
"edit_user_ips": ADMIN_PREFIX + "/users/{user_id}/edit/ips",
|
||||
"edit_user_ips_add": ADMIN_PREFIX + "/users/{user_id}/edit/ips/new",
|
||||
"edit_user_ips_delete": ADMIN_PREFIX + "/users/{user_id}/edit/ips/delete",
|
||||
"edit_user_perms_summary": ADMIN_PREFIX + "/users/{user_id}/edit/permissions_summary",
|
||||
"edit_user_perms_summary_json": ADMIN_PREFIX + "/users/{user_id}/edit/permissions_summary/json",
|
||||
"edit_user_audit_logs": ADMIN_PREFIX + "/users/{user_id}/edit/audit",
|
||||
"edit_user_audit_logs_download": ADMIN_PREFIX + "/users/{user_id}/edit/audit/download",
|
||||
"admin_settings": ADMIN_PREFIX + "/settings",
|
||||
"admin_settings_update": ADMIN_PREFIX + "/settings/update",
|
||||
"admin_settings_global": ADMIN_PREFIX + "/settings/global",
|
||||
"admin_settings_global_update": ADMIN_PREFIX + "/settings/global/update",
|
||||
"admin_settings_vcs": ADMIN_PREFIX + "/settings/vcs",
|
||||
"admin_settings_vcs_update": ADMIN_PREFIX + "/settings/vcs/update",
|
||||
"admin_settings_vcs_svn_pattern_delete": ADMIN_PREFIX + "/settings/vcs/svn_pattern_delete",
|
||||
"admin_settings_mapping": ADMIN_PREFIX + "/settings/mapping",
|
||||
"admin_settings_mapping_update": ADMIN_PREFIX + "/settings/mapping/update",
|
||||
"admin_settings_visual": ADMIN_PREFIX + "/settings/visual",
|
||||
"admin_settings_visual_update": ADMIN_PREFIX + "/settings/visual/update",
|
||||
"admin_settings_issuetracker": ADMIN_PREFIX + "/settings/issue-tracker",
|
||||
"admin_settings_issuetracker_update": ADMIN_PREFIX + "/settings/issue-tracker/update",
|
||||
"admin_settings_issuetracker_test": ADMIN_PREFIX + "/settings/issue-tracker/test",
|
||||
"admin_settings_issuetracker_delete": ADMIN_PREFIX + "/settings/issue-tracker/delete",
|
||||
"admin_settings_email": ADMIN_PREFIX + "/settings/email",
|
||||
"admin_settings_email_update": ADMIN_PREFIX + "/settings/email/update",
|
||||
"admin_settings_hooks": ADMIN_PREFIX + "/settings/hooks",
|
||||
"admin_settings_hooks_update": ADMIN_PREFIX + "/settings/hooks/update",
|
||||
"admin_settings_hooks_delete": ADMIN_PREFIX + "/settings/hooks/delete",
|
||||
"admin_settings_search": ADMIN_PREFIX + "/settings/search",
|
||||
"admin_settings_labs": ADMIN_PREFIX + "/settings/labs",
|
||||
"admin_settings_labs_update": ADMIN_PREFIX + "/settings/labs/update",
|
||||
"admin_settings_sessions": ADMIN_PREFIX + "/settings/sessions",
|
||||
"admin_settings_sessions_cleanup": ADMIN_PREFIX + "/settings/sessions/cleanup",
|
||||
"admin_settings_system": ADMIN_PREFIX + "/settings/system",
|
||||
"admin_settings_system_update": ADMIN_PREFIX + "/settings/system/updates",
|
||||
"admin_settings_open_source": ADMIN_PREFIX + "/settings/open_source",
|
||||
"repo_group_new": ADMIN_PREFIX + "/repo_group/new",
|
||||
"repo_group_create": ADMIN_PREFIX + "/repo_group/create",
|
||||
"repo_new": ADMIN_PREFIX + "/repos/new",
|
||||
"repo_create": ADMIN_PREFIX + "/repos/create",
|
||||
"admin_permissions_global": ADMIN_PREFIX + "/permissions/global",
|
||||
"admin_permissions_global_update": ADMIN_PREFIX + "/permissions/global/update",
|
||||
"admin_permissions_object": ADMIN_PREFIX + "/permissions/object",
|
||||
"admin_permissions_object_update": ADMIN_PREFIX + "/permissions/object/update",
|
||||
"admin_permissions_ips": ADMIN_PREFIX + "/permissions/ips",
|
||||
"admin_permissions_overview": ADMIN_PREFIX + "/permissions/overview",
|
||||
"admin_permissions_ssh_keys": ADMIN_PREFIX + "/permissions/ssh_keys",
|
||||
"admin_permissions_ssh_keys_data": ADMIN_PREFIX + "/permissions/ssh_keys/data",
|
||||
"admin_permissions_ssh_keys_update": ADMIN_PREFIX + "/permissions/ssh_keys/update",
|
||||
"pullrequest_show": "/{repo_name}/pull-request/{pull_request_id}",
|
||||
"pull_requests_global": ADMIN_PREFIX + "/pull-request/{pull_request_id}",
|
||||
"pull_requests_global_0": ADMIN_PREFIX + "/pull_requests/{pull_request_id}",
|
||||
"pull_requests_global_1": ADMIN_PREFIX + "/pull-requests/{pull_request_id}",
|
||||
"notifications_show_all": ADMIN_PREFIX + "/notifications",
|
||||
"notifications_mark_all_read": ADMIN_PREFIX + "/notifications_mark_all_read",
|
||||
"notifications_show": ADMIN_PREFIX + "/notifications/{notification_id}",
|
||||
"notifications_update": ADMIN_PREFIX + "/notifications/{notification_id}/update",
|
||||
"notifications_delete": ADMIN_PREFIX + "/notifications/{notification_id}/delete",
|
||||
"my_account": ADMIN_PREFIX + "/my_account/profile",
|
||||
"my_account_edit": ADMIN_PREFIX + "/my_account/edit",
|
||||
"my_account_update": ADMIN_PREFIX + "/my_account/update",
|
||||
"my_account_pullrequests": ADMIN_PREFIX + "/my_account/pull_requests",
|
||||
"my_account_pullrequests_data": ADMIN_PREFIX + "/my_account/pull_requests/data",
|
||||
"my_account_emails": ADMIN_PREFIX + "/my_account/emails",
|
||||
"my_account_emails_add": ADMIN_PREFIX + "/my_account/emails/new",
|
||||
"my_account_emails_delete": ADMIN_PREFIX + "/my_account/emails/delete",
|
||||
"my_account_password": ADMIN_PREFIX + "/my_account/password",
|
||||
"my_account_password_update": ADMIN_PREFIX + "/my_account/password/update",
|
||||
"my_account_repos": ADMIN_PREFIX + "/my_account/repos",
|
||||
"my_account_watched": ADMIN_PREFIX + "/my_account/watched",
|
||||
"my_account_perms": ADMIN_PREFIX + "/my_account/perms",
|
||||
"my_account_notifications": ADMIN_PREFIX + "/my_account/notifications",
|
||||
"my_account_ssh_keys": ADMIN_PREFIX + "/my_account/ssh_keys",
|
||||
"my_account_ssh_keys_generate": ADMIN_PREFIX + "/my_account/ssh_keys/generate",
|
||||
"my_account_ssh_keys_add": ADMIN_PREFIX + "/my_account/ssh_keys/new",
|
||||
"my_account_ssh_keys_delete": ADMIN_PREFIX + "/my_account/ssh_keys/delete",
|
||||
"pullrequest_show_all": "/{repo_name}/pull-request",
|
||||
"pullrequest_show_all_data": "/{repo_name}/pull-request-data",
|
||||
"bookmarks_home": "/{repo_name}/bookmarks",
|
||||
"branches_home": "/{repo_name}/branches",
|
||||
"tags_home": "/{repo_name}/tags",
|
||||
"repo_changelog": "/{repo_name}/changelog",
|
||||
"repo_commits": "/{repo_name}/commits",
|
||||
"repo_commits_file": "/{repo_name}/commits/{commit_id}/{f_path}",
|
||||
"repo_commits_elements": "/{repo_name}/commits_elements",
|
||||
"repo_commit": "/{repo_name}/changeset/{commit_id}",
|
||||
"repo_commit_comment_create": "/{repo_name}/changeset/{commit_id}/comment/create",
|
||||
"repo_commit_comment_preview": "/{repo_name}/changeset/{commit_id}/comment/preview",
|
||||
"repo_commit_comment_delete": "/{repo_name}/changeset/{commit_id}/comment/{comment_id}/delete",
|
||||
"repo_commit_comment_edit": "/{repo_name}/changeset/{commit_id}/comment/{comment_id}/edit",
|
||||
"repo_commit_children": "/{repo_name}/changeset_children/{commit_id}",
|
||||
"repo_commit_parents": "/{repo_name}/changeset_parents/{commit_id}",
|
||||
"repo_commit_patch": "/{repo_name}/changeset-patch/{commit_id}",
|
||||
"repo_commit_download": "/{repo_name}/changeset-download/{commit_id}",
|
||||
"repo_commit_data": "/{repo_name}/changeset-data/{commit_id}",
|
||||
"repo_compare": "/{repo_name}/compare/{source_ref_type}@{source_ref}...{target_ref_type}@{target_ref}",
|
||||
"repo_compare_select": "/{repo_name}/compare",
|
||||
"rss_feed_home": "/{repo_name}/feed-rss",
|
||||
"atom_feed_home": "/{repo_name}/feed-atom",
|
||||
"rss_feed_home_old": "/{repo_name}/feed/rss",
|
||||
"atom_feed_home_old": "/{repo_name}/feed/atom",
|
||||
"repo_fork_new": "/{repo_name}/fork",
|
||||
"repo_fork_create": "/{repo_name}/fork/create",
|
||||
"repo_forks_show_all": "/{repo_name}/forks",
|
||||
"repo_forks_data": "/{repo_name}/forks/data",
|
||||
"edit_repo_issuetracker": "/{repo_name}/settings/issue_trackers",
|
||||
"edit_repo_issuetracker_test": "/{repo_name}/settings/issue_trackers/test",
|
||||
"edit_repo_issuetracker_delete": "/{repo_name}/settings/issue_trackers/delete",
|
||||
"edit_repo_issuetracker_update": "/{repo_name}/settings/issue_trackers/update",
|
||||
"edit_repo_maintenance": "/{repo_name}/settings/maintenance",
|
||||
"edit_repo_maintenance_execute": "/{repo_name}/settings/maintenance/execute",
|
||||
"repo_changelog_file": "/{repo_name}/changelog/{commit_id}/{f_path}",
|
||||
"pullrequest_repo_refs": "/{repo_name}/pull-request/refs/{target_repo_name:.*?[^/]}",
|
||||
"pullrequest_repo_targets": "/{repo_name}/pull-request/repo-destinations",
|
||||
"pullrequest_new": "/{repo_name}/pull-request/new",
|
||||
"pullrequest_create": "/{repo_name}/pull-request/create",
|
||||
"pullrequest_update": "/{repo_name}/pull-request/{pull_request_id}/update",
|
||||
"pullrequest_merge": "/{repo_name}/pull-request/{pull_request_id}/merge",
|
||||
"pullrequest_delete": "/{repo_name}/pull-request/{pull_request_id}/delete",
|
||||
"pullrequest_comment_create": "/{repo_name}/pull-request/{pull_request_id}/comment",
|
||||
"pullrequest_comment_delete": "/{repo_name}/pull-request/{pull_request_id}/comment/{comment_id}/delete",
|
||||
"pullrequest_comment_edit": "/{repo_name}/pull-request/{pull_request_id}/comment/{comment_id}/edit",
|
||||
"edit_repo_caches": "/{repo_name}/settings/caches",
|
||||
"edit_repo_perms": "/{repo_name}/settings/permissions",
|
||||
"edit_repo_fields": "/{repo_name}/settings/fields",
|
||||
"edit_repo_remote": "/{repo_name}/settings/remote",
|
||||
"edit_repo_statistics": "/{repo_name}/settings/statistics",
|
||||
"edit_repo_advanced": "/{repo_name}/settings/advanced",
|
||||
"edit_repo_advanced_delete": "/{repo_name}/settings/advanced/delete",
|
||||
"edit_repo_advanced_archive": "/{repo_name}/settings/advanced/archive",
|
||||
"edit_repo_advanced_fork": "/{repo_name}/settings/advanced/fork",
|
||||
"edit_repo_advanced_locking": "/{repo_name}/settings/advanced/locking",
|
||||
"edit_repo_advanced_journal": "/{repo_name}/settings/advanced/journal",
|
||||
"repo_stats": "/{repo_name}/repo_stats/{commit_id}",
|
||||
"repo_refs_data": "/{repo_name}/refs-data",
|
||||
"repo_refs_changelog_data": "/{repo_name}/refs-data-changelog"
|
||||
}
|
||||
|
||||
|
||||
def route_path(name, params=None, **kwargs):
|
||||
import urllib.parse
|
||||
|
||||
base_url = get_url_defs()[name].format(**kwargs)
|
||||
|
||||
if params:
|
||||
base_url = f"{base_url}?{urllib.parse.urlencode(params)}"
|
||||
return base_url
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
# Copyright (C) 2010-2023 RhodeCode GmbH
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue