Mercurial > kallithea
changeset 5628:f2cda217fbc2
tests: always convert unicode paths to str before passing to vcs layer
Repo names are generally unicode. Don't rely on implicit conversion.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Tue, 05 Jan 2016 16:30:12 +0100 |
parents | 6077644fca45 |
children | 330c671dd451 |
files | kallithea/tests/functional/test_admin_repos.py kallithea/tests/vcs/test_hg.py kallithea/tests/vcs/test_vcs.py |
diffstat | 3 files changed, 26 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/tests/functional/test_admin_repos.py Tue Jan 05 16:30:12 2016 +0100 +++ b/kallithea/tests/functional/test_admin_repos.py Tue Jan 05 16:30:12 2016 +0100 @@ -5,6 +5,7 @@ import urllib from kallithea.lib import vcs +from kallithea.lib.utils2 import safe_str from kallithea.model.db import Repository, RepoGroup, UserRepoToPerm, User, \ Permission from kallithea.model.user import UserModel @@ -79,7 +80,7 @@ # test if the repository was created on filesystem try: - vcs.get_repo(os.path.join(TESTS_TMP_PATH, repo_name)) + vcs.get_repo(safe_str(os.path.join(TESTS_TMP_PATH, repo_name))) except vcs.exceptions.VCSError: self.fail('no repo %s in filesystem' % repo_name) @@ -119,7 +120,7 @@ # test if the repository was created on filesystem try: - vcs.get_repo(os.path.join(TESTS_TMP_PATH, repo_name)) + vcs.get_repo(safe_str(os.path.join(TESTS_TMP_PATH, repo_name))) except vcs.exceptions.VCSError: self.fail('no repo %s in filesystem' % repo_name) @@ -168,7 +169,7 @@ # test if the repository was created on filesystem try: - vcs.get_repo(os.path.join(TESTS_TMP_PATH, repo_name_full)) + vcs.get_repo(safe_str(os.path.join(TESTS_TMP_PATH, repo_name_full))) except vcs.exceptions.VCSError: RepoGroupModel().delete(group_name) Session().commit() @@ -260,7 +261,7 @@ # test if the repository was created on filesystem try: - vcs.get_repo(os.path.join(TESTS_TMP_PATH, repo_name_full)) + vcs.get_repo(safe_str(os.path.join(TESTS_TMP_PATH, repo_name_full))) except vcs.exceptions.VCSError: RepoGroupModel().delete(group_name) Session().commit() @@ -317,7 +318,7 @@ # test if the repository was created on filesystem try: - vcs.get_repo(os.path.join(TESTS_TMP_PATH, repo_name_full)) + vcs.get_repo(safe_str(os.path.join(TESTS_TMP_PATH, repo_name_full))) except vcs.exceptions.VCSError: RepoGroupModel().delete(group_name) Session().commit() @@ -394,7 +395,7 @@ # test if the repository was created on filesystem try: - vcs.get_repo(os.path.join(TESTS_TMP_PATH, repo_name)) + vcs.get_repo(safe_str(os.path.join(TESTS_TMP_PATH, repo_name))) except vcs.exceptions.VCSError: self.fail('no repo %s in filesystem' % repo_name) @@ -447,7 +448,7 @@ # test if the repository was created on filesystem try: - vcs.get_repo(os.path.join(TESTS_TMP_PATH, repo_name)) + vcs.get_repo(safe_str(os.path.join(TESTS_TMP_PATH, repo_name))) except vcs.exceptions.VCSError: self.fail('no repo %s in filesystem' % repo_name)
--- a/kallithea/tests/vcs/test_hg.py Tue Jan 05 16:30:12 2016 +0100 +++ b/kallithea/tests/vcs/test_hg.py Tue Jan 05 16:30:12 2016 +0100 @@ -1,5 +1,6 @@ import os +from kallithea.lib.utils2 import safe_str from kallithea.lib.vcs.backends.hg import MercurialRepository, MercurialChangeset from kallithea.lib.vcs.exceptions import RepositoryError, VCSError, NodeDoesNotExistError from kallithea.lib.vcs.nodes import NodeKind, NodeState @@ -24,7 +25,7 @@ % TEST_HG_REPO_CLONE) def setUp(self): - self.repo = MercurialRepository(TEST_HG_REPO) + self.repo = MercurialRepository(safe_str(TEST_HG_REPO)) def test_wrong_repo_path(self): wrong_repo_path = '/tmp/errorrepo' @@ -35,7 +36,7 @@ def test_repo_clone(self): self.__check_for_existing_repo() - repo = MercurialRepository(TEST_HG_REPO) + repo = MercurialRepository(safe_str(TEST_HG_REPO)) repo_clone = MercurialRepository(TEST_HG_REPO_CLONE, src_url=TEST_HG_REPO, update_after_clone=True) self.assertEqual(len(repo.revisions), len(repo_clone.revisions)) @@ -45,7 +46,7 @@ self.assertEqual(raw_id, repo_clone.get_changeset(raw_id).raw_id) def test_repo_clone_with_update(self): - repo = MercurialRepository(TEST_HG_REPO) + repo = MercurialRepository(safe_str(TEST_HG_REPO)) repo_clone = MercurialRepository(TEST_HG_REPO_CLONE + '_w_update', src_url=TEST_HG_REPO, update_after_clone=True) self.assertEqual(len(repo.revisions), len(repo_clone.revisions)) @@ -56,7 +57,7 @@ 'MANIFEST.in')), True,) def test_repo_clone_without_update(self): - repo = MercurialRepository(TEST_HG_REPO) + repo = MercurialRepository(safe_str(TEST_HG_REPO)) repo_clone = MercurialRepository(TEST_HG_REPO_CLONE + '_wo_update', src_url=TEST_HG_REPO, update_after_clone=False) self.assertEqual(len(repo.revisions), len(repo_clone.revisions)) @@ -242,7 +243,7 @@ class MercurialChangesetTest(unittest.TestCase): def setUp(self): - self.repo = MercurialRepository(TEST_HG_REPO) + self.repo = MercurialRepository(safe_str(TEST_HG_REPO)) def _test_equality(self, changeset): revision = changeset.revision
--- a/kallithea/tests/vcs/test_vcs.py Tue Jan 05 16:30:12 2016 +0100 +++ b/kallithea/tests/vcs/test_vcs.py Tue Jan 05 16:30:12 2016 +0100 @@ -2,6 +2,7 @@ import os import shutil +from kallithea.lib.utils2 import safe_str from kallithea.lib.vcs import VCSError, get_repo, get_backend from kallithea.lib.vcs.backends.hg import MercurialRepository from kallithea.lib.vcs.utils.compat import unittest @@ -22,14 +23,14 @@ alias = 'hg' path = TEST_HG_REPO backend = get_backend(alias) - repo = backend(path) + repo = backend(safe_str(path)) self.assertEqual('hg',repo.alias) def test_alias_detect_git(self): alias = 'git' path = TEST_GIT_REPO backend = get_backend(alias) - repo = backend(path) + repo = backend(safe_str(path)) self.assertEqual('git',repo.alias) def test_wrong_alias(self): @@ -40,28 +41,28 @@ alias = 'hg' path = TEST_HG_REPO backend = get_backend(alias) - repo = backend(path) + repo = backend(safe_str(path)) - self.assertEqual(repo.__class__, get_repo(path, alias).__class__) - self.assertEqual(repo.path, get_repo(path, alias).path) + self.assertEqual(repo.__class__, get_repo(safe_str(path), alias).__class__) + self.assertEqual(repo.path, get_repo(safe_str(path), alias).path) def test_get_repo_autoalias_hg(self): alias = 'hg' path = TEST_HG_REPO backend = get_backend(alias) - repo = backend(path) + repo = backend(safe_str(path)) - self.assertEqual(repo.__class__, get_repo(path).__class__) - self.assertEqual(repo.path, get_repo(path).path) + self.assertEqual(repo.__class__, get_repo(safe_str(path)).__class__) + self.assertEqual(repo.path, get_repo(safe_str(path)).path) def test_get_repo_autoalias_git(self): alias = 'git' path = TEST_GIT_REPO backend = get_backend(alias) - repo = backend(path) + repo = backend(safe_str(path)) - self.assertEqual(repo.__class__, get_repo(path).__class__) - self.assertEqual(repo.path, get_repo(path).path) + self.assertEqual(repo.__class__, get_repo(safe_str(path)).__class__) + self.assertEqual(repo.path, get_repo(safe_str(path)).path) def test_get_repo_err(self):