forked from mirrors/bookwyrm
Test fixes
This commit is contained in:
parent
7b27f98e20
commit
cbf5479253
4 changed files with 42 additions and 20 deletions
|
@ -92,11 +92,26 @@ class Openlibrary(TestCase):
|
||||||
responses.add(
|
responses.add(
|
||||||
responses.GET,
|
responses.GET,
|
||||||
'https://openlibrary.org/authors/OL382982A',
|
'https://openlibrary.org/authors/OL382982A',
|
||||||
json={'hi': 'there'},
|
json={
|
||||||
|
"name": "George Elliott",
|
||||||
|
"personal_name": "George Elliott",
|
||||||
|
"last_modified": {
|
||||||
|
"type": "/type/datetime",
|
||||||
|
"value": "2008-08-31 10:09:33.413686"
|
||||||
|
},
|
||||||
|
"key": "/authors/OL453734A",
|
||||||
|
"type": {
|
||||||
|
"key": "/type/author"
|
||||||
|
},
|
||||||
|
"id": 1259965,
|
||||||
|
"revision": 2
|
||||||
|
},
|
||||||
status=200)
|
status=200)
|
||||||
results = self.connector.get_authors_from_data(self.work_data)
|
results = self.connector.get_authors_from_data(self.work_data)
|
||||||
for result in results:
|
result = list(results)[0]
|
||||||
self.assertIsInstance(result, models.Author)
|
self.assertIsInstance(result, models.Author)
|
||||||
|
self.assertEqual(result.name, 'George Elliott')
|
||||||
|
self.assertEqual(result.openlibrary_key, 'OL453734A')
|
||||||
|
|
||||||
|
|
||||||
def test_get_cover_url(self):
|
def test_get_cover_url(self):
|
||||||
|
@ -201,6 +216,9 @@ class Openlibrary(TestCase):
|
||||||
'https://openlibrary.org/authors/OL382982A',
|
'https://openlibrary.org/authors/OL382982A',
|
||||||
json={'hi': 'there'},
|
json={'hi': 'there'},
|
||||||
status=200)
|
status=200)
|
||||||
|
with patch('bookwyrm.connectors.openlibrary.Connector.' \
|
||||||
|
'get_authors_from_data') as mock:
|
||||||
|
mock.return_value = []
|
||||||
result = self.connector.create_edition_from_data(
|
result = self.connector.create_edition_from_data(
|
||||||
work, self.edition_data)
|
work, self.edition_data)
|
||||||
self.assertEqual(result.parent_work, work)
|
self.assertEqual(result.parent_work, work)
|
||||||
|
|
|
@ -30,6 +30,12 @@ class ActivitypubMixins(TestCase):
|
||||||
outbox='https://example.com/users/rat/outbox',
|
outbox='https://example.com/users/rat/outbox',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
self.object_mock = {
|
||||||
|
'to': 'to field', 'cc': 'cc field',
|
||||||
|
'content': 'hi', 'id': 'bip', 'type': 'Test',
|
||||||
|
'published': '2020-12-04T17:52:22.623807+00:00',
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# ActivitypubMixin
|
# ActivitypubMixin
|
||||||
def test_to_activity(self):
|
def test_to_activity(self):
|
||||||
|
@ -292,15 +298,10 @@ class ActivitypubMixins(TestCase):
|
||||||
|
|
||||||
def test_to_create_activity(self):
|
def test_to_create_activity(self):
|
||||||
''' wrapper for ActivityPub "create" action '''
|
''' wrapper for ActivityPub "create" action '''
|
||||||
object_activity = {
|
|
||||||
'to': 'to field', 'cc': 'cc field',
|
|
||||||
'content': 'hi',
|
|
||||||
'published': '2020-12-04T17:52:22.623807+00:00',
|
|
||||||
}
|
|
||||||
MockSelf = namedtuple('Self', ('remote_id', 'to_activity'))
|
MockSelf = namedtuple('Self', ('remote_id', 'to_activity'))
|
||||||
mock_self = MockSelf(
|
mock_self = MockSelf(
|
||||||
'https://example.com/status/1',
|
'https://example.com/status/1',
|
||||||
lambda *args: object_activity
|
lambda *args: self.object_mock
|
||||||
)
|
)
|
||||||
activity = ObjectMixin.to_create_activity(
|
activity = ObjectMixin.to_create_activity(
|
||||||
mock_self, self.local_user)
|
mock_self, self.local_user)
|
||||||
|
@ -312,7 +313,7 @@ class ActivitypubMixins(TestCase):
|
||||||
self.assertEqual(activity['type'], 'Create')
|
self.assertEqual(activity['type'], 'Create')
|
||||||
self.assertEqual(activity['to'], 'to field')
|
self.assertEqual(activity['to'], 'to field')
|
||||||
self.assertEqual(activity['cc'], 'cc field')
|
self.assertEqual(activity['cc'], 'cc field')
|
||||||
self.assertEqual(activity['object'], object_activity)
|
self.assertIsInstance(activity['object'], dict)
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
activity['signature'].creator,
|
activity['signature'].creator,
|
||||||
'%s#main-key' % self.local_user.remote_id
|
'%s#main-key' % self.local_user.remote_id
|
||||||
|
@ -323,7 +324,7 @@ class ActivitypubMixins(TestCase):
|
||||||
MockSelf = namedtuple('Self', ('remote_id', 'to_activity'))
|
MockSelf = namedtuple('Self', ('remote_id', 'to_activity'))
|
||||||
mock_self = MockSelf(
|
mock_self = MockSelf(
|
||||||
'https://example.com/status/1',
|
'https://example.com/status/1',
|
||||||
lambda *args: {}
|
lambda *args: self.object_mock
|
||||||
)
|
)
|
||||||
activity = ObjectMixin.to_delete_activity(
|
activity = ObjectMixin.to_delete_activity(
|
||||||
mock_self, self.local_user)
|
mock_self, self.local_user)
|
||||||
|
@ -346,7 +347,7 @@ class ActivitypubMixins(TestCase):
|
||||||
MockSelf = namedtuple('Self', ('remote_id', 'to_activity'))
|
MockSelf = namedtuple('Self', ('remote_id', 'to_activity'))
|
||||||
mock_self = MockSelf(
|
mock_self = MockSelf(
|
||||||
'https://example.com/status/1',
|
'https://example.com/status/1',
|
||||||
lambda *args: {}
|
lambda *args: self.object_mock
|
||||||
)
|
)
|
||||||
activity = ObjectMixin.to_update_activity(
|
activity = ObjectMixin.to_update_activity(
|
||||||
mock_self, self.local_user)
|
mock_self, self.local_user)
|
||||||
|
@ -361,7 +362,7 @@ class ActivitypubMixins(TestCase):
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
activity['to'],
|
activity['to'],
|
||||||
['https://www.w3.org/ns/activitystreams#Public'])
|
['https://www.w3.org/ns/activitystreams#Public'])
|
||||||
self.assertEqual(activity['object'], {})
|
self.assertIsInstance(activity['object'], dict)
|
||||||
|
|
||||||
|
|
||||||
# Activity mixin
|
# Activity mixin
|
||||||
|
@ -370,7 +371,7 @@ class ActivitypubMixins(TestCase):
|
||||||
MockSelf = namedtuple('Self', ('remote_id', 'to_activity', 'user'))
|
MockSelf = namedtuple('Self', ('remote_id', 'to_activity', 'user'))
|
||||||
mock_self = MockSelf(
|
mock_self = MockSelf(
|
||||||
'https://example.com/status/1',
|
'https://example.com/status/1',
|
||||||
lambda *args: {},
|
lambda *args: self.object_mock,
|
||||||
self.local_user,
|
self.local_user,
|
||||||
)
|
)
|
||||||
activity = ActivityMixin.to_undo_activity(mock_self)
|
activity = ActivityMixin.to_undo_activity(mock_self)
|
||||||
|
@ -380,4 +381,4 @@ class ActivitypubMixins(TestCase):
|
||||||
)
|
)
|
||||||
self.assertEqual(activity['actor'], self.local_user.remote_id)
|
self.assertEqual(activity['actor'], self.local_user.remote_id)
|
||||||
self.assertEqual(activity['type'], 'Undo')
|
self.assertEqual(activity['type'], 'Undo')
|
||||||
self.assertEqual(activity['object'], {})
|
self.assertIsInstance(activity['object'], dict)
|
||||||
|
|
|
@ -17,6 +17,7 @@ from django.db import models
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
|
||||||
|
from bookwyrm import activitypub
|
||||||
from bookwyrm.activitypub.base_activity import ActivityObject
|
from bookwyrm.activitypub.base_activity import ActivityObject
|
||||||
from bookwyrm.models import fields, User, Status
|
from bookwyrm.models import fields, User, Status
|
||||||
from bookwyrm.models.base_model import BookWyrmModel
|
from bookwyrm.models.base_model import BookWyrmModel
|
||||||
|
@ -275,7 +276,7 @@ class ActivitypubFields(TestCase):
|
||||||
'rat', 'rat@rat.rat', 'ratword',
|
'rat', 'rat@rat.rat', 'ratword',
|
||||||
local=True, localname='rat')
|
local=True, localname='rat')
|
||||||
with patch('bookwyrm.models.user.set_remote_server.delay'):
|
with patch('bookwyrm.models.user.set_remote_server.delay'):
|
||||||
value = instance.field_from_activity(userdata)
|
value = instance.field_from_activity(activitypub.Person(**userdata))
|
||||||
self.assertIsInstance(value, User)
|
self.assertIsInstance(value, User)
|
||||||
self.assertNotEqual(value, unrelated_user)
|
self.assertNotEqual(value, unrelated_user)
|
||||||
self.assertEqual(value.remote_id, 'https://example.com/user/mouse')
|
self.assertEqual(value.remote_id, 'https://example.com/user/mouse')
|
||||||
|
@ -300,7 +301,7 @@ class ActivitypubFields(TestCase):
|
||||||
local=True, localname='rat')
|
local=True, localname='rat')
|
||||||
|
|
||||||
with patch('bookwyrm.models.activitypub_mixin.ObjectMixin.broadcast'):
|
with patch('bookwyrm.models.activitypub_mixin.ObjectMixin.broadcast'):
|
||||||
value = instance.field_from_activity(userdata)
|
value = instance.field_from_activity(activitypub.Person(**userdata))
|
||||||
self.assertEqual(value, user)
|
self.assertEqual(value, user)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -171,6 +171,8 @@ class ImportJob(TestCase):
|
||||||
'bookwyrm.connectors.connector_manager.first_search_result'
|
'bookwyrm.connectors.connector_manager.first_search_result'
|
||||||
) as search:
|
) as search:
|
||||||
search.return_value = result
|
search.return_value = result
|
||||||
|
with patch('bookwyrm.connectors.openlibrary.Connector.' \
|
||||||
|
'get_authors_from_data'):
|
||||||
book = self.item_1.get_book_from_isbn()
|
book = self.item_1.get_book_from_isbn()
|
||||||
|
|
||||||
self.assertEqual(book.title, 'Sabriel')
|
self.assertEqual(book.title, 'Sabriel')
|
||||||
|
|
Loading…
Reference in a new issue