Throws validation error when remote_id is None

This commit is contained in:
Mouse Reeve 2020-12-09 11:57:29 -08:00
parent cc42e9d149
commit ef2a07884f
2 changed files with 5 additions and 2 deletions

View file

@ -18,7 +18,7 @@ from bookwyrm.connectors import get_image
def validate_remote_id(value):
''' make sure the remote_id looks like a url '''
if not re.match(r'^http.?:\/\/[^\s]+$', value):
if not value or not re.match(r'^http.?:\/\/[^\s]+$', value):
raise ValidationError(
_('%(value)s is not a valid remote_id'),
params={'value': value},
@ -127,7 +127,6 @@ class ForeignKey(ActivitypubRelatedFieldMixin, models.ForeignKey):
return value.remote_id
def field_from_activity(self, value):
print(value)
try:
validate_remote_id(value)
except ValidationError:

View file

@ -1,3 +1,4 @@
''' quotation activty object serializer class '''
import json
import pathlib
from unittest.mock import patch
@ -9,6 +10,7 @@ from bookwyrm import activitypub, models
class Quotation(TestCase):
''' we have hecka ways to create statuses '''
def setUp(self):
''' model objects we'll need '''
with patch('bookwyrm.models.user.set_remote_server.delay'):
self.user = models.User.objects.create_user(
'mouse', 'mouse@mouse.mouse', 'mouseword',
@ -28,6 +30,7 @@ class Quotation(TestCase):
def test_quotation_activity(self):
''' create a Quoteation ap object from json '''
quotation = activitypub.Quotation(**self.status_data)
self.assertEqual(quotation.type, 'Quotation')
@ -41,6 +44,7 @@ class Quotation(TestCase):
def test_activity_to_model(self):
''' create a model instance from an activity object '''
activity = activitypub.Quotation(**self.status_data)
quotation = activity.to_model(models.Quotation)