@@ -198,13 +198,13 @@ class BaseVCSController(object):
data = repo_name.split('/')
if len(data) >= 2:
from kallithea.lib.utils import get_repo_by_id
by_id_match = get_repo_by_id(repo_name)
if by_id_match:
data[1] = by_id_match
data[1] = safe_str(by_id_match)
return '/'.join(data)
def _invalidate_cache(self, repo_name):
"""
Sets cache for this repository for invalidation on next access
@@ -81,13 +81,13 @@ class SimpleHg(BaseVCSController):
#======================================================================
# EXTRACT REPOSITORY NAME FROM ENV
try:
str_repo_name = environ['REPO_NAME'] = self.__get_repository(environ)
assert isinstance(str_repo_name, str)
assert isinstance(str_repo_name, str), str_repo_name
repo_name = safe_unicode(str_repo_name)
assert safe_str(repo_name) == str_repo_name, (str_repo_name, repo_name)
log.debug('Extracted repo name is %s', repo_name)
except Exception as e:
log.error('error extracting repo_name: %r', e)
return HTTPInternalServerError()(environ, start_response)
# -*- coding: utf-8 -*-
import os
import mock
import urllib
import pytest
from kallithea.lib import vcs
from kallithea.model.db import Repository, RepoGroup, UserRepoToPerm, User,\
Permission
from kallithea.model.user import UserModel
from kallithea.tests import *
from kallithea.model.repo_group import RepoGroupModel
@@ -651,6 +653,11 @@ class TestAdminReposControllerGIT(TestCo
class TestAdminReposControllerHG(TestController, _BaseTest):
REPO = HG_REPO
REPO_TYPE = 'hg'
NEW_REPO = NEW_HG_REPO
OTHER_TYPE_REPO = GIT_REPO
OTHER_TYPE = 'git'
def test_permanent_url_protocol_access(self):
with pytest.raises(Exception) as e:
self.app.get(url('summary_home', repo_name='_1'), extra_environ={'HTTP_ACCEPT': 'application/mercurial'})
assert 'Unable to detect pull/push action' in str(e)
Status change: