Changeset - 110dcae69d7d
[Not reviewed]
stable
0 3 0
Mads Kiilerich (kiilerix) - 9 years ago 2016-06-29 14:45:15
mads@kiilerich.com
protocols: fix assertion error when accessing repositories with "permanent" urls (Issue #202)

I am not aware of any good way to test this, so it is tested with a Mercurial only hack.
3 files changed with 9 insertions and 2 deletions:
0 comments (0 inline, 0 general) First comment
kallithea/lib/base.py
Show inline comments
 
@@ -201,7 +201,7 @@ class BaseVCSController(object):
 
            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)
 

	
kallithea/lib/middleware/simplehg.py
Show inline comments
 
@@ -84,7 +84,7 @@ class SimpleHg(BaseVCSController):
 
        #======================================================================
 
        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)
kallithea/tests/functional/test_admin_repos.py
Show inline comments
 
@@ -4,6 +4,8 @@ import os
 
import mock
 
import urllib
 

	
 
import pytest
 

	
 
from kallithea.lib import vcs
 
from kallithea.model.db import Repository, RepoGroup, UserRepoToPerm, User,\
 
    Permission
 
@@ -654,3 +656,8 @@ class TestAdminReposControllerHG(TestCon
 
    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)
0 comments (0 inline, 0 general) First comment
You need to be logged in to comment. Login now