diff --git a/bookwyrm/tests/activitypub/test_author.py b/bookwyrm/tests/activitypub/test_author.py index e65f86b7..fbb38da2 100644 --- a/bookwyrm/tests/activitypub/test_author.py +++ b/bookwyrm/tests/activitypub/test_author.py @@ -1,15 +1,17 @@ import datetime +from unittest.mock import patch from django.test import TestCase from bookwyrm import models class Author(TestCase): def setUp(self): - self.book = models.Edition.objects.create( - title="Example Edition", - remote_id="https://example.com/book/1", - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.book = models.Edition.objects.create( + title="Example Edition", + remote_id="https://example.com/book/1", + ) self.author = models.Author.objects.create( name="Author fullname", aliases=["One", "Two"], diff --git a/bookwyrm/tests/activitypub/test_base_activity.py b/bookwyrm/tests/activitypub/test_base_activity.py index 77844a22..54fbb49e 100644 --- a/bookwyrm/tests/activitypub/test_base_activity.py +++ b/bookwyrm/tests/activitypub/test_base_activity.py @@ -25,24 +25,25 @@ class BaseActivity(TestCase): def setUp(self): """we're probably going to re-use this so why copy/paste""" - self.user = models.User.objects.create_user( - "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" - ) - self.user.remote_id = "http://example.com/a/b" - self.user.save(broadcast=False) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.user = models.User.objects.create_user( + "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" + ) + self.user.remote_id = "http://example.com/a/b" + self.user.save(broadcast=False) - datafile = pathlib.Path(__file__).parent.joinpath("../data/ap_user.json") - self.userdata = json.loads(datafile.read_bytes()) - # don't try to load the user icon - del self.userdata["icon"] + datafile = pathlib.Path(__file__).parent.joinpath("../data/ap_user.json") + self.userdata = json.loads(datafile.read_bytes()) + # don't try to load the user icon + del self.userdata["icon"] - image_file = pathlib.Path(__file__).parent.joinpath( - "../../static/images/default_avi.jpg" - ) - image = Image.open(image_file) - output = BytesIO() - image.save(output, format=image.format) - self.image_data = output.getvalue() + image_file = pathlib.Path(__file__).parent.joinpath( + "../../static/images/default_avi.jpg" + ) + image = Image.open(image_file) + output = BytesIO() + image.save(output, format=image.format) + self.image_data = output.getvalue() def test_init(self, _): """simple successfuly init""" @@ -139,8 +140,9 @@ class BaseActivity(TestCase): self.user.avatar.file # pylint: disable=pointless-statement # this would trigger a broadcast because it's a local user - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - activity.to_model(model=models.User, instance=self.user) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + activity.to_model(model=models.User, instance=self.user) self.assertIsNotNone(self.user.avatar.file) self.assertEqual(self.user.name, "New Name") self.assertEqual(self.user.key_pair.public_key, "hi") @@ -152,9 +154,10 @@ class BaseActivity(TestCase): content="test status", user=self.user, ) - book = models.Edition.objects.create( - title="Test Edition", remote_id="http://book.com/book" - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + book = models.Edition.objects.create( + title="Test Edition", remote_id="http://book.com/book" + ) update_data = activitypub.Note( id=status.remote_id, content=status.content, diff --git a/bookwyrm/tests/activitypub/test_quotation.py b/bookwyrm/tests/activitypub/test_quotation.py index c90348bc..7d1b2869 100644 --- a/bookwyrm/tests/activitypub/test_quotation.py +++ b/bookwyrm/tests/activitypub/test_quotation.py @@ -22,10 +22,11 @@ class Quotation(TestCase): outbox="https://example.com/user/mouse/outbox", remote_id="https://example.com/user/mouse", ) - self.book = models.Edition.objects.create( - title="Example Edition", - remote_id="https://example.com/book/1", - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.book = models.Edition.objects.create( + title="Example Edition", + remote_id="https://example.com/book/1", + ) datafile = pathlib.Path(__file__).parent.joinpath("../data/ap_quotation.json") self.status_data = json.loads(datafile.read_bytes()) diff --git a/bookwyrm/tests/connectors/test_abstract_connector.py b/bookwyrm/tests/connectors/test_abstract_connector.py index 5c50e4b7..9ca3c8f2 100644 --- a/bookwyrm/tests/connectors/test_abstract_connector.py +++ b/bookwyrm/tests/connectors/test_abstract_connector.py @@ -74,11 +74,12 @@ class AbstractConnector(TestCase): Mapping("openlibraryKey"), ] - self.book = models.Edition.objects.create( - title="Test Book", - remote_id="https://example.com/book/1234", - openlibrary_key="OL1234M", - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.book = models.Edition.objects.create( + title="Test Book", + remote_id="https://example.com/book/1234", + openlibrary_key="OL1234M", + ) def test_abstract_connector_init(self): """barebones connector for search with defaults""" diff --git a/bookwyrm/tests/connectors/test_bookwyrm_connector.py b/bookwyrm/tests/connectors/test_bookwyrm_connector.py index 46ea54a9..3a2480de 100644 --- a/bookwyrm/tests/connectors/test_bookwyrm_connector.py +++ b/bookwyrm/tests/connectors/test_bookwyrm_connector.py @@ -1,4 +1,5 @@ """ testing book data connectors """ +from unittest.mock import patch import json import pathlib from django.test import TestCase @@ -25,8 +26,9 @@ class BookWyrmConnector(TestCase): def test_get_or_create_book_existing(self): """load book activity""" - work = models.Work.objects.create(title="Test Work") - book = models.Edition.objects.create(title="Test Edition", parent_work=work) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + work = models.Work.objects.create(title="Test Work") + book = models.Edition.objects.create(title="Test Edition", parent_work=work) result = self.connector.get_or_create_book(book.remote_id) self.assertEqual(book, result) diff --git a/bookwyrm/tests/connectors/test_connector_manager.py b/bookwyrm/tests/connectors/test_connector_manager.py index 67b108dd..95920f07 100644 --- a/bookwyrm/tests/connectors/test_connector_manager.py +++ b/bookwyrm/tests/connectors/test_connector_manager.py @@ -1,4 +1,5 @@ """ interface between the app and various connectors """ +from unittest.mock import patch from django.test import TestCase import responses @@ -13,14 +14,15 @@ class ConnectorManager(TestCase): def setUp(self): """we'll need some books and a connector info entry""" - self.work = models.Work.objects.create(title="Example Work") + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.work = models.Work.objects.create(title="Example Work") - self.edition = models.Edition.objects.create( - title="Example Edition", parent_work=self.work, isbn_10="0000000000" - ) - self.edition = models.Edition.objects.create( - title="Another Edition", parent_work=self.work, isbn_10="1111111111" - ) + self.edition = models.Edition.objects.create( + title="Example Edition", parent_work=self.work, isbn_10="0000000000" + ) + self.edition = models.Edition.objects.create( + title="Another Edition", parent_work=self.work, isbn_10="1111111111" + ) self.connector = models.Connector.objects.create( identifier="test_connector", diff --git a/bookwyrm/tests/connectors/test_openlibrary_connector.py b/bookwyrm/tests/connectors/test_openlibrary_connector.py index 699b26ed..8c00061a 100644 --- a/bookwyrm/tests/connectors/test_openlibrary_connector.py +++ b/bookwyrm/tests/connectors/test_openlibrary_connector.py @@ -178,20 +178,26 @@ class Openlibrary(TestCase): @responses.activate def test_expand_book_data(self): """given a book, get more editions""" - work = models.Work.objects.create(title="Test Work", openlibrary_key="OL1234W") - edition = models.Edition.objects.create(title="Test Edition", parent_work=work) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + work = models.Work.objects.create( + title="Test Work", openlibrary_key="OL1234W" + ) + edition = models.Edition.objects.create( + title="Test Edition", parent_work=work + ) responses.add( responses.GET, "https://openlibrary.org/works/OL1234W/editions", json={"entries": []}, ) - with patch( - "bookwyrm.connectors.abstract_connector.AbstractConnector." - "create_edition_from_data" - ): - self.connector.expand_book_data(edition) - self.connector.expand_book_data(work) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + with patch( + "bookwyrm.connectors.abstract_connector.AbstractConnector." + "create_edition_from_data" + ): + self.connector.expand_book_data(edition) + self.connector.expand_book_data(work) def test_get_description(self): """should do some cleanup on the description data""" diff --git a/bookwyrm/tests/connectors/test_self_connector.py b/bookwyrm/tests/connectors/test_self_connector.py index db97b65a..e49d9671 100644 --- a/bookwyrm/tests/connectors/test_self_connector.py +++ b/bookwyrm/tests/connectors/test_self_connector.py @@ -1,4 +1,5 @@ """ testing book data connectors """ +from unittest.mock import patch import datetime from django.test import TestCase from django.utils import timezone @@ -29,11 +30,12 @@ class SelfConnector(TestCase): def test_format_search_result(self): """create a SearchResult""" author = models.Author.objects.create(name="Anonymous") - edition = models.Edition.objects.create( - title="Edition of Example Work", - published_date=datetime.datetime(1980, 5, 10, tzinfo=timezone.utc), - ) - edition.authors.add(author) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + edition = models.Edition.objects.create( + title="Edition of Example Work", + published_date=datetime.datetime(1980, 5, 10, tzinfo=timezone.utc), + ) + edition.authors.add(author) result = self.connector.search("Edition of Example")[0] self.assertEqual(result.title, "Edition of Example Work") self.assertEqual(result.key, edition.remote_id) @@ -44,32 +46,33 @@ class SelfConnector(TestCase): def test_search_rank(self): """prioritize certain results""" author = models.Author.objects.create(name="Anonymous") - edition = models.Edition.objects.create( - title="Edition of Example Work", - published_date=datetime.datetime(1980, 5, 10, tzinfo=timezone.utc), - parent_work=models.Work.objects.create(title=""), - ) - # author text is rank C - edition.authors.add(author) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + edition = models.Edition.objects.create( + title="Edition of Example Work", + published_date=datetime.datetime(1980, 5, 10, tzinfo=timezone.utc), + parent_work=models.Work.objects.create(title=""), + ) + # author text is rank C + edition.authors.add(author) - # series is rank D - models.Edition.objects.create( - title="Another Edition", - series="Anonymous", - parent_work=models.Work.objects.create(title=""), - ) - # subtitle is rank B - models.Edition.objects.create( - title="More Editions", - subtitle="The Anonymous Edition", - parent_work=models.Work.objects.create(title=""), - ) - # title is rank A - models.Edition.objects.create(title="Anonymous") - # doesn't rank in this search - edition = models.Edition.objects.create( - title="An Edition", parent_work=models.Work.objects.create(title="") - ) + # series is rank D + models.Edition.objects.create( + title="Another Edition", + series="Anonymous", + parent_work=models.Work.objects.create(title=""), + ) + # subtitle is rank B + models.Edition.objects.create( + title="More Editions", + subtitle="The Anonymous Edition", + parent_work=models.Work.objects.create(title=""), + ) + # title is rank A + models.Edition.objects.create(title="Anonymous") + # doesn't rank in this search + edition = models.Edition.objects.create( + title="An Edition", parent_work=models.Work.objects.create(title="") + ) results = self.connector.search("Anonymous") self.assertEqual(len(results), 3) @@ -79,16 +82,17 @@ class SelfConnector(TestCase): def test_search_multiple_editions(self): """it should get rid of duplicate editions for the same work""" - work = models.Work.objects.create(title="Work Title") - edition_1 = models.Edition.objects.create( - title="Edition 1 Title", parent_work=work - ) - edition_2 = models.Edition.objects.create( - title="Edition 2 Title", - parent_work=work, - edition_rank=20, # that's default babey - ) - edition_3 = models.Edition.objects.create(title="Fish", parent_work=work) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + work = models.Work.objects.create(title="Work Title") + edition_1 = models.Edition.objects.create( + title="Edition 1 Title", parent_work=work + ) + edition_2 = models.Edition.objects.create( + title="Edition 2 Title", + parent_work=work, + edition_rank=20, # that's default babey + ) + edition_3 = models.Edition.objects.create(title="Fish", parent_work=work) # pick the best edition results = self.connector.search("Edition 1 Title") diff --git a/bookwyrm/tests/importers/test_goodreads_import.py b/bookwyrm/tests/importers/test_goodreads_import.py index 655567d0..81f47e6f 100644 --- a/bookwyrm/tests/importers/test_goodreads_import.py +++ b/bookwyrm/tests/importers/test_goodreads_import.py @@ -21,9 +21,10 @@ class GoodreadsImport(TestCase): self.importer = GoodreadsImporter() datafile = pathlib.Path(__file__).parent.joinpath("../data/goodreads.csv") self.csv = open(datafile, "r", encoding=self.importer.encoding) - self.user = models.User.objects.create_user( - "mouse", "mouse@mouse.mouse", "password", local=True - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.user = models.User.objects.create_user( + "mouse", "mouse@mouse.mouse", "password", local=True + ) models.Connector.objects.create( identifier=DOMAIN, @@ -36,12 +37,13 @@ class GoodreadsImport(TestCase): search_url="https://%s/search?q=" % DOMAIN, priority=1, ) - work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( - title="Example Edition", - remote_id="https://example.com/book/1", - parent_work=work, - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + work = models.Work.objects.create(title="Test Work") + self.book = models.Edition.objects.create( + title="Example Edition", + remote_id="https://example.com/book/1", + parent_work=work, + ) def test_create_job(self): """creates the import job entry and checks csv""" @@ -92,7 +94,8 @@ class GoodreadsImport(TestCase): def test_import_data(self): """resolve entry""" import_job = self.importer.create_job(self.user, self.csv, False, "unlisted") - book = models.Edition.objects.create(title="Test Book") + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + book = models.Edition.objects.create(title="Test Book") with patch( "bookwyrm.models.import_job.ImportItem.get_book_from_isbn" @@ -119,10 +122,11 @@ class GoodreadsImport(TestCase): ) break - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - handle_imported_book( - self.importer.service, self.user, import_item, False, "public" - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + handle_imported_book( + self.importer.service, self.user, import_item, False, "public" + ) shelf.refresh_from_db() self.assertEqual(shelf.books.first(), self.book) @@ -183,13 +187,14 @@ class GoodreadsImport(TestCase): ) break - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - handle_imported_book( - self.importer.service, self.user, import_item, False, "public" - ) - handle_imported_book( - self.importer.service, self.user, import_item, False, "public" - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + handle_imported_book( + self.importer.service, self.user, import_item, False, "public" + ) + handle_imported_book( + self.importer.service, self.user, import_item, False, "public" + ) shelf.refresh_from_db() self.assertEqual(shelf.books.first(), self.book) @@ -216,10 +221,11 @@ class GoodreadsImport(TestCase): job_id=import_job.id, index=0, data=entry, book=self.book ) - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - handle_imported_book( - self.importer.service, self.user, import_item, True, "unlisted" - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + handle_imported_book( + self.importer.service, self.user, import_item, True, "unlisted" + ) review = models.Review.objects.get(book=self.book, user=self.user) self.assertEqual(review.content, "mixed feelings") self.assertEqual(review.rating, 2) @@ -242,10 +248,11 @@ class GoodreadsImport(TestCase): job_id=import_job.id, index=0, data=entry, book=self.book ) - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - handle_imported_book( - self.importer.service, self.user, import_item, True, "unlisted" - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + handle_imported_book( + self.importer.service, self.user, import_item, True, "unlisted" + ) review = models.ReviewRating.objects.get(book=self.book, user=self.user) self.assertIsInstance(review, models.ReviewRating) self.assertEqual(review.rating, 2) @@ -265,10 +272,11 @@ class GoodreadsImport(TestCase): job_id=import_job.id, index=0, data=entry, book=self.book ) - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - handle_imported_book( - self.importer.service, self.user, import_item, False, "unlisted" - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + handle_imported_book( + self.importer.service, self.user, import_item, False, "unlisted" + ) self.assertFalse( models.Review.objects.filter(book=self.book, user=self.user).exists() ) diff --git a/bookwyrm/tests/importers/test_librarything_import.py b/bookwyrm/tests/importers/test_librarything_import.py index 5ae0944c..8e299d56 100644 --- a/bookwyrm/tests/importers/test_librarything_import.py +++ b/bookwyrm/tests/importers/test_librarything_import.py @@ -22,9 +22,10 @@ class LibrarythingImport(TestCase): # Librarything generates latin encoded exports... self.csv = open(datafile, "r", encoding=self.importer.encoding) - self.user = models.User.objects.create_user( - "mmai", "mmai@mmai.mmai", "password", local=True - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.user = models.User.objects.create_user( + "mmai", "mmai@mmai.mmai", "password", local=True + ) models.Connector.objects.create( identifier=DOMAIN, @@ -37,12 +38,13 @@ class LibrarythingImport(TestCase): search_url="https://%s/search?q=" % DOMAIN, priority=1, ) - work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( - title="Example Edition", - remote_id="https://example.com/book/1", - parent_work=work, - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + work = models.Work.objects.create(title="Test Work") + self.book = models.Edition.objects.create( + title="Example Edition", + remote_id="https://example.com/book/1", + parent_work=work, + ) def test_create_job(self): """creates the import job entry and checks csv""" @@ -82,7 +84,8 @@ class LibrarythingImport(TestCase): def test_import_data(self): """resolve entry""" import_job = self.importer.create_job(self.user, self.csv, False, "unlisted") - book = models.Edition.objects.create(title="Test Book") + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + book = models.Edition.objects.create(title="Test Book") with patch( "bookwyrm.models.import_job.ImportItem.get_book_from_isbn" @@ -111,10 +114,11 @@ class LibrarythingImport(TestCase): ) break - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - handle_imported_book( - self.importer.service, self.user, import_item, False, "public" - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + handle_imported_book( + self.importer.service, self.user, import_item, False, "public" + ) shelf.refresh_from_db() self.assertEqual(shelf.books.first(), self.book) @@ -147,10 +151,11 @@ class LibrarythingImport(TestCase): ) break - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - handle_imported_book( - self.importer.service, self.user, import_item, False, "public" - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + handle_imported_book( + self.importer.service, self.user, import_item, False, "public" + ) shelf.refresh_from_db() self.assertEqual(shelf.books.first(), self.book) @@ -179,13 +184,14 @@ class LibrarythingImport(TestCase): ) break - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - handle_imported_book( - self.importer.service, self.user, import_item, False, "public" - ) - handle_imported_book( - self.importer.service, self.user, import_item, False, "public" - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + handle_imported_book( + self.importer.service, self.user, import_item, False, "public" + ) + handle_imported_book( + self.importer.service, self.user, import_item, False, "public" + ) shelf.refresh_from_db() self.assertEqual(shelf.books.first(), self.book) @@ -212,10 +218,11 @@ class LibrarythingImport(TestCase): job_id=import_job.id, index=0, data=entry, book=self.book ) - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - handle_imported_book( - self.importer.service, self.user, import_item, True, "unlisted" - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + handle_imported_book( + self.importer.service, self.user, import_item, True, "unlisted" + ) review = models.Review.objects.get(book=self.book, user=self.user) self.assertEqual(review.content, "chef d'oeuvre") self.assertEqual(review.rating, 5) @@ -235,10 +242,11 @@ class LibrarythingImport(TestCase): job_id=import_job.id, index=0, data=entry, book=self.book ) - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - handle_imported_book( - self.importer.service, self.user, import_item, False, "unlisted" - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + handle_imported_book( + self.importer.service, self.user, import_item, False, "unlisted" + ) self.assertFalse( models.Review.objects.filter(book=self.book, user=self.user).exists() ) diff --git a/bookwyrm/tests/management/test_populate_streams.py b/bookwyrm/tests/management/test_populate_streams.py index d187c054..f6d24c53 100644 --- a/bookwyrm/tests/management/test_populate_streams.py +++ b/bookwyrm/tests/management/test_populate_streams.py @@ -12,12 +12,17 @@ class Activitystreams(TestCase): def setUp(self): """we need some stuff""" - self.local_user = models.User.objects.create_user( - "mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse" - ) - self.another_user = models.User.objects.create_user( - "nutria", "nutria@nutria.nutria", "password", local=True, localname="nutria" - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse" + ) + self.another_user = models.User.objects.create_user( + "nutria", + "nutria@nutria.nutria", + "password", + local=True, + localname="nutria", + ) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -28,7 +33,8 @@ class Activitystreams(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - self.book = models.Edition.objects.create(title="test book") + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.book = models.Edition.objects.create(title="test book") def test_populate_streams(self, _): """make sure the function on the redis manager gets called""" diff --git a/bookwyrm/tests/models/test_activitypub_mixin.py b/bookwyrm/tests/models/test_activitypub_mixin.py index 1c0975c4..348270ed 100644 --- a/bookwyrm/tests/models/test_activitypub_mixin.py +++ b/bookwyrm/tests/models/test_activitypub_mixin.py @@ -19,11 +19,12 @@ class ActivitypubMixins(TestCase): def setUp(self): """shared data""" - self.local_user = models.User.objects.create_user( - "mouse", "mouse@mouse.com", "mouseword", local=True, localname="mouse" - ) - self.local_user.remote_id = "http://example.com/a/b" - self.local_user.save(broadcast=False) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse", "mouse@mouse.com", "mouseword", local=True, localname="mouse" + ) + self.local_user.remote_id = "http://example.com/a/b" + self.local_user.save(broadcast=False) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -70,9 +71,10 @@ class ActivitypubMixins(TestCase): """attempt to match a remote id to an object in the db""" # uses a different remote id scheme # this isn't really part of this test directly but it's helpful to state - book = models.Edition.objects.create( - title="Test Edition", remote_id="http://book.com/book" - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + book = models.Edition.objects.create( + title="Test Edition", remote_id="http://book.com/book" + ) self.assertEqual(book.origin_id, "http://book.com/book") self.assertNotEqual(book.remote_id, "http://book.com/book") @@ -101,10 +103,11 @@ class ActivitypubMixins(TestCase): def test_find_existing(self, _): """match a blob of data to a model""" - book = models.Edition.objects.create( - title="Test edition", - openlibrary_key="OL1234", - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + book = models.Edition.objects.create( + title="Test edition", + openlibrary_key="OL1234", + ) result = models.Edition.find_existing({"openlibraryKey": "OL1234"}) self.assertEqual(result, book) diff --git a/bookwyrm/tests/models/test_base_model.py b/bookwyrm/tests/models/test_base_model.py index 75d0444c..8b0e55b7 100644 --- a/bookwyrm/tests/models/test_base_model.py +++ b/bookwyrm/tests/models/test_base_model.py @@ -12,9 +12,10 @@ class BaseModel(TestCase): def setUp(self): """shared data""" - self.local_user = models.User.objects.create_user( - "mouse", "mouse@mouse.com", "mouseword", local=True, localname="mouse" - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse", "mouse@mouse.com", "mouseword", local=True, localname="mouse" + ) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", diff --git a/bookwyrm/tests/models/test_book_model.py b/bookwyrm/tests/models/test_book_model.py index cad00d43..df61514c 100644 --- a/bookwyrm/tests/models/test_book_model.py +++ b/bookwyrm/tests/models/test_book_model.py @@ -2,6 +2,7 @@ from dateutil.parser import parse from django.test import TestCase from django.utils import timezone +from unittest.mock import patch from bookwyrm import models, settings from bookwyrm.models.book import isbn_10_to_13, isbn_13_to_10 @@ -12,17 +13,18 @@ class Book(TestCase): def setUp(self): """we'll need some books""" - self.work = models.Work.objects.create( - title="Example Work", remote_id="https://example.com/book/1" - ) - self.first_edition = models.Edition.objects.create( - title="Example Edition", - parent_work=self.work, - ) - self.second_edition = models.Edition.objects.create( - title="Another Example Edition", - parent_work=self.work, - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.work = models.Work.objects.create( + title="Example Work", remote_id="https://example.com/book/1" + ) + self.first_edition = models.Edition.objects.create( + title="Example Edition", + parent_work=self.work, + ) + self.second_edition = models.Edition.objects.create( + title="Another Example Edition", + parent_work=self.work, + ) def test_remote_id(self): """fanciness with remote/origin ids""" @@ -56,7 +58,8 @@ class Book(TestCase): def test_get_edition_info(self): """text slug about an edition""" - book = models.Edition.objects.create(title="Test Edition") + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + book = models.Edition.objects.create(title="Test Edition") self.assertEqual(book.edition_info, "") book.physical_format = "worm" diff --git a/bookwyrm/tests/models/test_fields.py b/bookwyrm/tests/models/test_fields.py index ea692b62..e8c48b0b 100644 --- a/bookwyrm/tests/models/test_fields.py +++ b/bookwyrm/tests/models/test_fields.py @@ -188,9 +188,10 @@ class ActivitypubFields(TestCase): @patch("bookwyrm.activitystreams.ActivityStream.add_status") def test_privacy_field_set_activity_from_field(self, *_): """translate between to/cc fields and privacy""" - user = User.objects.create_user( - "rat", "rat@rat.rat", "ratword", local=True, localname="rat" - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + user = User.objects.create_user( + "rat", "rat@rat.rat", "ratword", local=True, localname="rat" + ) public = "https://www.w3.org/ns/activitystreams#Public" followers = "%s/followers" % user.remote_id @@ -248,9 +249,10 @@ class ActivitypubFields(TestCase): del userdata["icon"] # it shouldn't match with this unrelated user: - unrelated_user = User.objects.create_user( - "rat", "rat@rat.rat", "ratword", local=True, localname="rat" - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + unrelated_user = User.objects.create_user( + "rat", "rat@rat.rat", "ratword", local=True, localname="rat" + ) # test receiving an unknown remote id and loading data responses.add( @@ -272,9 +274,10 @@ class ActivitypubFields(TestCase): del userdata["icon"] # it shouldn't match with this unrelated user: - unrelated_user = User.objects.create_user( - "rat", "rat@rat.rat", "ratword", local=True, localname="rat" - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + unrelated_user = User.objects.create_user( + "rat", "rat@rat.rat", "ratword", local=True, localname="rat" + ) with patch("bookwyrm.models.user.set_remote_server.delay"): value = instance.field_from_activity(activitypub.Person(**userdata)) self.assertIsInstance(value, User) @@ -288,14 +291,16 @@ class ActivitypubFields(TestCase): instance = fields.ForeignKey(User, on_delete=models.CASCADE) datafile = pathlib.Path(__file__).parent.joinpath("../data/ap_user.json") userdata = json.loads(datafile.read_bytes()) - user = User.objects.create_user( - "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" - ) - user.remote_id = "https://example.com/user/mouse" - user.save(broadcast=False) - User.objects.create_user( - "rat", "rat@rat.rat", "ratword", local=True, localname="rat" - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + user = User.objects.create_user( + "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" + ) + user.remote_id = "https://example.com/user/mouse" + user.save(broadcast=False) + + User.objects.create_user( + "rat", "rat@rat.rat", "ratword", local=True, localname="rat" + ) with patch("bookwyrm.models.activitypub_mixin.ObjectMixin.broadcast"): value = instance.field_from_activity(activitypub.Person(**userdata)) @@ -304,12 +309,13 @@ class ActivitypubFields(TestCase): def test_foreign_key_from_activity_str_existing(self): """test receiving a remote id of an existing object in the db""" instance = fields.ForeignKey(User, on_delete=models.CASCADE) - user = User.objects.create_user( - "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" - ) - User.objects.create_user( - "rat", "rat@rat.rat", "ratword", local=True, localname="rat" - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + user = User.objects.create_user( + "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" + ) + User.objects.create_user( + "rat", "rat@rat.rat", "ratword", local=True, localname="rat" + ) value = instance.field_from_activity(user.remote_id) self.assertEqual(value, user) @@ -386,16 +392,17 @@ class ActivitypubFields(TestCase): @patch("bookwyrm.models.activitypub_mixin.ObjectMixin.broadcast") def test_image_field(self, _): """storing images""" - user = User.objects.create_user( - "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" - ) - image_file = pathlib.Path(__file__).parent.joinpath( - "../../static/images/default_avi.jpg" - ) - image = Image.open(image_file) - output = BytesIO() - image.save(output, format=image.format) - user.avatar.save("test.jpg", ContentFile(output.getvalue())) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + user = User.objects.create_user( + "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" + ) + image_file = pathlib.Path(__file__).parent.joinpath( + "../../static/images/default_avi.jpg" + ) + image = Image.open(image_file) + output = BytesIO() + image.save(output, format=image.format) + user.avatar.save("test.jpg", ContentFile(output.getvalue())) output = fields.image_serializer(user.avatar, alt="alt text") self.assertIsNotNone( diff --git a/bookwyrm/tests/models/test_import_model.py b/bookwyrm/tests/models/test_import_model.py index 76a914d1..02263e0e 100644 --- a/bookwyrm/tests/models/test_import_model.py +++ b/bookwyrm/tests/models/test_import_model.py @@ -59,9 +59,10 @@ class ImportJob(TestCase): unknown_read_data["Exclusive Shelf"] = "read" unknown_read_data["Date Read"] = "" - user = models.User.objects.create_user( - "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + user = models.User.objects.create_user( + "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" + ) job = models.ImportJob.objects.create(user=user) self.item_1 = models.ImportItem.objects.create( job=job, index=1, data=currently_reading_data diff --git a/bookwyrm/tests/models/test_list.py b/bookwyrm/tests/models/test_list.py index 8f5bd497..34517ddc 100644 --- a/bookwyrm/tests/models/test_list.py +++ b/bookwyrm/tests/models/test_list.py @@ -11,11 +11,13 @@ class List(TestCase): def setUp(self): """look, a list""" - self.local_user = models.User.objects.create_user( - "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" - ) - work = models.Work.objects.create(title="hello") - self.book = models.Edition.objects.create(title="hi", parent_work=work) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" + ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + work = models.Work.objects.create(title="hello") + self.book = models.Edition.objects.create(title="hi", parent_work=work) def test_remote_id(self, _): """shelves use custom remote ids""" diff --git a/bookwyrm/tests/models/test_readthrough_model.py b/bookwyrm/tests/models/test_readthrough_model.py index 986b739b..186e7ad0 100644 --- a/bookwyrm/tests/models/test_readthrough_model.py +++ b/bookwyrm/tests/models/test_readthrough_model.py @@ -1,6 +1,7 @@ """ testing models """ from django.test import TestCase from django.core.exceptions import ValidationError +from unittest.mock import patch from bookwyrm import models @@ -10,15 +11,16 @@ class ReadThrough(TestCase): def setUp(self): """look, a shelf""" - self.user = models.User.objects.create_user( - "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.user = models.User.objects.create_user( + "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" + ) - self.work = models.Work.objects.create(title="Example Work") - - self.edition = models.Edition.objects.create( - title="Example Edition", parent_work=self.work - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.work = models.Work.objects.create(title="Example Work") + self.edition = models.Edition.objects.create( + title="Example Edition", parent_work=self.work + ) self.readthrough = models.ReadThrough.objects.create( user=self.user, book=self.edition diff --git a/bookwyrm/tests/models/test_relationship_models.py b/bookwyrm/tests/models/test_relationship_models.py index d629b5c7..516bfeb1 100644 --- a/bookwyrm/tests/models/test_relationship_models.py +++ b/bookwyrm/tests/models/test_relationship_models.py @@ -20,11 +20,12 @@ class Relationship(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - self.local_user = models.User.objects.create_user( - "mouse", "mouse@mouse.com", "mouseword", local=True, localname="mouse" - ) - self.local_user.remote_id = "http://local.com/user/mouse" - self.local_user.save(broadcast=False) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse", "mouse@mouse.com", "mouseword", local=True, localname="mouse" + ) + self.local_user.remote_id = "http://local.com/user/mouse" + self.local_user.save(broadcast=False) def test_user_follows_from_request(self): """convert a follow request into a follow""" diff --git a/bookwyrm/tests/models/test_shelf_model.py b/bookwyrm/tests/models/test_shelf_model.py index 911df059..f5c255a6 100644 --- a/bookwyrm/tests/models/test_shelf_model.py +++ b/bookwyrm/tests/models/test_shelf_model.py @@ -12,11 +12,15 @@ class Shelf(TestCase): def setUp(self): """look, a shelf""" - self.local_user = models.User.objects.create_user( - "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" - ) - work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create(title="test book", parent_work=work) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" + ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + work = models.Work.objects.create(title="Test Work") + self.book = models.Edition.objects.create( + title="test book", parent_work=work + ) def test_remote_id(self): """shelves use custom remote ids""" diff --git a/bookwyrm/tests/models/test_status_model.py b/bookwyrm/tests/models/test_status_model.py index 4c8930bc..0005c507 100644 --- a/bookwyrm/tests/models/test_status_model.py +++ b/bookwyrm/tests/models/test_status_model.py @@ -21,9 +21,10 @@ class Status(TestCase): def setUp(self): """useful things for creating a status""" - self.local_user = models.User.objects.create_user( - "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" + ) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -34,16 +35,17 @@ class Status(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - self.book = models.Edition.objects.create(title="Test Edition") + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.book = models.Edition.objects.create(title="Test Edition") - image_file = pathlib.Path(__file__).parent.joinpath( - "../../static/images/default_avi.jpg" - ) - image = Image.open(image_file) - output = BytesIO() - with patch("bookwyrm.models.Status.broadcast"): - image.save(output, format=image.format) - self.book.cover.save("test.jpg", ContentFile(output.getvalue())) + image_file = pathlib.Path(__file__).parent.joinpath( + "../../static/images/default_avi.jpg" + ) + image = Image.open(image_file) + output = BytesIO() + with patch("bookwyrm.models.Status.broadcast"): + image.save(output, format=image.format) + self.book.cover.save("test.jpg", ContentFile(output.getvalue())) def test_status_generated_fields(self, *_): """setting remote id""" @@ -58,9 +60,10 @@ class Status(TestCase): child = models.Status.objects.create( content="hello", reply_parent=parent, user=self.local_user ) - models.Review.objects.create( - content="hey", reply_parent=parent, user=self.local_user, book=self.book - ) + with patch("bookwyrm.preview_images.generate_edition_image_task.delay"): + models.Review.objects.create( + content="hey", reply_parent=parent, user=self.local_user, book=self.book + ) models.Status.objects.create( content="hi hello", reply_parent=child, user=self.local_user ) @@ -92,9 +95,10 @@ class Status(TestCase): child = models.Status.objects.create( content="hello", reply_parent=parent, user=self.local_user ) - models.Review.objects.create( - content="hey", reply_parent=parent, user=self.local_user, book=self.book - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + models.Review.objects.create( + content="hey", reply_parent=parent, user=self.local_user, book=self.book + ) models.Status.objects.create( content="hi hello", reply_parent=child, user=self.local_user ) @@ -251,14 +255,15 @@ class Status(TestCase): def test_review_to_activity(self, *_): """subclass of the base model version with a "pure" serializer""" - status = models.Review.objects.create( - name="Review name", - content="test content", - rating=3.0, - user=self.local_user, - book=self.book, - ) - activity = status.to_activity() + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + status = models.Review.objects.create( + name="Review name", + content="test content", + rating=3.0, + user=self.local_user, + book=self.book, + ) + activity = status.to_activity() self.assertEqual(activity["id"], status.remote_id) self.assertEqual(activity["type"], "Review") self.assertEqual(activity["rating"], 3) @@ -268,14 +273,15 @@ class Status(TestCase): def test_review_to_pure_activity(self, *_): """subclass of the base model version with a "pure" serializer""" - status = models.Review.objects.create( - name="Review's name", - content="test content", - rating=3.0, - user=self.local_user, - book=self.book, - ) - activity = status.to_activity(pure=True) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + status = models.Review.objects.create( + name="Review's name", + content="test content", + rating=3.0, + user=self.local_user, + book=self.book, + ) + activity = status.to_activity(pure=True) self.assertEqual(activity["id"], status.remote_id) self.assertEqual(activity["type"], "Article") self.assertEqual( @@ -292,13 +298,14 @@ class Status(TestCase): def test_review_to_pure_activity_no_rating(self, *_): """subclass of the base model version with a "pure" serializer""" - status = models.Review.objects.create( - name="Review name", - content="test content", - user=self.local_user, - book=self.book, - ) - activity = status.to_activity(pure=True) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + status = models.Review.objects.create( + name="Review name", + content="test content", + user=self.local_user, + book=self.book, + ) + activity = status.to_activity(pure=True) self.assertEqual(activity["id"], status.remote_id) self.assertEqual(activity["type"], "Article") self.assertEqual( @@ -314,12 +321,13 @@ class Status(TestCase): def test_reviewrating_to_pure_activity(self, *_): """subclass of the base model version with a "pure" serializer""" - status = models.ReviewRating.objects.create( - rating=3.0, - user=self.local_user, - book=self.book, - ) - activity = status.to_activity(pure=True) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + status = models.ReviewRating.objects.create( + rating=3.0, + user=self.local_user, + book=self.book, + ) + activity = status.to_activity(pure=True) self.assertEqual(activity["id"], status.remote_id) self.assertEqual(activity["type"], "Note") self.assertEqual( diff --git a/bookwyrm/tests/models/test_user_model.py b/bookwyrm/tests/models/test_user_model.py index b2791379..96ec955a 100644 --- a/bookwyrm/tests/models/test_user_model.py +++ b/bookwyrm/tests/models/test_user_model.py @@ -11,15 +11,16 @@ from bookwyrm.settings import DOMAIN # pylint: disable=missing-function-docstring class User(TestCase): def setUp(self): - self.user = models.User.objects.create_user( - "mouse@%s" % DOMAIN, - "mouse@mouse.mouse", - "mouseword", - local=True, - localname="mouse", - name="hi", - bookwyrm_user=False, - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.user = models.User.objects.create_user( + "mouse@%s" % DOMAIN, + "mouse@mouse.mouse", + "mouseword", + local=True, + localname="mouse", + name="hi", + bookwyrm_user=False, + ) def test_computed_fields(self): """username instead of id here""" diff --git a/bookwyrm/tests/test_activitystreams.py b/bookwyrm/tests/test_activitystreams.py index 59266383..bbd6dff9 100644 --- a/bookwyrm/tests/test_activitystreams.py +++ b/bookwyrm/tests/test_activitystreams.py @@ -11,12 +11,17 @@ class Activitystreams(TestCase): def setUp(self): """use a test csv""" - self.local_user = models.User.objects.create_user( - "mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse" - ) - self.another_user = models.User.objects.create_user( - "nutria", "nutria@nutria.nutria", "password", local=True, localname="nutria" - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse" + ) + self.another_user = models.User.objects.create_user( + "nutria", + "nutria@nutria.nutria", + "password", + local=True, + localname="nutria", + ) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -27,7 +32,8 @@ class Activitystreams(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - self.book = models.Edition.objects.create(title="test book") + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.book = models.Edition.objects.create(title="test book") class TestStream(activitystreams.ActivityStream): """test stream, don't have to do anything here""" diff --git a/bookwyrm/tests/test_emailing.py b/bookwyrm/tests/test_emailing.py index 0f9cc365..e7b1bb1c 100644 --- a/bookwyrm/tests/test_emailing.py +++ b/bookwyrm/tests/test_emailing.py @@ -15,14 +15,16 @@ class Emailing(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.mouse", - "password", - local=True, - localname="mouse", - ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_invite_email(self, email_mock): """load the invite email""" diff --git a/bookwyrm/tests/test_signing.py b/bookwyrm/tests/test_signing.py index 758ba9bb..5a2f1b74 100644 --- a/bookwyrm/tests/test_signing.py +++ b/bookwyrm/tests/test_signing.py @@ -37,15 +37,20 @@ class Signature(TestCase): def setUp(self): """create users and test data""" - self.mouse = models.User.objects.create_user( - "mouse@%s" % DOMAIN, "mouse@example.com", "", local=True, localname="mouse" - ) - self.rat = models.User.objects.create_user( - "rat@%s" % DOMAIN, "rat@example.com", "", local=True, localname="rat" - ) - self.cat = models.User.objects.create_user( - "cat@%s" % DOMAIN, "cat@example.com", "", local=True, localname="cat" - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.mouse = models.User.objects.create_user( + "mouse@%s" % DOMAIN, + "mouse@example.com", + "", + local=True, + localname="mouse", + ) + self.rat = models.User.objects.create_user( + "rat@%s" % DOMAIN, "rat@example.com", "", local=True, localname="rat" + ) + self.cat = models.User.objects.create_user( + "cat@%s" % DOMAIN, "cat@example.com", "", local=True, localname="cat" + ) private_key, public_key = create_key_pair() @@ -53,7 +58,8 @@ class Signature(TestCase): "http://localhost/user/remote", KeyPair(private_key, public_key) ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def send(self, signature, now, data, digest): """test request""" diff --git a/bookwyrm/tests/test_templatetags.py b/bookwyrm/tests/test_templatetags.py index 4b1aa594..a472ac74 100644 --- a/bookwyrm/tests/test_templatetags.py +++ b/bookwyrm/tests/test_templatetags.py @@ -21,13 +21,14 @@ class TemplateTags(TestCase): def setUp(self): """create some filler objects""" - self.user = models.User.objects.create_user( - "mouse@example.com", - "mouse@mouse.mouse", - "mouseword", - local=True, - localname="mouse", - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.user = models.User.objects.create_user( + "mouse@example.com", + "mouse@mouse.mouse", + "mouseword", + local=True, + localname="mouse", + ) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -36,12 +37,14 @@ class TemplateTags(TestCase): remote_id="http://example.com/rat", local=False, ) - self.book = models.Edition.objects.create(title="Test Book") + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.book = models.Edition.objects.create(title="Test Book") def test_get_user_rating(self, _): """get a user's most recent rating of a book""" - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - models.Review.objects.create(user=self.user, book=self.book, rating=3) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + models.Review.objects.create(user=self.user, book=self.book, rating=3) self.assertEqual(bookwyrm_tags.get_user_rating(self.book, self.user), 3) def test_get_user_rating_doesnt_exist(self, _): @@ -62,9 +65,12 @@ class TemplateTags(TestCase): def test_get_replies(self, _): """direct replies to a status""" with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - parent = models.Review.objects.create( - user=self.user, book=self.book, content="hi" - ) + with patch( + "bookwyrm.preview_images.generate_edition_preview_image_task.delay" + ): + parent = models.Review.objects.create( + user=self.user, book=self.book, content="hi" + ) first_child = models.Status.objects.create( reply_parent=parent, user=self.user, content="hi" ) @@ -90,9 +96,12 @@ class TemplateTags(TestCase): def test_get_parent(self, _): """get the reply parent of a status""" with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - parent = models.Review.objects.create( - user=self.user, book=self.book, content="hi" - ) + with patch( + "bookwyrm.preview_images.generate_edition_preview_image_task.delay" + ): + parent = models.Review.objects.create( + user=self.user, book=self.book, content="hi" + ) child = models.Status.objects.create( reply_parent=parent, user=self.user, content="hi" ) @@ -103,7 +112,8 @@ class TemplateTags(TestCase): def test_get_user_liked(self, _): """did a user like a status""" - status = models.Review.objects.create(user=self.remote_user, book=self.book) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + status = models.Review.objects.create(user=self.remote_user, book=self.book) self.assertFalse(interaction.get_user_liked(self.user, status)) with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): @@ -112,7 +122,8 @@ class TemplateTags(TestCase): def test_get_user_boosted(self, _): """did a user boost a status""" - status = models.Review.objects.create(user=self.remote_user, book=self.book) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + status = models.Review.objects.create(user=self.remote_user, book=self.book) self.assertFalse(interaction.get_user_boosted(self.user, status)) with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): @@ -121,9 +132,14 @@ class TemplateTags(TestCase): def test_get_boosted(self, _): """load a boosted status""" - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - status = models.Review.objects.create(user=self.remote_user, book=self.book) - boost = models.Boost.objects.create(user=self.user, boosted_status=status) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + status = models.Review.objects.create( + user=self.remote_user, book=self.book + ) + boost = models.Boost.objects.create( + user=self.user, boosted_status=status + ) boosted = status_display.get_boosted(boost) self.assertIsInstance(boosted, models.Review) self.assertEqual(boosted, status) diff --git a/bookwyrm/tests/views/inbox/test_inbox.py b/bookwyrm/tests/views/inbox/test_inbox.py index 697f4010..ccd3a5e5 100644 --- a/bookwyrm/tests/views/inbox/test_inbox.py +++ b/bookwyrm/tests/views/inbox/test_inbox.py @@ -18,15 +18,17 @@ class Inbox(TestCase): """basic user and book data""" self.client = Client() self.factory = RequestFactory() - local_user = models.User.objects.create_user( - "mouse@example.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - ) - local_user.remote_id = "https://example.com/user/mouse" - local_user.save(broadcast=False) + + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + local_user = models.User.objects.create_user( + "mouse@example.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + ) + local_user.remote_id = "https://example.com/user/mouse" + local_user.save(broadcast=False) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -45,7 +47,8 @@ class Inbox(TestCase): "cc": ["https://example.com/user/mouse/followers"], "object": {}, } - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_inbox_invalid_get(self): """shouldn't try to handle if the user is not found""" diff --git a/bookwyrm/tests/views/inbox/test_inbox_add.py b/bookwyrm/tests/views/inbox/test_inbox_add.py index 5f86b121..c1fd90fe 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_add.py +++ b/bookwyrm/tests/views/inbox/test_inbox_add.py @@ -13,15 +13,16 @@ class InboxAdd(TestCase): def setUp(self): """basic user and book data""" - local_user = models.User.objects.create_user( - "mouse@example.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - ) - local_user.remote_id = "https://example.com/user/mouse" - local_user.save(broadcast=False) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + local_user = models.User.objects.create_user( + "mouse@example.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + ) + local_user.remote_id = "https://example.com/user/mouse" + local_user.save(broadcast=False) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -32,14 +33,15 @@ class InboxAdd(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - work = models.Work.objects.create(title="work title") - self.book = models.Edition.objects.create( - title="Test", - remote_id="https://example.com/book/37292", - parent_work=work, - ) - - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + work = models.Work.objects.create(title="work title") + self.book = models.Edition.objects.create( + title="Test", + remote_id="https://example.com/book/37292", + parent_work=work, + ) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() @responses.activate def test_handle_add_book_to_shelf(self): diff --git a/bookwyrm/tests/views/inbox/test_inbox_announce.py b/bookwyrm/tests/views/inbox/test_inbox_announce.py index 4243dc78..853266ed 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_announce.py +++ b/bookwyrm/tests/views/inbox/test_inbox_announce.py @@ -13,15 +13,16 @@ class InboxActivities(TestCase): def setUp(self): """basic user and book data""" - self.local_user = models.User.objects.create_user( - "mouse@example.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - ) - self.local_user.remote_id = "https://example.com/user/mouse" - self.local_user.save(broadcast=False) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@example.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + ) + self.local_user.remote_id = "https://example.com/user/mouse" + self.local_user.save(broadcast=False) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -32,13 +33,14 @@ class InboxActivities(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - with patch("bookwyrm.activitystreams.ActivityStream.add_status"): - self.status = models.Status.objects.create( - user=self.local_user, - content="Test status", - remote_id="https://example.com/status/1", - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + with patch("bookwyrm.activitystreams.ActivityStream.add_status"): + self.status = models.Status.objects.create( + user=self.local_user, + content="Test status", + remote_id="https://example.com/status/1", + ) self.create_json = { "id": "hi", @@ -48,7 +50,8 @@ class InboxActivities(TestCase): "cc": ["https://example.com/user/mouse/followers"], "object": {}, } - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() @patch("bookwyrm.activitystreams.ActivityStream.add_status") def test_boost(self, redis_mock): @@ -83,12 +86,13 @@ class InboxActivities(TestCase): @patch("bookwyrm.activitystreams.ActivityStream.add_status") def test_boost_remote_status(self, redis_mock): """boost a status from a remote server""" - work = models.Work.objects.create(title="work title") - book = models.Edition.objects.create( - title="Test", - remote_id="https://bookwyrm.social/book/37292", - parent_work=work, - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + work = models.Work.objects.create(title="work title") + book = models.Edition.objects.create( + title="Test", + remote_id="https://bookwyrm.social/book/37292", + parent_work=work, + ) self.assertEqual(models.Notification.objects.count(), 0) activity = { "type": "Announce", diff --git a/bookwyrm/tests/views/inbox/test_inbox_block.py b/bookwyrm/tests/views/inbox/test_inbox_block.py index 956cf538..310a6fa6 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_block.py +++ b/bookwyrm/tests/views/inbox/test_inbox_block.py @@ -12,15 +12,16 @@ class InboxBlock(TestCase): def setUp(self): """basic user and book data""" - self.local_user = models.User.objects.create_user( - "mouse@example.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - ) - self.local_user.remote_id = "https://example.com/user/mouse" - self.local_user.save(broadcast=False) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@example.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + ) + self.local_user.remote_id = "https://example.com/user/mouse" + self.local_user.save(broadcast=False) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -31,8 +32,8 @@ class InboxBlock(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_handle_blocks(self): """create a "block" database entry from an activity""" diff --git a/bookwyrm/tests/views/inbox/test_inbox_create.py b/bookwyrm/tests/views/inbox/test_inbox_create.py index 958dfee8..3f677bd2 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_create.py +++ b/bookwyrm/tests/views/inbox/test_inbox_create.py @@ -15,15 +15,16 @@ class InboxCreate(TestCase): def setUp(self): """basic user and book data""" - self.local_user = models.User.objects.create_user( - "mouse@example.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - ) - self.local_user.remote_id = "https://example.com/user/mouse" - self.local_user.save(broadcast=False) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@example.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + ) + self.local_user.remote_id = "https://example.com/user/mouse" + self.local_user.save(broadcast=False) with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): with patch("bookwyrm.activitystreams.ActivityStream.add_status"): self.status = models.Status.objects.create( @@ -50,7 +51,8 @@ class InboxCreate(TestCase): "cc": ["https://example.com/user/mouse/followers"], "object": {}, } - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_create_status(self): """the "it justs works" mode""" @@ -60,9 +62,11 @@ class InboxCreate(TestCase): "../../data/ap_quotation.json" ) status_data = json.loads(datafile.read_bytes()) - models.Edition.objects.create( - title="Test Book", remote_id="https://example.com/book/1" - ) + + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + models.Edition.objects.create( + title="Test Book", remote_id="https://example.com/book/1" + ) activity = self.create_json activity["object"] = status_data @@ -129,9 +133,10 @@ class InboxCreate(TestCase): def test_create_rating(self): """a remote rating activity""" - book = models.Edition.objects.create( - title="Test Book", remote_id="https://example.com/book/1" - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + book = models.Edition.objects.create( + title="Test Book", remote_id="https://example.com/book/1" + ) activity = self.create_json activity["object"] = { "id": "https://example.com/user/mouse/reviewrating/12", diff --git a/bookwyrm/tests/views/inbox/test_inbox_delete.py b/bookwyrm/tests/views/inbox/test_inbox_delete.py index 617dcf6f..07b286a5 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_delete.py +++ b/bookwyrm/tests/views/inbox/test_inbox_delete.py @@ -13,15 +13,16 @@ class InboxActivities(TestCase): def setUp(self): """basic user and book data""" - self.local_user = models.User.objects.create_user( - "mouse@example.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - ) - self.local_user.remote_id = "https://example.com/user/mouse" - self.local_user.save(broadcast=False) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@example.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + ) + self.local_user.remote_id = "https://example.com/user/mouse" + self.local_user.save(broadcast=False) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -47,7 +48,8 @@ class InboxActivities(TestCase): "cc": ["https://example.com/user/mouse/followers"], "object": {}, } - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_delete_status(self): """remove a status""" diff --git a/bookwyrm/tests/views/inbox/test_inbox_follow.py b/bookwyrm/tests/views/inbox/test_inbox_follow.py index f5332b7a..5d5dcd4e 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_follow.py +++ b/bookwyrm/tests/views/inbox/test_inbox_follow.py @@ -13,15 +13,17 @@ class InboxRelationships(TestCase): def setUp(self): """basic user and book data""" - self.local_user = models.User.objects.create_user( - "mouse@example.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - ) - self.local_user.remote_id = "https://example.com/user/mouse" - self.local_user.save(broadcast=False) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@example.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + ) + self.local_user.remote_id = "https://example.com/user/mouse" + self.local_user.save(broadcast=False) + with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -32,8 +34,8 @@ class InboxRelationships(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_follow(self): """remote user wants to follow local user""" diff --git a/bookwyrm/tests/views/inbox/test_inbox_like.py b/bookwyrm/tests/views/inbox/test_inbox_like.py index a5f3a9f0..aa10f93f 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_like.py +++ b/bookwyrm/tests/views/inbox/test_inbox_like.py @@ -12,15 +12,16 @@ class InboxActivities(TestCase): def setUp(self): """basic user and book data""" - self.local_user = models.User.objects.create_user( - "mouse@example.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - ) - self.local_user.remote_id = "https://example.com/user/mouse" - self.local_user.save(broadcast=False) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@example.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + ) + self.local_user.remote_id = "https://example.com/user/mouse" + self.local_user.save(broadcast=False) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -31,6 +32,7 @@ class InboxActivities(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): with patch("bookwyrm.activitystreams.ActivityStream.add_status"): self.status = models.Status.objects.create( @@ -47,7 +49,9 @@ class InboxActivities(TestCase): "cc": ["https://example.com/user/mouse/followers"], "object": {}, } - models.SiteSettings.objects.create() + + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_handle_favorite(self): """fav a status""" diff --git a/bookwyrm/tests/views/inbox/test_inbox_remove.py b/bookwyrm/tests/views/inbox/test_inbox_remove.py index a0c4cdcf..3c2e72d6 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_remove.py +++ b/bookwyrm/tests/views/inbox/test_inbox_remove.py @@ -12,15 +12,16 @@ class InboxRemove(TestCase): def setUp(self): """basic user and book data""" - self.local_user = models.User.objects.create_user( - "mouse@example.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - ) - self.local_user.remote_id = "https://example.com/user/mouse" - self.local_user.save(broadcast=False) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@example.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + ) + self.local_user.remote_id = "https://example.com/user/mouse" + self.local_user.save(broadcast=False) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -31,14 +32,17 @@ class InboxRemove(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - self.work = models.Work.objects.create(title="work title") - self.book = models.Edition.objects.create( - title="Test", - remote_id="https://bookwyrm.social/book/37292", - parent_work=self.work, - ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.work = models.Work.objects.create(title="work title") + self.book = models.Edition.objects.create( + title="Test", + remote_id="https://bookwyrm.social/book/37292", + parent_work=self.work, + ) + + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_handle_unshelve_book(self): """remove a book from a shelf""" diff --git a/bookwyrm/tests/views/inbox/test_inbox_update.py b/bookwyrm/tests/views/inbox/test_inbox_update.py index 9fdc9792..78d694a2 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_update.py +++ b/bookwyrm/tests/views/inbox/test_inbox_update.py @@ -14,15 +14,16 @@ class InboxUpdate(TestCase): def setUp(self): """basic user and book data""" - self.local_user = models.User.objects.create_user( - "mouse@example.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - ) - self.local_user.remote_id = "https://example.com/user/mouse" - self.local_user.save(broadcast=False) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@example.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + ) + self.local_user.remote_id = "https://example.com/user/mouse" + self.local_user.save(broadcast=False) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -42,7 +43,8 @@ class InboxUpdate(TestCase): "cc": ["https://example.com/user/mouse/followers"], "object": {}, } - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_update_list(self): """a new list""" @@ -120,12 +122,13 @@ class InboxUpdate(TestCase): datafile = pathlib.Path(__file__).parent.joinpath("../../data/bw_edition.json") bookdata = json.loads(datafile.read_bytes()) - models.Work.objects.create( - title="Test Work", remote_id="https://bookwyrm.social/book/5988" - ) - book = models.Edition.objects.create( - title="Test Book", remote_id="https://bookwyrm.social/book/5989" - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + models.Work.objects.create( + title="Test Work", remote_id="https://bookwyrm.social/book/5988" + ) + book = models.Edition.objects.create( + title="Test Book", remote_id="https://bookwyrm.social/book/5989" + ) del bookdata["authors"] self.assertEqual(book.title, "Test Book") @@ -150,9 +153,10 @@ class InboxUpdate(TestCase): datafile = pathlib.Path(__file__).parent.joinpath("../../data/bw_work.json") bookdata = json.loads(datafile.read_bytes()) - book = models.Work.objects.create( - title="Test Book", remote_id="https://bookwyrm.social/book/5988" - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + book = models.Work.objects.create( + title="Test Book", remote_id="https://bookwyrm.social/book/5988" + ) del bookdata["authors"] self.assertEqual(book.title, "Test Book") diff --git a/bookwyrm/tests/views/test_announcements.py b/bookwyrm/tests/views/test_announcements.py index 0f17d3b9..e2592394 100644 --- a/bookwyrm/tests/views/test_announcements.py +++ b/bookwyrm/tests/views/test_announcements.py @@ -2,6 +2,7 @@ from django.template.response import TemplateResponse from django.test import TestCase from django.test.client import RequestFactory +from unittest.mock import patch from bookwyrm import forms, models, views @@ -12,14 +13,16 @@ class AnnouncementViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.mouse", - "password", - local=True, - localname="mouse", - ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_announcements_page(self): """there are so many views, this just makes sure it LOADS""" diff --git a/bookwyrm/tests/views/test_authentication.py b/bookwyrm/tests/views/test_authentication.py index c310b0a2..94213c61 100644 --- a/bookwyrm/tests/views/test_authentication.py +++ b/bookwyrm/tests/views/test_authentication.py @@ -19,16 +19,18 @@ class AuthenticationViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "password", - local=True, - localname="mouse", - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "password", + local=True, + localname="mouse", + ) self.anonymous_user = AnonymousUser self.anonymous_user.is_authenticated = False - self.settings = models.SiteSettings.objects.create(id=1) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + self.settings = models.SiteSettings.objects.create(id=1) def test_login_get(self): """there are so many views, this just makes sure it LOADS""" @@ -58,8 +60,9 @@ class AuthenticationViews(TestCase): "email": "aa@bb.cccc", }, ) - with patch("bookwyrm.views.authentication.login"): - response = view(request) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + with patch("bookwyrm.views.authentication.login"): + response = view(request) self.assertEqual(models.User.objects.count(), 2) self.assertEqual(response.status_code, 302) nutria = models.User.objects.last() @@ -74,8 +77,9 @@ class AuthenticationViews(TestCase): "register/", {"localname": "nutria ", "password": "mouseword", "email": "aa@bb.ccc"}, ) - with patch("bookwyrm.views.authentication.login"): - response = view(request) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + with patch("bookwyrm.views.authentication.login"): + response = view(request) self.assertEqual(models.User.objects.count(), 2) self.assertEqual(response.status_code, 302) nutria = models.User.objects.last() @@ -153,8 +157,9 @@ class AuthenticationViews(TestCase): "invite_code": "testcode", }, ) - with patch("bookwyrm.views.authentication.login"): - response = view(request) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + with patch("bookwyrm.views.authentication.login"): + response = view(request) self.assertEqual(models.User.objects.count(), 2) self.assertEqual(response.status_code, 302) self.assertEqual(models.SiteInvite.objects.get().times_used, 1) diff --git a/bookwyrm/tests/views/test_author.py b/bookwyrm/tests/views/test_author.py index 5dfbc350..06080bb2 100644 --- a/bookwyrm/tests/views/test_author.py +++ b/bookwyrm/tests/views/test_author.py @@ -17,14 +17,15 @@ class AuthorViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - remote_id="https://example.com/users/mouse", - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + remote_id="https://example.com/users/mouse", + ) self.group = Group.objects.create(name="editor") self.group.permissions.add( Permission.objects.create( @@ -33,13 +34,15 @@ class AuthorViews(TestCase): content_type=ContentType.objects.get_for_model(models.User), ).id ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( - title="Example Edition", - remote_id="https://example.com/book/1", - parent_work=self.work, - ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.work = models.Work.objects.create(title="Test Work") + self.book = models.Edition.objects.create( + title="Example Edition", + remote_id="https://example.com/book/1", + parent_work=self.work, + ) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_author_page(self): """there are so many views, this just makes sure it LOADS""" diff --git a/bookwyrm/tests/views/test_block.py b/bookwyrm/tests/views/test_block.py index 0b754689..80d20f11 100644 --- a/bookwyrm/tests/views/test_block.py +++ b/bookwyrm/tests/views/test_block.py @@ -14,13 +14,14 @@ class BlockViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.mouse", - "password", - local=True, - localname="mouse", - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -31,7 +32,8 @@ class BlockViews(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_block_get(self, _): """there are so many views, this just makes sure it LOADS""" diff --git a/bookwyrm/tests/views/test_book.py b/bookwyrm/tests/views/test_book.py index 909718ec..37bf3e9e 100644 --- a/bookwyrm/tests/views/test_book.py +++ b/bookwyrm/tests/views/test_book.py @@ -23,14 +23,15 @@ class BookViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - remote_id="https://example.com/users/mouse", - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + remote_id="https://example.com/users/mouse", + ) self.group = Group.objects.create(name="editor") self.group.permissions.add( Permission.objects.create( @@ -39,13 +40,15 @@ class BookViews(TestCase): content_type=ContentType.objects.get_for_model(models.User), ).id ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( - title="Example Edition", - remote_id="https://example.com/book/1", - parent_work=self.work, - ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.work = models.Work.objects.create(title="Test Work") + self.book = models.Edition.objects.create( + title="Example Edition", + remote_id="https://example.com/book/1", + parent_work=self.work, + ) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_book_page(self): """there are so many views, this just makes sure it LOADS""" @@ -85,8 +88,11 @@ class BookViews(TestCase): form.data["last_edited_by"] = self.local_user.id request = self.factory.post("", form.data) request.user = self.local_user - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - view(request, self.book.id) + + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + view(request, self.book.id) + self.book.refresh_from_db() self.assertEqual(self.book.title, "New Title") @@ -101,8 +107,9 @@ class BookViews(TestCase): request = self.factory.post("", form.data) request.user = self.local_user - result = view(request, self.book.id) - result.render() + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + result = view(request, self.book.id) + result.render() # the changes haven't been saved yet self.book.refresh_from_db() @@ -120,8 +127,9 @@ class BookViews(TestCase): request = self.factory.post("", form.data) request.user = self.local_user - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - view(request, self.book.id) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + view(request, self.book.id) self.book.refresh_from_db() self.assertEqual(self.book.title, "New Title") @@ -197,8 +205,11 @@ class BookViews(TestCase): def test_switch_edition(self): """updates user's relationships to a book""" work = models.Work.objects.create(title="test work") - edition1 = models.Edition.objects.create(title="first ed", parent_work=work) - edition2 = models.Edition.objects.create(title="second ed", parent_work=work) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + edition1 = models.Edition.objects.create(title="first ed", parent_work=work) + edition2 = models.Edition.objects.create( + title="second ed", parent_work=work + ) with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): shelf = models.Shelf.objects.create(name="Test Shelf", user=self.local_user) models.ShelfBook.objects.create( @@ -251,11 +262,12 @@ class BookViews(TestCase): request = self.factory.post("", form.data) request.user = self.local_user - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.delay" - ) as delay_mock: - views.upload_cover(request, self.book.id) - self.assertEqual(delay_mock.call_count, 1) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch( + "bookwyrm.models.activitypub_mixin.broadcast_task.delay" + ) as delay_mock: + views.upload_cover(request, self.book.id) + self.assertEqual(delay_mock.call_count, 1) self.book.refresh_from_db() self.assertTrue(self.book.cover) @@ -283,11 +295,12 @@ class BookViews(TestCase): request = self.factory.post("", form.data) request.user = self.local_user - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.delay" - ) as delay_mock: - views.upload_cover(request, self.book.id) - self.assertEqual(delay_mock.call_count, 1) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch( + "bookwyrm.models.activitypub_mixin.broadcast_task.delay" + ) as delay_mock: + views.upload_cover(request, self.book.id) + self.assertEqual(delay_mock.call_count, 1) self.book.refresh_from_db() self.assertTrue(self.book.cover) diff --git a/bookwyrm/tests/views/test_directory.py b/bookwyrm/tests/views/test_directory.py index cada50bc..79dbd2a2 100644 --- a/bookwyrm/tests/views/test_directory.py +++ b/bookwyrm/tests/views/test_directory.py @@ -2,6 +2,7 @@ from django.template.response import TemplateResponse from django.test import TestCase from django.test.client import RequestFactory +from unittest.mock import patch from bookwyrm import models, views @@ -12,24 +13,26 @@ class DirectoryViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - remote_id="https://example.com/users/mouse", - ) - self.rat = models.User.objects.create_user( - "rat@local.com", - "rat@rat.com", - "ratword", - local=True, - localname="rat", - remote_id="https://example.com/users/rat", - discoverable=True, - ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + remote_id="https://example.com/users/mouse", + ) + self.rat = models.User.objects.create_user( + "rat@local.com", + "rat@rat.com", + "ratword", + local=True, + localname="rat", + remote_id="https://example.com/users/rat", + discoverable=True, + ) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_directory_page(self): """there are so many views, this just makes sure it LOADS""" diff --git a/bookwyrm/tests/views/test_federation.py b/bookwyrm/tests/views/test_federation.py index 4469040e..b4d81d54 100644 --- a/bookwyrm/tests/views/test_federation.py +++ b/bookwyrm/tests/views/test_federation.py @@ -15,13 +15,14 @@ class FederationViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.mouse", - "password", - local=True, - localname="mouse", - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -32,7 +33,8 @@ class FederationViews(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_federation_page(self): """there are so many views, this just makes sure it LOADS""" diff --git a/bookwyrm/tests/views/test_feed.py b/bookwyrm/tests/views/test_feed.py index a6a3d967..81087cd1 100644 --- a/bookwyrm/tests/views/test_feed.py +++ b/bookwyrm/tests/views/test_feed.py @@ -22,19 +22,22 @@ class FeedViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.mouse", - "password", - local=True, - localname="mouse", - ) - self.book = models.Edition.objects.create( - parent_work=models.Work.objects.create(title="hi"), - title="Example Edition", - remote_id="https://example.com/book/1", - ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.book = models.Edition.objects.create( + parent_work=models.Work.objects.create(title="hi"), + title="Example Edition", + remote_id="https://example.com/book/1", + ) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_feed(self, *_): """there are so many views, this just makes sure it LOADS""" @@ -89,11 +92,14 @@ class FeedViews(TestCase): output = BytesIO() image.save(output, format=image.format) with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - status = models.Review.objects.create( - content="hi", - user=self.local_user, - book=self.book, - ) + with patch( + "bookwyrm.preview_images.generate_edition_preview_image_task.delay" + ): + status = models.Review.objects.create( + content="hi", + user=self.local_user, + book=self.book, + ) attachment = models.Image.objects.create( status=status, caption="alt text here" ) @@ -146,12 +152,13 @@ class FeedViews(TestCase): def test_get_suggested_book(self, *_): """gets books the ~*~ algorithm ~*~ thinks you want to post about""" - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - models.ShelfBook.objects.create( - book=self.book, - user=self.local_user, - shelf=self.local_user.shelf_set.get(identifier="reading"), - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + models.ShelfBook.objects.create( + book=self.book, + user=self.local_user, + shelf=self.local_user.shelf_set.get(identifier="reading"), + ) suggestions = views.feed.get_suggested_books(self.local_user) self.assertEqual(suggestions[0]["name"], "Currently Reading") self.assertEqual(suggestions[0]["books"][0], self.book) diff --git a/bookwyrm/tests/views/test_follow.py b/bookwyrm/tests/views/test_follow.py index 45e60d3c..8ea8accc 100644 --- a/bookwyrm/tests/views/test_follow.py +++ b/bookwyrm/tests/views/test_follow.py @@ -16,14 +16,15 @@ class BookViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - remote_id="https://example.com/users/mouse", - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + remote_id="https://example.com/users/mouse", + ) with patch("bookwyrm.models.user.set_remote_server"): self.remote_user = models.User.objects.create_user( "rat", @@ -42,12 +43,13 @@ class BookViews(TestCase): content_type=ContentType.objects.get_for_model(models.User), ).id ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( - title="Example Edition", - remote_id="https://example.com/book/1", - parent_work=self.work, - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.work = models.Work.objects.create(title="Test Work") + self.book = models.Edition.objects.create( + title="Example Edition", + remote_id="https://example.com/book/1", + parent_work=self.work, + ) def test_handle_follow_remote(self): """send a follow request""" @@ -66,15 +68,16 @@ class BookViews(TestCase): def test_handle_follow_local_manually_approves(self): """send a follow request""" - rat = models.User.objects.create_user( - "rat@local.com", - "rat@rat.com", - "ratword", - local=True, - localname="rat", - remote_id="https://example.com/users/rat", - manually_approves_followers=True, - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + rat = models.User.objects.create_user( + "rat@local.com", + "rat@rat.com", + "ratword", + local=True, + localname="rat", + remote_id="https://example.com/users/rat", + manually_approves_followers=True, + ) request = self.factory.post("", {"user": rat}) request.user = self.local_user self.assertEqual(models.UserFollowRequest.objects.count(), 0) @@ -89,14 +92,15 @@ class BookViews(TestCase): def test_handle_follow_local(self): """send a follow request""" - rat = models.User.objects.create_user( - "rat@local.com", - "rat@rat.com", - "ratword", - local=True, - localname="rat", - remote_id="https://example.com/users/rat", - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + rat = models.User.objects.create_user( + "rat@local.com", + "rat@rat.com", + "ratword", + local=True, + localname="rat", + remote_id="https://example.com/users/rat", + ) request = self.factory.post("", {"user": rat}) request.user = self.local_user self.assertEqual(models.UserFollowRequest.objects.count(), 0) diff --git a/bookwyrm/tests/views/test_get_started.py b/bookwyrm/tests/views/test_get_started.py index 1c55da08..2eb89f10 100644 --- a/bookwyrm/tests/views/test_get_started.py +++ b/bookwyrm/tests/views/test_get_started.py @@ -13,22 +13,25 @@ class GetStartedViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.mouse", - "password", - local=True, - localname="mouse", - ) - self.book = models.Edition.objects.create( - parent_work=models.Work.objects.create(title="hi"), - title="Example Edition", - remote_id="https://example.com/book/1", - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.book = models.Edition.objects.create( + parent_work=models.Work.objects.create(title="hi"), + title="Example Edition", + remote_id="https://example.com/book/1", + ) models.Connector.objects.create( identifier="self", connector_file="self_connector", local=True ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_profile_view(self): """there are so many views, this just makes sure it LOADS""" diff --git a/bookwyrm/tests/views/test_goal.py b/bookwyrm/tests/views/test_goal.py index 4e8f6ee2..013d1595 100644 --- a/bookwyrm/tests/views/test_goal.py +++ b/bookwyrm/tests/views/test_goal.py @@ -16,29 +16,32 @@ class GoalViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - remote_id="https://example.com/users/mouse", - ) - self.rat = models.User.objects.create_user( - "rat@local.com", - "rat@rat.com", - "ratword", - local=True, - localname="rat", - remote_id="https://example.com/users/rat", - ) - self.book = models.Edition.objects.create( - title="Example Edition", - remote_id="https://example.com/book/1", - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + remote_id="https://example.com/users/mouse", + ) + self.rat = models.User.objects.create_user( + "rat@local.com", + "rat@rat.com", + "ratword", + local=True, + localname="rat", + remote_id="https://example.com/users/rat", + ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.book = models.Edition.objects.create( + title="Example Edition", + remote_id="https://example.com/book/1", + ) self.anonymous_user = AnonymousUser self.anonymous_user.is_authenticated = False - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_goal_page_no_goal(self): """view a reading goal page for another's unset goal""" diff --git a/bookwyrm/tests/views/test_helpers.py b/bookwyrm/tests/views/test_helpers.py index ab5abed0..bc99e69f 100644 --- a/bookwyrm/tests/views/test_helpers.py +++ b/bookwyrm/tests/views/test_helpers.py @@ -19,21 +19,23 @@ class ViewsHelpers(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "mouseword", - local=True, - discoverable=True, - localname="mouse", - remote_id="https://example.com/users/mouse", - ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( - title="Test Book", - remote_id="https://example.com/book/1", - parent_work=self.work, - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "mouseword", + local=True, + discoverable=True, + localname="mouse", + remote_id="https://example.com/users/mouse", + ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.work = models.Work.objects.create(title="Test Work") + self.book = models.Edition.objects.create( + title="Test Book", + remote_id="https://example.com/book/1", + parent_work=self.work, + ) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", @@ -202,21 +204,22 @@ class ViewsHelpers(TestCase): def test_get_annotated_users(self, _): """list of people you might know""" - user_1 = models.User.objects.create_user( - "nutria@local.com", - "nutria@nutria.com", - "nutriaword", - local=True, - localname="nutria", - discoverable=True, - ) - user_2 = models.User.objects.create_user( - "fish@local.com", - "fish@fish.com", - "fishword", - local=True, - localname="fish", - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + user_1 = models.User.objects.create_user( + "nutria@local.com", + "nutria@nutria.com", + "nutriaword", + local=True, + localname="nutria", + discoverable=True, + ) + user_2 = models.User.objects.create_user( + "fish@local.com", + "fish@fish.com", + "fishword", + local=True, + localname="fish", + ) with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): # 1 shared follow self.local_user.following.add(user_2) @@ -249,39 +252,42 @@ class ViewsHelpers(TestCase): def test_get_annotated_users_counts(self, _): """correct counting for multiple shared attributed""" - user_1 = models.User.objects.create_user( - "nutria@local.com", - "nutria@nutria.com", - "nutriaword", - local=True, - localname="nutria", - discoverable=True, - ) - for i in range(3): - user = models.User.objects.create_user( - "{:d}@local.com".format(i), - "{:d}@nutria.com".format(i), - "password", + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + user_1 = models.User.objects.create_user( + "nutria@local.com", + "nutria@nutria.com", + "nutriaword", local=True, - localname=i, + localname="nutria", + discoverable=True, ) - user.following.add(user_1) - user.followers.add(self.local_user) - - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): for i in range(3): - book = models.Edition.objects.create( - title=i, - parent_work=models.Work.objects.create(title=i), - ) - models.ShelfBook.objects.create( - user=self.local_user, - book=book, - shelf=self.local_user.shelf_set.first(), - ) - models.ShelfBook.objects.create( - user=user_1, book=book, shelf=user_1.shelf_set.first() + user = models.User.objects.create_user( + "{:d}@local.com".format(i), + "{:d}@nutria.com".format(i), + "password", + local=True, + localname=i, ) + user.following.add(user_1) + user.followers.add(self.local_user) + + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + for i in range(3): + book = models.Edition.objects.create( + title=i, + parent_work=models.Work.objects.create(title=i), + ) + models.ShelfBook.objects.create( + user=self.local_user, + book=book, + shelf=self.local_user.shelf_set.first(), + ) + models.ShelfBook.objects.create( + user=user_1, book=book, shelf=user_1.shelf_set.first() + ) result = views.helpers.get_annotated_users( self.local_user, diff --git a/bookwyrm/tests/views/test_import.py b/bookwyrm/tests/views/test_import.py index 22694623..da8ade98 100644 --- a/bookwyrm/tests/views/test_import.py +++ b/bookwyrm/tests/views/test_import.py @@ -14,14 +14,16 @@ class ImportViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.mouse", - "password", - local=True, - localname="mouse", - ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_import_page(self): """there are so many views, this just makes sure it LOADS""" diff --git a/bookwyrm/tests/views/test_interaction.py b/bookwyrm/tests/views/test_interaction.py index 876d6053..208d270c 100644 --- a/bookwyrm/tests/views/test_interaction.py +++ b/bookwyrm/tests/views/test_interaction.py @@ -14,14 +14,15 @@ class InteractionViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - remote_id="https://example.com/users/mouse", - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + remote_id="https://example.com/users/mouse", + ) with patch("bookwyrm.models.user.set_remote_server"): self.remote_user = models.User.objects.create_user( "rat", @@ -33,12 +34,13 @@ class InteractionViews(TestCase): outbox="https://example.com/users/rat/outbox", ) - work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( - title="Example Edition", - remote_id="https://example.com/book/1", - parent_work=work, - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + work = models.Work.objects.create(title="Test Work") + self.book = models.Edition.objects.create( + title="Example Edition", + remote_id="https://example.com/book/1", + parent_work=work, + ) def test_favorite(self, _): """create and broadcast faving a status""" diff --git a/bookwyrm/tests/views/test_invite.py b/bookwyrm/tests/views/test_invite.py index 7b5071b3..0743c65e 100644 --- a/bookwyrm/tests/views/test_invite.py +++ b/bookwyrm/tests/views/test_invite.py @@ -16,14 +16,16 @@ class InviteViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.mouse", - "password", - local=True, - localname="mouse", - ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_invite_page(self): """there are so many views, this just makes sure it LOADS""" diff --git a/bookwyrm/tests/views/test_isbn.py b/bookwyrm/tests/views/test_isbn.py index 2aedd3ce..f26a08e5 100644 --- a/bookwyrm/tests/views/test_isbn.py +++ b/bookwyrm/tests/views/test_isbn.py @@ -16,25 +16,28 @@ class IsbnViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - remote_id="https://example.com/users/mouse", - ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( - title="Test Book", - isbn_13="1234567890123", - remote_id="https://example.com/book/1", - parent_work=self.work, - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + remote_id="https://example.com/users/mouse", + ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.work = models.Work.objects.create(title="Test Work") + self.book = models.Edition.objects.create( + title="Test Book", + isbn_13="1234567890123", + remote_id="https://example.com/book/1", + parent_work=self.work, + ) models.Connector.objects.create( identifier="self", connector_file="self_connector", local=True ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_isbn_json_response(self): """searches local data only and returns book data in json format""" diff --git a/bookwyrm/tests/views/test_landing.py b/bookwyrm/tests/views/test_landing.py index 864e48f7..7def3958 100644 --- a/bookwyrm/tests/views/test_landing.py +++ b/bookwyrm/tests/views/test_landing.py @@ -15,16 +15,18 @@ class LandingViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.mouse", - "password", - local=True, - localname="mouse", - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) self.anonymous_user = AnonymousUser self.anonymous_user.is_authenticated = False - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_home_page(self): """there are so many views, this just makes sure it LOADS""" diff --git a/bookwyrm/tests/views/test_list.py b/bookwyrm/tests/views/test_list.py index d6ad0e86..3783b9b6 100644 --- a/bookwyrm/tests/views/test_list.py +++ b/bookwyrm/tests/views/test_list.py @@ -17,46 +17,48 @@ class ListViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - remote_id="https://example.com/users/mouse", - ) - self.rat = models.User.objects.create_user( - "rat@local.com", - "rat@rat.com", - "ratword", - local=True, - localname="rat", - remote_id="https://example.com/users/rat", - ) - work = models.Work.objects.create(title="Work") - self.book = models.Edition.objects.create( - title="Example Edition", - remote_id="https://example.com/book/1", - parent_work=work, - ) - work_two = models.Work.objects.create(title="Labori") - self.book_two = models.Edition.objects.create( - title="Example Edition 2", - remote_id="https://example.com/book/2", - parent_work=work_two, - ) - work_three = models.Work.objects.create(title="Trabajar") - self.book_three = models.Edition.objects.create( - title="Example Edition 3", - remote_id="https://example.com/book/3", - parent_work=work_three, - ) - work_four = models.Work.objects.create(title="Travailler") - self.book_four = models.Edition.objects.create( - title="Example Edition 4", - remote_id="https://example.com/book/4", - parent_work=work_four, - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + remote_id="https://example.com/users/mouse", + ) + self.rat = models.User.objects.create_user( + "rat@local.com", + "rat@rat.com", + "ratword", + local=True, + localname="rat", + remote_id="https://example.com/users/rat", + ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + work = models.Work.objects.create(title="Work") + self.book = models.Edition.objects.create( + title="Example Edition", + remote_id="https://example.com/book/1", + parent_work=work, + ) + work_two = models.Work.objects.create(title="Labori") + self.book_two = models.Edition.objects.create( + title="Example Edition 2", + remote_id="https://example.com/book/2", + parent_work=work_two, + ) + work_three = models.Work.objects.create(title="Trabajar") + self.book_three = models.Edition.objects.create( + title="Example Edition 3", + remote_id="https://example.com/book/3", + parent_work=work_three, + ) + work_four = models.Work.objects.create(title="Travailler") + self.book_four = models.Edition.objects.create( + title="Example Edition 4", + remote_id="https://example.com/book/4", + parent_work=work_four, + ) with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): self.list = models.List.objects.create( @@ -64,7 +66,8 @@ class ListViews(TestCase): ) self.anonymous_user = AnonymousUser self.anonymous_user.is_authenticated = False - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_lists_page(self): """there are so many views, this just makes sure it LOADS""" diff --git a/bookwyrm/tests/views/test_list_actions.py b/bookwyrm/tests/views/test_list_actions.py index 30c44a2c..cbe00d27 100644 --- a/bookwyrm/tests/views/test_list_actions.py +++ b/bookwyrm/tests/views/test_list_actions.py @@ -15,46 +15,49 @@ class ListActionViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - remote_id="https://example.com/users/mouse", - ) - self.rat = models.User.objects.create_user( - "rat@local.com", - "rat@rat.com", - "ratword", - local=True, - localname="rat", - remote_id="https://example.com/users/rat", - ) - work = models.Work.objects.create(title="Work") - self.book = models.Edition.objects.create( - title="Example Edition", - remote_id="https://example.com/book/1", - parent_work=work, - ) - work_two = models.Work.objects.create(title="Labori") - self.book_two = models.Edition.objects.create( - title="Example Edition 2", - remote_id="https://example.com/book/2", - parent_work=work_two, - ) - work_three = models.Work.objects.create(title="Trabajar") - self.book_three = models.Edition.objects.create( - title="Example Edition 3", - remote_id="https://example.com/book/3", - parent_work=work_three, - ) - work_four = models.Work.objects.create(title="Travailler") - self.book_four = models.Edition.objects.create( - title="Example Edition 4", - remote_id="https://example.com/book/4", - parent_work=work_four, - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + remote_id="https://example.com/users/mouse", + ) + self.rat = models.User.objects.create_user( + "rat@local.com", + "rat@rat.com", + "ratword", + local=True, + localname="rat", + remote_id="https://example.com/users/rat", + ) + + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + work = models.Work.objects.create(title="Work") + self.book = models.Edition.objects.create( + title="Example Edition", + remote_id="https://example.com/book/1", + parent_work=work, + ) + work_two = models.Work.objects.create(title="Labori") + self.book_two = models.Edition.objects.create( + title="Example Edition 2", + remote_id="https://example.com/book/2", + parent_work=work_two, + ) + work_three = models.Work.objects.create(title="Trabajar") + self.book_three = models.Edition.objects.create( + title="Example Edition 3", + remote_id="https://example.com/book/3", + parent_work=work_three, + ) + work_four = models.Work.objects.create(title="Travailler") + self.book_four = models.Edition.objects.create( + title="Example Edition 4", + remote_id="https://example.com/book/4", + parent_work=work_four, + ) with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): self.list = models.List.objects.create( @@ -62,7 +65,8 @@ class ListActionViews(TestCase): ) self.anonymous_user = AnonymousUser self.anonymous_user.is_authenticated = False - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_curate_approve(self): """approve a pending item""" diff --git a/bookwyrm/tests/views/test_notifications.py b/bookwyrm/tests/views/test_notifications.py index 182753f9..1de196c5 100644 --- a/bookwyrm/tests/views/test_notifications.py +++ b/bookwyrm/tests/views/test_notifications.py @@ -2,6 +2,7 @@ from django.template.response import TemplateResponse from django.test import TestCase from django.test.client import RequestFactory +from unittest.mock import patch from bookwyrm import models from bookwyrm import views @@ -13,14 +14,16 @@ class NotificationViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.mouse", - "password", - local=True, - localname="mouse", - ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_notifications_page(self): """there are so many views, this just makes sure it LOADS""" diff --git a/bookwyrm/tests/views/test_outbox.py b/bookwyrm/tests/views/test_outbox.py index f89258e5..8877a244 100644 --- a/bookwyrm/tests/views/test_outbox.py +++ b/bookwyrm/tests/views/test_outbox.py @@ -18,20 +18,22 @@ class OutboxView(TestCase): def setUp(self): """we'll need some data""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - remote_id="https://example.com/users/mouse", - ) - work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( - title="Example Edition", - remote_id="https://example.com/book/1", - parent_work=work, - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + remote_id="https://example.com/users/mouse", + ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + work = models.Work.objects.create(title="Test Work") + self.book = models.Edition.objects.create( + title="Example Edition", + remote_id="https://example.com/book/1", + parent_work=work, + ) def test_outbox(self, _): """returns user's statuses""" @@ -79,13 +81,16 @@ class OutboxView(TestCase): def test_outbox_filter(self, _): """if we only care about reviews, only get reviews""" with patch("bookwyrm.activitystreams.ActivityStream.add_status"): - models.Review.objects.create( - content="look at this", - name="hi", - rating=1, - book=self.book, - user=self.local_user, - ) + with patch( + "bookwyrm.preview_images.generate_edition_preview_image_task.delay" + ): + models.Review.objects.create( + content="look at this", + name="hi", + rating=1, + book=self.book, + user=self.local_user, + ) models.Status.objects.create(content="look at this", user=self.local_user) request = self.factory.get("", {"type": "bleh"}) @@ -105,13 +110,16 @@ class OutboxView(TestCase): def test_outbox_bookwyrm_request_true(self, _): """should differentiate between bookwyrm and outside requests""" with patch("bookwyrm.activitystreams.ActivityStream.add_status"): - models.Review.objects.create( - name="hi", - content="look at this", - user=self.local_user, - book=self.book, - privacy="public", - ) + with patch( + "bookwyrm.preview_images.generate_edition_preview_image_task.delay" + ): + models.Review.objects.create( + name="hi", + content="look at this", + user=self.local_user, + book=self.book, + privacy="public", + ) request = self.factory.get("", {"page": 1}, HTTP_USER_AGENT=USER_AGENT) result = views.Outbox.as_view()(request, "mouse") @@ -123,13 +131,16 @@ class OutboxView(TestCase): def test_outbox_bookwyrm_request_false(self, _): """should differentiate between bookwyrm and outside requests""" with patch("bookwyrm.activitystreams.ActivityStream.add_status"): - models.Review.objects.create( - name="hi", - content="look at this", - user=self.local_user, - book=self.book, - privacy="public", - ) + with patch( + "bookwyrm.preview_images.generate_edition_preview_image_task.delay" + ): + models.Review.objects.create( + name="hi", + content="look at this", + user=self.local_user, + book=self.book, + privacy="public", + ) request = self.factory.get("", {"page": 1}) result = views.Outbox.as_view()(request, "mouse") diff --git a/bookwyrm/tests/views/test_password.py b/bookwyrm/tests/views/test_password.py index ec686db7..982056b5 100644 --- a/bookwyrm/tests/views/test_password.py +++ b/bookwyrm/tests/views/test_password.py @@ -15,16 +15,18 @@ class PasswordViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "password", - local=True, - localname="mouse", - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "password", + local=True, + localname="mouse", + ) self.anonymous_user = AnonymousUser self.anonymous_user.is_authenticated = False - models.SiteSettings.objects.create(id=1) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create(id=1) def test_password_reset_request(self): """there are so many views, this just makes sure it LOADS""" diff --git a/bookwyrm/tests/views/test_reading.py b/bookwyrm/tests/views/test_reading.py index c591aa60..5a59ab99 100644 --- a/bookwyrm/tests/views/test_reading.py +++ b/bookwyrm/tests/views/test_reading.py @@ -15,20 +15,22 @@ class ReadingViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - remote_id="https://example.com/users/mouse", - ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( - title="Test Book", - remote_id="https://example.com/book/1", - parent_work=self.work, - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + remote_id="https://example.com/users/mouse", + ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.work = models.Work.objects.create(title="Test Work") + self.book = models.Edition.objects.create( + title="Test Book", + remote_id="https://example.com/book/1", + parent_work=self.work, + ) with patch("bookwyrm.models.user.set_remote_server.delay"): self.remote_user = models.User.objects.create_user( "rat", diff --git a/bookwyrm/tests/views/test_readthrough.py b/bookwyrm/tests/views/test_readthrough.py index 882c7929..a0050a82 100644 --- a/bookwyrm/tests/views/test_readthrough.py +++ b/bookwyrm/tests/views/test_readthrough.py @@ -15,15 +15,17 @@ class ReadThrough(TestCase): """basic user and book data""" self.client = Client() - self.work = models.Work.objects.create(title="Example Work") + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.work = models.Work.objects.create(title="Example Work") - self.edition = models.Edition.objects.create( - title="Example Edition", parent_work=self.work - ) + self.edition = models.Edition.objects.create( + title="Example Edition", parent_work=self.work + ) - self.user = models.User.objects.create_user( - "cinco", "cinco@example.com", "seissiete", local=True, localname="cinco" - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.user = models.User.objects.create_user( + "cinco", "cinco@example.com", "seissiete", local=True, localname="cinco" + ) with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): self.client.force_login(self.user) diff --git a/bookwyrm/tests/views/test_reports.py b/bookwyrm/tests/views/test_reports.py index 84539489..7944d8b4 100644 --- a/bookwyrm/tests/views/test_reports.py +++ b/bookwyrm/tests/views/test_reports.py @@ -2,6 +2,7 @@ from django.template.response import TemplateResponse from django.test import TestCase from django.test.client import RequestFactory +from unittest.mock import patch from bookwyrm import forms, models, views @@ -12,21 +13,23 @@ class ReportViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.mouse", - "password", - local=True, - localname="mouse", - ) - self.rat = models.User.objects.create_user( - "rat@local.com", - "rat@mouse.mouse", - "password", - local=True, - localname="rat", - ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) + self.rat = models.User.objects.create_user( + "rat@local.com", + "rat@mouse.mouse", + "password", + local=True, + localname="rat", + ) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_reports_page(self): """there are so many views, this just makes sure it LOADS""" diff --git a/bookwyrm/tests/views/test_rss_feed.py b/bookwyrm/tests/views/test_rss_feed.py index eacb3c93..57961a31 100644 --- a/bookwyrm/tests/views/test_rss_feed.py +++ b/bookwyrm/tests/views/test_rss_feed.py @@ -12,39 +12,45 @@ class RssFeedView(TestCase): def setUp(self): """test data""" - self.site = models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + self.site = models.SiteSettings.objects.create() - self.user = models.User.objects.create_user( - "rss_user", "rss@test.rss", "password", local=True - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.user = models.User.objects.create_user( + "rss_user", "rss@test.rss", "password", local=True + ) - work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( - title="Example Edition", - remote_id="https://example.com/book/1", - parent_work=work, - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + work = models.Work.objects.create(title="Test Work") + self.book = models.Edition.objects.create( + title="Example Edition", + remote_id="https://example.com/book/1", + parent_work=work, + ) - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): - with patch("bookwyrm.activitystreams.ActivityStream.add_status"): - self.review = models.Review.objects.create( - name="Review name", - content="test content", - rating=3, - user=self.user, - book=self.book, - ) + with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): + with patch("bookwyrm.activitystreams.ActivityStream.add_status"): + with patch( + "bookwyrm.preview_images.generate_edition_preview_image_task.delay" + ): + self.review = models.Review.objects.create( + name="Review name", + content="test content", + rating=3, + user=self.user, + book=self.book, + ) - self.quote = models.Quotation.objects.create( - quote="a sickening sense", - content="test content", - user=self.user, - book=self.book, - ) + self.quote = models.Quotation.objects.create( + quote="a sickening sense", + content="test content", + user=self.user, + book=self.book, + ) - self.generatednote = models.GeneratedNote.objects.create( - content="test content", user=self.user - ) + self.generatednote = models.GeneratedNote.objects.create( + content="test content", user=self.user + ) self.factory = RequestFactory() diff --git a/bookwyrm/tests/views/test_search.py b/bookwyrm/tests/views/test_search.py index ab2c910d..56413de6 100644 --- a/bookwyrm/tests/views/test_search.py +++ b/bookwyrm/tests/views/test_search.py @@ -19,24 +19,27 @@ class Views(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - remote_id="https://example.com/users/mouse", - ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( - title="Test Book", - remote_id="https://example.com/book/1", - parent_work=self.work, - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + remote_id="https://example.com/users/mouse", + ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.work = models.Work.objects.create(title="Test Work") + self.book = models.Edition.objects.create( + title="Test Book", + remote_id="https://example.com/book/1", + parent_work=self.work, + ) models.Connector.objects.create( identifier="self", connector_file="self_connector", local=True ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_search_json_response(self): """searches local data only and returns book data in json format""" diff --git a/bookwyrm/tests/views/test_shelf.py b/bookwyrm/tests/views/test_shelf.py index 239b3318..21a30544 100644 --- a/bookwyrm/tests/views/test_shelf.py +++ b/bookwyrm/tests/views/test_shelf.py @@ -16,25 +16,28 @@ class ShelfViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - remote_id="https://example.com/users/mouse", - ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( - title="Example Edition", - remote_id="https://example.com/book/1", - parent_work=self.work, - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + remote_id="https://example.com/users/mouse", + ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.work = models.Work.objects.create(title="Test Work") + self.book = models.Edition.objects.create( + title="Example Edition", + remote_id="https://example.com/book/1", + parent_work=self.work, + ) with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): self.shelf = models.Shelf.objects.create( name="Test Shelf", identifier="test-shelf", user=self.local_user ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_shelf_page(self, _): """there are so many views, this just makes sure it LOADS""" diff --git a/bookwyrm/tests/views/test_status.py b/bookwyrm/tests/views/test_status.py index 6f2fd30d..c12fd0c4 100644 --- a/bookwyrm/tests/views/test_status.py +++ b/bookwyrm/tests/views/test_status.py @@ -15,14 +15,15 @@ class StatusViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.com", - "mouseword", - local=True, - localname="mouse", - remote_id="https://example.com/users/mouse", - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.com", + "mouseword", + local=True, + localname="mouse", + remote_id="https://example.com/users/mouse", + ) with patch("bookwyrm.models.user.set_remote_server"): self.remote_user = models.User.objects.create_user( "rat", @@ -34,13 +35,15 @@ class StatusViews(TestCase): outbox="https://example.com/users/rat/outbox", ) - work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( - title="Example Edition", - remote_id="https://example.com/book/1", - parent_work=work, - ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + work = models.Work.objects.create(title="Test Work") + self.book = models.Edition.objects.create( + title="Example Edition", + remote_id="https://example.com/book/1", + parent_work=work, + ) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_handle_status(self, _): """create a status""" @@ -68,9 +71,10 @@ class StatusViews(TestCase): def test_handle_status_reply(self, _): """create a status in reply to an existing status""" view = views.CreateStatus.as_view() - user = models.User.objects.create_user( - "rat", "rat@rat.com", "password", local=True - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + user = models.User.objects.create_user( + "rat", "rat@rat.com", "password", local=True + ) with patch("bookwyrm.activitystreams.ActivityStream.add_status"): parent = models.Status.objects.create( content="parent status", user=self.local_user @@ -98,9 +102,14 @@ class StatusViews(TestCase): def test_handle_status_mentions(self, _): """@mention a user in a post""" view = views.CreateStatus.as_view() - user = models.User.objects.create_user( - "rat@%s" % DOMAIN, "rat@rat.com", "password", local=True, localname="rat" - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + user = models.User.objects.create_user( + "rat@%s" % DOMAIN, + "rat@rat.com", + "password", + local=True, + localname="rat", + ) form = forms.CommentForm( { "content": "hi @rat", @@ -126,9 +135,10 @@ class StatusViews(TestCase): def test_handle_status_reply_with_mentions(self, _): """reply to a post with an @mention'ed user""" view = views.CreateStatus.as_view() - user = models.User.objects.create_user( - "rat", "rat@rat.com", "password", local=True, localname="rat" - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + user = models.User.objects.create_user( + "rat", "rat@rat.com", "password", local=True, localname="rat" + ) form = forms.CommentForm( { "content": "hi @rat@example.com", @@ -193,10 +203,11 @@ class StatusViews(TestCase): view = views.DeleteAndRedraft.as_view() request = self.factory.post("") request.user = self.local_user - with patch("bookwyrm.activitystreams.ActivityStream.add_status"): - status = models.ReviewRating.objects.create( - book=self.book, rating=2.0, user=self.local_user - ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + with patch("bookwyrm.activitystreams.ActivityStream.add_status"): + status = models.ReviewRating.objects.create( + book=self.book, rating=2.0, user=self.local_user + ) with patch( "bookwyrm.activitystreams.ActivityStream.remove_object_from_related_stores" @@ -230,13 +241,14 @@ class StatusViews(TestCase): def test_find_mentions(self, _): """detect and look up @ mentions of users""" - user = models.User.objects.create_user( - "nutria@%s" % DOMAIN, - "nutria@nutria.com", - "password", - local=True, - localname="nutria", - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + user = models.User.objects.create_user( + "nutria@%s" % DOMAIN, + "nutria@nutria.com", + "password", + local=True, + localname="nutria", + ) self.assertEqual(user.username, "nutria@%s" % DOMAIN) self.assertEqual( diff --git a/bookwyrm/tests/views/test_updates.py b/bookwyrm/tests/views/test_updates.py index fb003f8d..07800e2f 100644 --- a/bookwyrm/tests/views/test_updates.py +++ b/bookwyrm/tests/views/test_updates.py @@ -14,15 +14,17 @@ class UpdateViews(TestCase): def setUp(self): """we need basic test data and mocks""" - self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.mouse", - "password", - local=True, - localname="mouse", - ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.factory = RequestFactory() + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_get_notification_count(self): """there are so many views, this just makes sure it LOADS""" diff --git a/bookwyrm/tests/views/test_user.py b/bookwyrm/tests/views/test_user.py index 3fa78e35..1badf142 100644 --- a/bookwyrm/tests/views/test_user.py +++ b/bookwyrm/tests/views/test_user.py @@ -20,18 +20,20 @@ class UserViews(TestCase): def setUp(self): """we need basic test data and mocks""" - self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.mouse", - "password", - local=True, - localname="mouse", - ) - self.rat = models.User.objects.create_user( - "rat@local.com", "rat@rat.rat", "password", local=True, localname="rat" - ) - self.book = models.Edition.objects.create(title="test") + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.factory = RequestFactory() + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) + self.rat = models.User.objects.create_user( + "rat@local.com", "rat@rat.rat", "password", local=True, localname="rat" + ) + with patch("bookwyrm.preview_images.generate_edition_preview_image_task.delay"): + self.book = models.Edition.objects.create(title="test") with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay"): models.ShelfBook.objects.create( book=self.book, @@ -39,7 +41,8 @@ class UserViews(TestCase): shelf=self.local_user.shelf_set.first(), ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() self.anonymous_user = AnonymousUser self.anonymous_user.is_authenticated = False diff --git a/bookwyrm/tests/views/test_user_admin.py b/bookwyrm/tests/views/test_user_admin.py index a044a22c..ac750be0 100644 --- a/bookwyrm/tests/views/test_user_admin.py +++ b/bookwyrm/tests/views/test_user_admin.py @@ -14,14 +14,16 @@ class UserAdminViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.mouse", - "password", - local=True, - localname="mouse", - ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() def test_user_admin_list_page(self): """there are so many views, this just makes sure it LOADS""" diff --git a/bookwyrm/tests/views/test_wellknown.py b/bookwyrm/tests/views/test_wellknown.py index 244921d4..bd291d04 100644 --- a/bookwyrm/tests/views/test_wellknown.py +++ b/bookwyrm/tests/views/test_wellknown.py @@ -15,17 +15,18 @@ class UserViews(TestCase): def setUp(self): """we need basic test data and mocks""" - self.factory = RequestFactory() - self.local_user = models.User.objects.create_user( - "mouse@local.com", - "mouse@mouse.mouse", - "password", - local=True, - localname="mouse", - ) - models.User.objects.create_user( - "rat@local.com", "rat@rat.rat", "password", local=True, localname="rat" - ) + with patch("bookwyrm.preview_images.generate_user_preview_image_task.delay"): + self.factory = RequestFactory() + self.local_user = models.User.objects.create_user( + "mouse@local.com", + "mouse@mouse.mouse", + "password", + local=True, + localname="mouse", + ) + models.User.objects.create_user( + "rat@local.com", "rat@rat.rat", "password", local=True, localname="rat" + ) with patch("bookwyrm.models.user.set_remote_server.delay"): models.User.objects.create_user( "rat", @@ -36,7 +37,8 @@ class UserViews(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - models.SiteSettings.objects.create() + with patch("bookwyrm.preview_images.generate_site_preview_image_task.delay"): + models.SiteSettings.objects.create() self.anonymous_user = AnonymousUser self.anonymous_user.is_authenticated = False