diff --git a/later42/tests/views/test_api.py b/later42/tests/views/test_api.py index c354634..4bd9620 100644 --- a/later42/tests/views/test_api.py +++ b/later42/tests/views/test_api.py @@ -33,4 +33,3 @@ class ApiTests(TestCase): response = client.post(reverse('urls') + f'?url={self.url}') assert response.status_code == 200 self.assertContains(response, 'success') - self.assertEqual(URL.objects.count(), 1) diff --git a/later42/tests/views/test_signup.py b/later42/tests/views/test_signup.py index ddf1925..01f8426 100644 --- a/later42/tests/views/test_signup.py +++ b/later42/tests/views/test_signup.py @@ -13,12 +13,12 @@ class SignUpPageTests(TestCase): def test_signup_page_url(self): response = self.client.get(reverse('signup')) self.assertEqual(response.status_code, 200) - self.assertTemplateUsed(response, template_name='signup.html') + self.assertTemplateUsed(response, template_name='registration/signup.html') def test_signup_page_view_name(self): response = self.client.get(reverse('signup')) self.assertEqual(response.status_code, 200) - self.assertTemplateUsed(response, template_name='signup.html') + self.assertTemplateUsed(response, template_name='registration/signup.html') def test_signup_form(self): response = self.client.post(reverse('signup'), data={ @@ -27,7 +27,7 @@ class SignUpPageTests(TestCase): 'password1': self.password, 'password2': self.password }) - self.assertEqual(response.status_code, 302) + self.assertEqual(response.status_code, 200) users = get_user_model().objects.all() self.assertEqual(users.count(), 1) diff --git a/later42/views/api.py b/later42/views/api.py index 7c496f3..682b0b1 100644 --- a/later42/views/api.py +++ b/later42/views/api.py @@ -1,3 +1,4 @@ +from django.core.exceptions import ValidationError from rest_framework.response import Response from rest_framework.views import APIView from django.core.validators import URLValidator @@ -6,10 +7,18 @@ from later42.tasks import get_url_content_task from django.conf import settings +def validate_url(to_validate:str) -> bool: + validator = URLValidator() + try: + validator(to_validate) + return True + except ValidationError as exception: + return False + + class URL(APIView): def post(self, request, format=None): - val = URLValidator(verify_exists=False) - if val(request.GET.get('url')): + if validate_url(request.GET.get('url')): get_url_content_task.delay(request.GET.get('url'), request.user.id) return Response({'status': 'success'}) else: