From 5066aaa0dc55bb6964431bc139263f99267cef5e Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Wed, 12 Dec 2018 12:16:11 -0500 Subject: [PATCH 1/2] Remove `LOCAL_GIT_BRANCHES` from settings --- readthedocs/rtd_tests/tests/test_backend.py | 12 ++++++++---- readthedocs/rtd_tests/tests/test_celery.py | 12 ++++++++++-- readthedocs/settings/test.py | 1 - readthedocs/vcs_support/backends/git.py | 2 -- 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/readthedocs/rtd_tests/tests/test_backend.py b/readthedocs/rtd_tests/tests/test_backend.py index cdce2e9cd56..31336985187 100644 --- a/readthedocs/rtd_tests/tests/test_backend.py +++ b/readthedocs/rtd_tests/tests/test_backend.py @@ -49,7 +49,8 @@ def setUp(self): self.dummy_conf.submodules.include = ALL self.dummy_conf.submodules.exclude = [] - def test_git_branches(self): + @patch('readthedocs.projects.models.Project.checkout_path') + def test_git_branches(self, checkout_path): repo_path = self.project.repo default_branches = [ # comes from ``make_test_git`` function @@ -68,10 +69,13 @@ def test_git_branches(self): for branch in branches: create_git_branch(repo_path, branch) + # Create dir where to clone the repo + local_repo = os.path.join(mkdtemp(), 'local') + os.mkdir(local_repo) + checkout_path.return_value = local_repo + repo = self.project.vcs_repo() - # We aren't cloning the repo, - # so we need to hack the repo path - repo.working_dir = repo_path + repo.clone() self.assertEqual( set(branches + default_branches), diff --git a/readthedocs/rtd_tests/tests/test_celery.py b/readthedocs/rtd_tests/tests/test_celery.py index 83a5fdbe815..11a9e31e46f 100644 --- a/readthedocs/rtd_tests/tests/test_celery.py +++ b/readthedocs/rtd_tests/tests/test_celery.py @@ -126,10 +126,14 @@ def test_sync_repository(self): @patch('readthedocs.projects.tasks.api_v2') @patch('readthedocs.projects.models.Project.checkout_path') def test_check_duplicate_reserved_version_latest(self, checkout_path, api_v2): - checkout_path.return_value = self.project.repo create_git_branch(self.repo, 'latest') create_git_tag(self.repo, 'latest') + # Create dir where to clone the repo + local_repo = os.path.join(mkdtemp(), 'local') + os.mkdir(local_repo) + checkout_path.return_value = local_repo + version = self.project.versions.get(slug=LATEST) sync_repository = tasks.UpdateDocsTaskStep() sync_repository.version = version @@ -148,10 +152,14 @@ def test_check_duplicate_reserved_version_latest(self, checkout_path, api_v2): @patch('readthedocs.projects.tasks.api_v2') @patch('readthedocs.projects.models.Project.checkout_path') def test_check_duplicate_reserved_version_stable(self, checkout_path, api_v2): - checkout_path.return_value = self.project.repo create_git_branch(self.repo, 'stable') create_git_tag(self.repo, 'stable') + # Create dir where to clone the repo + local_repo = os.path.join(mkdtemp(), 'local') + os.mkdir(local_repo) + checkout_path.return_value = local_repo + version = self.project.versions.get(slug=LATEST) sync_repository = tasks.UpdateDocsTaskStep() sync_repository.version = version diff --git a/readthedocs/settings/test.py b/readthedocs/settings/test.py index 398f8664b7e..f49dc8584b1 100644 --- a/readthedocs/settings/test.py +++ b/readthedocs/settings/test.py @@ -16,7 +16,6 @@ class CommunityTestSettings(CommunityDevSettings): DEBUG = False TEMPLATE_DEBUG = False - LOCAL_GIT_BRANCHES = True @property def LOGGING(self): # noqa - avoid pep8 N802 diff --git a/readthedocs/vcs_support/backends/git.py b/readthedocs/vcs_support/backends/git.py index 8da10bb4617..6c6e3077dbd 100644 --- a/readthedocs/vcs_support/backends/git.py +++ b/readthedocs/vcs_support/backends/git.py @@ -183,8 +183,6 @@ def branches(self): # ``repo.remotes.origin.refs`` returns remote branches if repo.remotes: branches += repo.remotes.origin.refs - if getattr(settings, 'LOCAL_GIT_BRANCHES', False): - branches += repo.branches for branch in branches: verbose_name = branch.name From 311373c568f76c650fef5e54ef8696ced22d1276 Mon Sep 17 00:00:00 2001 From: Santos Gallegos Date: Wed, 12 Dec 2018 12:47:50 -0500 Subject: [PATCH 2/2] Skip unicode test in python2 --- readthedocs/rtd_tests/tests/test_backend.py | 30 +++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/readthedocs/rtd_tests/tests/test_backend.py b/readthedocs/rtd_tests/tests/test_backend.py index 31336985187..ee3471528ca 100644 --- a/readthedocs/rtd_tests/tests/test_backend.py +++ b/readthedocs/rtd_tests/tests/test_backend.py @@ -13,6 +13,7 @@ import django_dynamic_fixture as fixture import pytest +import six from django.contrib.auth.models import User from mock import Mock, patch @@ -64,6 +65,35 @@ def test_git_branches(self, checkout_path): '2.0.X', 'release/2.0.0', 'release/foo/bar', + ] + for branch in branches: + create_git_branch(repo_path, branch) + + # Create dir where to clone the repo + local_repo = os.path.join(mkdtemp(), 'local') + os.mkdir(local_repo) + checkout_path.return_value = local_repo + + repo = self.project.vcs_repo() + repo.clone() + + self.assertEqual( + set(branches + default_branches), + {branch.verbose_name for branch in repo.branches}, + ) + + @pytest.mark.skipif(six.PY2, reason='Only for python3') + @patch('readthedocs.projects.models.Project.checkout_path') + def test_git_branches_unicode(self, checkout_path): + repo_path = self.project.repo + default_branches = [ + # comes from ``make_test_git`` function + 'submodule', + 'relativesubmodule', + 'invalidsubmodule', + ] + branches = [ + 'master', 'release-ünîø∂é', ] for branch in branches: