Skip to content

Commit 2992fb6

Browse files
authored
Versions: more tests for sync versions (#12458)
Extracted from #10927, trying to get a smaller diff on that PR :)
1 parent 5277376 commit 2992fb6

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

readthedocs/rtd_tests/tests/test_sync_versions.py

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,7 @@ def test_update_latest_version_type(self):
302302
)
303303

304304
latest_version = self.pip.versions.get(slug=LATEST)
305+
self.assertIsNone(self.pip.default_branch)
305306
self.assertEqual(latest_version.type, BRANCH)
306307
self.assertEqual(latest_version.identifier, "master")
307308
self.assertEqual(latest_version.verbose_name, "latest")
@@ -769,12 +770,36 @@ def test_machine_attr_when_user_define_latest_tag_and_delete_it(self):
769770

770771
# The latest isn't stuck with the previous commit
771772
version_latest = self.pip.versions.get(slug="latest")
773+
self.assertIsNone(self.pip.default_branch)
774+
self.assertTrue(version_latest.machine)
772775
self.assertEqual(
773776
"master",
774777
version_latest.identifier,
775778
)
776779
self.assertTrue(version_latest.machine)
777780

781+
# Test with an explicit default branch (tag).
782+
self.pip.default_branch = "default-tag"
783+
self.pip.save()
784+
785+
tags_data = [
786+
{
787+
"identifier": "1abc2def3",
788+
"verbose_name": "default-tag",
789+
}
790+
]
791+
792+
sync_versions_task(
793+
self.pip.pk,
794+
branches_data=branches_data,
795+
tags_data=tags_data,
796+
)
797+
798+
version_latest = self.pip.versions.get(slug="latest")
799+
self.assertTrue(version_latest.machine)
800+
self.assertEqual(version_latest.identifier, "default-tag")
801+
self.assertEqual(version_latest.type, TAG)
802+
778803
def test_machine_attr_when_user_define_latest_branch_and_delete_it(self):
779804
"""The user creates a branch named ``latest`` on an existing repo, when
780805
syncing the versions, the RTD's ``latest`` is lost (set to
@@ -802,6 +827,8 @@ def test_machine_attr_when_user_define_latest_branch_and_delete_it(self):
802827

803828
# The branch is the new latest
804829
version_latest = self.pip.versions.get(slug="latest")
830+
self.assertIsNone(self.pip.default_branch)
831+
self.assertFalse(version_latest.machine)
805832
self.assertEqual(
806833
"origin/latest",
807834
version_latest.identifier,
@@ -823,12 +850,38 @@ def test_machine_attr_when_user_define_latest_branch_and_delete_it(self):
823850

824851
# The latest isn't stuck with the previous branch
825852
version_latest = self.pip.versions.get(slug="latest")
853+
self.assertIsNone(self.pip.default_branch)
854+
self.assertTrue(version_latest.machine)
826855
self.assertEqual(
827856
"master",
828857
version_latest.identifier,
829858
)
830859
self.assertTrue(version_latest.machine)
831860

861+
# Test with an explicit default branch.
862+
branches_data = [
863+
{
864+
"identifier": "origin/master",
865+
"verbose_name": "master",
866+
},
867+
{
868+
"identifier": "origin/default-branch",
869+
"verbose_name": "default-branch",
870+
},
871+
]
872+
self.pip.default_branch = "default-branch"
873+
self.pip.save()
874+
sync_versions_task(
875+
self.pip.pk,
876+
branches_data=branches_data,
877+
tags_data=[],
878+
)
879+
880+
version_latest = self.pip.versions.get(slug="latest")
881+
self.assertTrue(version_latest.machine)
882+
self.assertEqual(version_latest.identifier, "default-branch")
883+
self.assertEqual(version_latest.type, BRANCH)
884+
832885
def test_deletes_version_with_same_identifier(self):
833886
branches_data = [
834887
{

0 commit comments

Comments
 (0)