Skip to content

Commit e6e6e5e

Browse files
committed
Add new test
1 parent 2ab9257 commit e6e6e5e

File tree

1 file changed

+94
-6
lines changed

1 file changed

+94
-6
lines changed

readthedocs/rtd_tests/tests/test_sync_versions.py

+94-6
Original file line numberDiff line numberDiff line change
@@ -570,8 +570,85 @@ def test_unicode(self):
570570
)
571571
self.assertEqual(resp.status_code, 200)
572572

573-
def test_user_defined_stable_version_with_tags(self):
573+
def test_user_defined_stable_version_tag_with_tags(self):
574+
Version.objects.create(
575+
project=self.pip,
576+
identifier='0.8.3',
577+
verbose_name='0.8.3',
578+
active=True,
579+
)
574580

581+
# A pre-existing active stable tag that was machine created
582+
Version.objects.create(
583+
project=self.pip,
584+
identifier='foo',
585+
type=TAG,
586+
verbose_name='stable',
587+
active=True,
588+
machine=True,
589+
)
590+
591+
version_post_data = {
592+
'branches': [
593+
{
594+
'identifier': 'origin/master',
595+
'verbose_name': 'master',
596+
},
597+
],
598+
'tags': [
599+
# A new user-defined stable branch
600+
{
601+
'identifier': '1abc2def3',
602+
'verbose_name': 'stable',
603+
},
604+
{
605+
'identifier': '0.9',
606+
'verbose_name': '0.9',
607+
},
608+
{
609+
'identifier': '0.8.3',
610+
'verbose_name': '0.8.3',
611+
},
612+
],
613+
}
614+
615+
resp = self.client.post(
616+
'/api/v2/project/{}/sync_versions/'.format(self.pip.pk),
617+
data=json.dumps(version_post_data),
618+
content_type='application/json',
619+
)
620+
self.assertEqual(resp.status_code, 200)
621+
622+
# Didn't update to newest tag
623+
version_9 = Version.objects.get(slug='0.9')
624+
self.assertFalse(version_9.active)
625+
626+
# Did update to user-defined stable version
627+
version_stable = Version.objects.get(slug='stable')
628+
self.assertFalse(version_stable.machine)
629+
self.assertTrue(version_stable.active)
630+
self.assertEqual(
631+
'1abc2def3',
632+
self.pip.get_stable_version().identifier
633+
)
634+
635+
# Check that posting again doesn't change anything from current state.
636+
resp = self.client.post(
637+
'/api/v2/project/{}/sync_versions/'.format(self.pip.pk),
638+
data=json.dumps(version_post_data),
639+
content_type='application/json',
640+
)
641+
self.assertEqual(resp.status_code, 200)
642+
643+
version_stable = Version.objects.get(slug='stable')
644+
self.assertFalse(version_stable.machine)
645+
self.assertTrue(version_stable.active)
646+
self.assertEqual(
647+
'1abc2def3',
648+
self.pip.get_stable_version().identifier
649+
)
650+
651+
def test_user_defined_stable_version_branch_with_tags(self):
575652
Version.objects.create(
576653
project=self.pip,
577654
identifier='0.8.3',
@@ -583,7 +660,7 @@ def test_user_defined_stable_version_with_tags(self):
583660
Version.objects.create(
584661
project=self.pip,
585662
identifier='foo',
586-
type='branch',
663+
type=BRANCH,
587664
verbose_name='stable',
588665
active=True,
589666
machine=True,
@@ -613,11 +690,12 @@ def test_user_defined_stable_version_with_tags(self):
613690
],
614691
}
615692

616-
self.client.post(
693+
resp = self.client.post(
617694
'/api/v2/project/{}/sync_versions/'.format(self.pip.pk),
618695
data=json.dumps(version_post_data),
619696
content_type='application/json',
620697
)
698+
self.assertEqual(resp.status_code, 200)
621699

622700
# Didn't update to newest tag
623701
version_9 = Version.objects.get(slug='0.9')
@@ -627,13 +705,23 @@ def test_user_defined_stable_version_with_tags(self):
627705
version_stable = Version.objects.get(slug='stable')
628706
self.assertFalse(version_stable.machine)
629707
self.assertTrue(version_stable.active)
630-
self.assertEqual('origin/stable', self.pip.get_stable_version().identifier)
708+
self.assertEqual(
709+
'origin/stable',
710+
self.pip.get_stable_version().identifier
711+
)
631712

632713
# Check that posting again doesn't change anything from current state.
633-
self.client.post(
714+
resp = self.client.post(
634715
'/api/v2/project/{}/sync_versions/'.format(self.pip.pk),
635716
data=json.dumps(version_post_data),
636717
content_type='application/json',
637718
)
719+
self.assertEqual(resp.status_code, 200)
638720

639-
self.assertEqual('origin/stable', self.pip.get_stable_version().identifier)
721+
version_stable = Version.objects.get(slug='stable')
722+
self.assertFalse(version_stable.machine)
723+
self.assertTrue(version_stable.active)
724+
self.assertEqual(
725+
'origin/stable',
726+
self.pip.get_stable_version().identifier
727+
)

0 commit comments

Comments
 (0)