Skip to content

Commit ff5ba88

Browse files
committed
Update tests with new Version.get_absolute_url implementation
1 parent a485f83 commit ff5ba88

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

readthedocs/rtd_tests/tests/test_api.py

+15-10
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import dateutil
77
from allauth.socialaccount.models import SocialAccount
88
from django.contrib.auth.models import User
9+
from django.core.validators import URLValidator
910
from django.http import QueryDict
1011
from django.test import TestCase, override_settings
1112
from django.urls import reverse
@@ -299,12 +300,14 @@ def test_response_building(self):
299300
'version_slug': version.slug,
300301
},
301302
)
303+
url_validator = URLValidator(verify_exists=False, schemes=["https"])
302304
build = resp.data
303-
self.assertEqual(build['state'], 'cloning')
304-
self.assertEqual(build['error'], '')
305-
self.assertEqual(build['exit_code'], 0)
306-
self.assertEqual(build['success'], True)
307-
self.assertEqual(build['docs_url'], dashboard_url)
305+
self.assertEqual(build["state"], "cloning")
306+
self.assertEqual(build["error"], "")
307+
self.assertEqual(build["exit_code"], 0)
308+
self.assertEqual(build["success"], True)
309+
self.assertTrue(build["docs_url"].endswith(dashboard_url))
310+
self.assertTrue(url_validator.validate(build["docs_url"]))
308311

309312
@override_settings(DOCROOT="/home/docs/checkouts/readthedocs.org/user_builds")
310313
def test_response_finished_and_success(self):
@@ -381,6 +384,7 @@ def test_response_finished_and_fail(self):
381384

382385
resp = client.get('/api/v2/build/{build}/'.format(build=build.pk))
383386
self.assertEqual(resp.status_code, 200)
387+
url_validator = URLValidator(verify_exists=False, schemes=["https"])
384388

385389
dashboard_url = reverse(
386390
'project_version_detail',
@@ -390,11 +394,12 @@ def test_response_finished_and_fail(self):
390394
},
391395
)
392396
build = resp.data
393-
self.assertEqual(build['state'], 'finished')
394-
self.assertEqual(build['error'], '')
395-
self.assertEqual(build['exit_code'], 1)
396-
self.assertEqual(build['success'], False)
397-
self.assertEqual(build['docs_url'], dashboard_url)
397+
self.assertEqual(build["state"], "finished")
398+
self.assertEqual(build["error"], "")
399+
self.assertEqual(build["exit_code"], 1)
400+
self.assertEqual(build["success"], False)
401+
self.assertTrue(build["docs_url"].endswith(dashboard_url))
402+
self.assertTrue(url_validator.validate(build["docs_url"]))
398403

399404
def test_make_build_without_permission(self):
400405
"""Ensure anonymous/non-staff users cannot write the build endpoint."""

readthedocs/rtd_tests/tests/test_oauth.py

+2
Original file line numberDiff line numberDiff line change
@@ -350,6 +350,8 @@ def test_send_build_status_value_error(self, session, mock_logger):
350350
commit_status='success',
351351
user_username=self.user.username,
352352
statuses_url='https://api.github.com/repos/pypa/pip/statuses/1234',
353+
target_url=mock.ANY,
354+
status="success",
353355
)
354356
mock_logger.exception.assert_called_with(
355357
'GitHub commit status creation failed for project.',

0 commit comments

Comments
 (0)