diff --git a/bookwyrm/tests/activitypub/test_author.py b/bookwyrm/tests/activitypub/test_author.py index 7579909a8..7f21e570c 100644 --- a/bookwyrm/tests/activitypub/test_author.py +++ b/bookwyrm/tests/activitypub/test_author.py @@ -7,13 +7,13 @@ class Author(TestCase): """serialize author tests""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """initial data""" - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", ) - self.author = models.Author.objects.create( + cls.author = models.Author.objects.create( name="Author fullname", aliases=["One", "Two"], bio="bio bio bio", diff --git a/bookwyrm/tests/activitypub/test_base_activity.py b/bookwyrm/tests/activitypub/test_base_activity.py index a0d10019f..b529f6ae5 100644 --- a/bookwyrm/tests/activitypub/test_base_activity.py +++ b/bookwyrm/tests/activitypub/test_base_activity.py @@ -29,16 +29,18 @@ class BaseActivity(TestCase): """the super class for model-linked activitypub dataclasses""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we're probably going to re-use this so why copy/paste""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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, update_fields=["remote_id"]) + cls.user.remote_id = "http://example.com/a/b" + cls.user.save(broadcast=False, update_fields=["remote_id"]) def setUp(self): datafile = pathlib.Path(__file__).parent.joinpath("../data/ap_user.json") @@ -232,10 +234,12 @@ class BaseActivity(TestCase): ) # sets the celery task call to the function call - with patch("bookwyrm.activitypub.base_activity.set_related_field.delay"): - with patch("bookwyrm.models.status.Status.ignore_activity") as discarder: - discarder.return_value = False - update_data.to_model(model=models.Status, instance=status) + with ( + patch("bookwyrm.activitypub.base_activity.set_related_field.delay"), + patch("bookwyrm.models.status.Status.ignore_activity") as discarder, + ): + discarder.return_value = False + update_data.to_model(model=models.Status, instance=status) self.assertIsNone(status.attachments.first()) @responses.activate diff --git a/bookwyrm/tests/activitypub/test_note.py b/bookwyrm/tests/activitypub/test_note.py index fd5467f01..33fc04d91 100644 --- a/bookwyrm/tests/activitypub/test_note.py +++ b/bookwyrm/tests/activitypub/test_note.py @@ -11,18 +11,20 @@ class Note(TestCase): """the model-linked ActivityPub dataclass for Note-based types""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """create a shared user""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" ) - self.user.remote_id = "https://test-instance.org/user/critic" - self.user.save(broadcast=False, update_fields=["remote_id"]) + cls.user.remote_id = "https://test-instance.org/user/critic" + cls.user.save(broadcast=False, update_fields=["remote_id"]) - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Test Edition", remote_id="http://book.com/book" ) diff --git a/bookwyrm/tests/activitypub/test_quotation.py b/bookwyrm/tests/activitypub/test_quotation.py index 9a0867c52..50aeb5834 100644 --- a/bookwyrm/tests/activitypub/test_quotation.py +++ b/bookwyrm/tests/activitypub/test_quotation.py @@ -11,10 +11,10 @@ class Quotation(TestCase): """we have hecka ways to create statuses""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """model objects we'll need""" with patch("bookwyrm.models.user.set_remote_server.delay"): - self.user = models.User.objects.create_user( + cls.user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "mouseword", @@ -23,7 +23,7 @@ class Quotation(TestCase): outbox="https://example.com/user/mouse/outbox", remote_id="https://example.com/user/mouse", ) - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", ) diff --git a/bookwyrm/tests/activitystreams/test_abstractstream.py b/bookwyrm/tests/activitystreams/test_abstractstream.py index 83985efdc..3a95e2efa 100644 --- a/bookwyrm/tests/activitystreams/test_abstractstream.py +++ b/bookwyrm/tests/activitystreams/test_abstractstream.py @@ -16,15 +16,17 @@ class Activitystreams(TestCase): """using redis to build activity streams""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """use a test csv""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse" ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( "nutria", "nutria@nutria.nutria", "password", @@ -32,7 +34,7 @@ class Activitystreams(TestCase): localname="nutria", ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -42,7 +44,7 @@ class Activitystreams(TestCase): outbox="https://example.com/users/rat/outbox", ) work = models.Work.objects.create(title="test work") - self.book = models.Edition.objects.create(title="test book", parent_work=work) + cls.book = models.Edition.objects.create(title="test book", parent_work=work) def setUp(self): """per-test setUp""" @@ -105,9 +107,11 @@ class Activitystreams(TestCase): privacy="direct", book=self.book, ) - with patch("bookwyrm.activitystreams.r.set"), patch( - "bookwyrm.activitystreams.r.delete" - ), patch("bookwyrm.activitystreams.ActivityStream.get_store") as redis_mock: + with ( + patch("bookwyrm.activitystreams.r.set"), + patch("bookwyrm.activitystreams.r.delete"), + patch("bookwyrm.activitystreams.ActivityStream.get_store") as redis_mock, + ): redis_mock.return_value = [status.id, status2.id] result = self.test_stream.get_activity_stream(self.local_user) self.assertEqual(result.count(), 2) diff --git a/bookwyrm/tests/activitystreams/test_booksstream.py b/bookwyrm/tests/activitystreams/test_booksstream.py index 71d7ce531..07a4c52f4 100644 --- a/bookwyrm/tests/activitystreams/test_booksstream.py +++ b/bookwyrm/tests/activitystreams/test_booksstream.py @@ -15,16 +15,18 @@ class Activitystreams(TestCase): """using redis to build activity streams""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """use a test csv""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "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( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -34,7 +36,7 @@ class Activitystreams(TestCase): outbox="https://example.com/users/rat/outbox", ) work = models.Work.objects.create(title="test work") - self.book = models.Edition.objects.create(title="test book", parent_work=work) + cls.book = models.Edition.objects.create(title="test book", parent_work=work) def test_get_statuses_for_user_books(self, *_): """create a stream for a user""" diff --git a/bookwyrm/tests/activitystreams/test_homestream.py b/bookwyrm/tests/activitystreams/test_homestream.py index 3312f20ee..feadaab1b 100644 --- a/bookwyrm/tests/activitystreams/test_homestream.py +++ b/bookwyrm/tests/activitystreams/test_homestream.py @@ -13,15 +13,17 @@ class Activitystreams(TestCase): """using redis to build activity streams""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """use a test csv""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse" ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( "nutria", "nutria@nutria.nutria", "password", @@ -29,7 +31,7 @@ class Activitystreams(TestCase): localname="nutria", ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", diff --git a/bookwyrm/tests/activitystreams/test_localstream.py b/bookwyrm/tests/activitystreams/test_localstream.py index f4ca13395..508a289b2 100644 --- a/bookwyrm/tests/activitystreams/test_localstream.py +++ b/bookwyrm/tests/activitystreams/test_localstream.py @@ -13,15 +13,17 @@ class Activitystreams(TestCase): """using redis to build activity streams""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """use a test csv""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse" ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( "nutria", "nutria@nutria.nutria", "password", @@ -29,7 +31,7 @@ class Activitystreams(TestCase): localname="nutria", ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -39,7 +41,7 @@ class Activitystreams(TestCase): outbox="https://example.com/users/rat/outbox", ) work = models.Work.objects.create(title="test work") - self.book = models.Edition.objects.create(title="test book", parent_work=work) + cls.book = models.Edition.objects.create(title="test book", parent_work=work) def test_localstream_get_audience_remote_status(self, *_): """get a list of users that should see a status""" diff --git a/bookwyrm/tests/activitystreams/test_signals.py b/bookwyrm/tests/activitystreams/test_signals.py index db16a0081..77ac68e71 100644 --- a/bookwyrm/tests/activitystreams/test_signals.py +++ b/bookwyrm/tests/activitystreams/test_signals.py @@ -15,16 +15,18 @@ class ActivitystreamsSignals(TestCase): """using redis to build activity streams""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """use a test csv""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "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( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", diff --git a/bookwyrm/tests/activitystreams/test_tasks.py b/bookwyrm/tests/activitystreams/test_tasks.py index 39a240e92..28bd68bf2 100644 --- a/bookwyrm/tests/activitystreams/test_tasks.py +++ b/bookwyrm/tests/activitystreams/test_tasks.py @@ -8,15 +8,17 @@ class Activitystreams(TestCase): """using redis to build activity streams""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """use a test csv""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse" ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( "nutria", "nutria@nutria.nutria", "password", @@ -24,7 +26,7 @@ class Activitystreams(TestCase): localname="nutria", ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -34,11 +36,9 @@ class Activitystreams(TestCase): outbox="https://example.com/users/rat/outbox", ) work = models.Work.objects.create(title="test work") - self.book = models.Edition.objects.create(title="test book", parent_work=work) + cls.book = models.Edition.objects.create(title="test book", parent_work=work) with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"): - self.status = models.Status.objects.create( - content="hi", user=self.local_user - ) + cls.status = models.Status.objects.create(content="hi", user=cls.local_user) def test_add_book_statuses_task(self): """statuses related to a book""" diff --git a/bookwyrm/tests/connectors/test_abstract_connector.py b/bookwyrm/tests/connectors/test_abstract_connector.py index b43966d6a..994286994 100644 --- a/bookwyrm/tests/connectors/test_abstract_connector.py +++ b/bookwyrm/tests/connectors/test_abstract_connector.py @@ -13,7 +13,7 @@ class AbstractConnector(TestCase): """generic code for connecting to outside data sources""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need an example connector in the database""" models.Connector.objects.create( identifier="example.com", @@ -23,7 +23,7 @@ class AbstractConnector(TestCase): covers_url="https://example.com/covers", search_url="https://example.com/search?q=", ) - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Test Book", remote_id="https://example.com/book/1234", openlibrary_key="OL1234M", diff --git a/bookwyrm/tests/connectors/test_abstract_minimal_connector.py b/bookwyrm/tests/connectors/test_abstract_minimal_connector.py index 73399649e..cbbecf652 100644 --- a/bookwyrm/tests/connectors/test_abstract_minimal_connector.py +++ b/bookwyrm/tests/connectors/test_abstract_minimal_connector.py @@ -10,9 +10,9 @@ class AbstractConnector(TestCase): """generic code for connecting to outside data sources""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need an example connector in the database""" - self.connector_info = models.Connector.objects.create( + cls.connector_info = models.Connector.objects.create( identifier="example.com", connector_file="openlibrary", base_url="https://example.com", diff --git a/bookwyrm/tests/connectors/test_bookwyrm_connector.py b/bookwyrm/tests/connectors/test_bookwyrm_connector.py index 553901655..9a909aa8a 100644 --- a/bookwyrm/tests/connectors/test_bookwyrm_connector.py +++ b/bookwyrm/tests/connectors/test_bookwyrm_connector.py @@ -12,7 +12,7 @@ class BookWyrmConnector(TestCase): """this connector doesn't do much, just search""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """create bookwrym_connector in the database""" models.Connector.objects.create( identifier="example.com", diff --git a/bookwyrm/tests/connectors/test_connector_manager.py b/bookwyrm/tests/connectors/test_connector_manager.py index cc01f1116..7c9512ced 100644 --- a/bookwyrm/tests/connectors/test_connector_manager.py +++ b/bookwyrm/tests/connectors/test_connector_manager.py @@ -11,18 +11,18 @@ class ConnectorManager(TestCase): """interface between the app and various connectors""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we'll need some books and a connector info entry""" - self.work = models.Work.objects.create(title="Example Work") + cls.work = models.Work.objects.create(title="Example Work") models.Edition.objects.create( - title="Example Edition", parent_work=self.work, isbn_10="0000000000" + title="Example Edition", parent_work=cls.work, isbn_10="0000000000" ) - self.edition = models.Edition.objects.create( - title="Another Edition", parent_work=self.work, isbn_10="1111111111" + cls.edition = models.Edition.objects.create( + title="Another Edition", parent_work=cls.work, isbn_10="1111111111" ) - self.remote_connector = models.Connector.objects.create( + cls.remote_connector = models.Connector.objects.create( identifier="test_connector_remote", priority=1, connector_file="bookwyrm_connector", diff --git a/bookwyrm/tests/connectors/test_inventaire_connector.py b/bookwyrm/tests/connectors/test_inventaire_connector.py index c4ea1a595..7844f3919 100644 --- a/bookwyrm/tests/connectors/test_inventaire_connector.py +++ b/bookwyrm/tests/connectors/test_inventaire_connector.py @@ -15,7 +15,7 @@ class Inventaire(TestCase): """test loading data from inventaire.io""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """creates the connector in the database""" models.Connector.objects.create( identifier="inventaire.io", @@ -212,11 +212,14 @@ class Inventaire(TestCase): json={"entities": {}}, ) data = {"uri": "blah"} - with patch( - "bookwyrm.connectors.inventaire.Connector.load_edition_data" - ) as loader_mock, patch( - "bookwyrm.connectors.inventaire.Connector.get_book_data" - ) as getter_mock: + with ( + patch( + "bookwyrm.connectors.inventaire.Connector.load_edition_data" + ) as loader_mock, + patch( + "bookwyrm.connectors.inventaire.Connector.get_book_data" + ) as getter_mock, + ): loader_mock.return_value = {"uris": ["hello"]} self.connector.get_edition_from_work_data(data) self.assertTrue(getter_mock.called) diff --git a/bookwyrm/tests/connectors/test_openlibrary_connector.py b/bookwyrm/tests/connectors/test_openlibrary_connector.py index 487356400..72bac4244 100644 --- a/bookwyrm/tests/connectors/test_openlibrary_connector.py +++ b/bookwyrm/tests/connectors/test_openlibrary_connector.py @@ -19,7 +19,7 @@ class Openlibrary(TestCase): """test loading data from openlibrary.org""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """creates the connector in the database""" models.Connector.objects.create( identifier="openlibrary.org", diff --git a/bookwyrm/tests/importers/test_calibre_import.py b/bookwyrm/tests/importers/test_calibre_import.py index d549a75ed..dcbe68c64 100644 --- a/bookwyrm/tests/importers/test_calibre_import.py +++ b/bookwyrm/tests/importers/test_calibre_import.py @@ -23,17 +23,19 @@ class CalibreImport(TestCase): self.csv = open(datafile, "r", encoding=self.importer.encoding) @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """populate database""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "password", local=True ) models.SiteSettings.objects.create() work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", parent_work=work, diff --git a/bookwyrm/tests/importers/test_goodreads_import.py b/bookwyrm/tests/importers/test_goodreads_import.py index 0b5fd5e2d..f0b67cffd 100644 --- a/bookwyrm/tests/importers/test_goodreads_import.py +++ b/bookwyrm/tests/importers/test_goodreads_import.py @@ -30,17 +30,19 @@ class GoodreadsImport(TestCase): self.csv = open(datafile, "r", encoding=self.importer.encoding) @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """populate database""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "password", local=True ) models.SiteSettings.objects.create() work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", parent_work=work, diff --git a/bookwyrm/tests/importers/test_importer.py b/bookwyrm/tests/importers/test_importer.py index eb3041dc6..ea10d0f53 100644 --- a/bookwyrm/tests/importers/test_importer.py +++ b/bookwyrm/tests/importers/test_importer.py @@ -33,17 +33,19 @@ class GenericImporter(TestCase): self.csv = open(datafile, "r", encoding=self.importer.encoding) @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """populate database""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "password", local=True ) models.SiteSettings.objects.create() work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", parent_work=work, @@ -266,9 +268,11 @@ class GenericImporter(TestCase): import_item.book = self.book import_item.save() - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"): - with patch("bookwyrm.models.Status.broadcast") as broadcast_mock: - handle_imported_book(import_item) + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.models.Status.broadcast") as broadcast_mock, + ): + handle_imported_book(import_item) kwargs = broadcast_mock.call_args.kwargs self.assertEqual(kwargs["software"], "bookwyrm") review = models.Review.objects.get(book=self.book, user=self.local_user) diff --git a/bookwyrm/tests/importers/test_librarything_import.py b/bookwyrm/tests/importers/test_librarything_import.py index c2fe7a9a8..280131115 100644 --- a/bookwyrm/tests/importers/test_librarything_import.py +++ b/bookwyrm/tests/importers/test_librarything_import.py @@ -32,17 +32,19 @@ class LibrarythingImport(TestCase): self.csv = open(datafile, "r", encoding=self.importer.encoding) @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """populate database""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mmai", "mmai@mmai.mmai", "password", local=True ) models.SiteSettings.objects.create() work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", parent_work=work, diff --git a/bookwyrm/tests/importers/test_openlibrary_import.py b/bookwyrm/tests/importers/test_openlibrary_import.py index 2712930d9..05bab0cc2 100644 --- a/bookwyrm/tests/importers/test_openlibrary_import.py +++ b/bookwyrm/tests/importers/test_openlibrary_import.py @@ -30,17 +30,19 @@ class OpenLibraryImport(TestCase): self.csv = open(datafile, "r", encoding=self.importer.encoding) @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """populate database""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "password", local=True ) models.SiteSettings.objects.create() work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", parent_work=work, diff --git a/bookwyrm/tests/importers/test_storygraph_import.py b/bookwyrm/tests/importers/test_storygraph_import.py index edc484629..eee27010c 100644 --- a/bookwyrm/tests/importers/test_storygraph_import.py +++ b/bookwyrm/tests/importers/test_storygraph_import.py @@ -30,17 +30,19 @@ class StorygraphImport(TestCase): self.csv = open(datafile, "r", encoding=self.importer.encoding) @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """populate database""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "password", local=True ) models.SiteSettings.objects.create() work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", parent_work=work, diff --git a/bookwyrm/tests/lists_stream/test_signals.py b/bookwyrm/tests/lists_stream/test_signals.py index 51f0709b0..f9e7e4d12 100644 --- a/bookwyrm/tests/lists_stream/test_signals.py +++ b/bookwyrm/tests/lists_stream/test_signals.py @@ -9,19 +9,21 @@ class ListsStreamSignals(TestCase): """using redis to build activity streams""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """database setup""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse" ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( "fish", "fish@fish.fish", "password", local=True, localname="fish" ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", diff --git a/bookwyrm/tests/lists_stream/test_stream.py b/bookwyrm/tests/lists_stream/test_stream.py index 6dd6a1c8e..5d752dd57 100644 --- a/bookwyrm/tests/lists_stream/test_stream.py +++ b/bookwyrm/tests/lists_stream/test_stream.py @@ -16,15 +16,17 @@ class ListsStream(TestCase): """using redis to build activity streams""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """database setup""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse" ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( "nutria", "nutria@nutria.nutria", "password", @@ -32,7 +34,7 @@ class ListsStream(TestCase): localname="nutria", ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -41,7 +43,7 @@ class ListsStream(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - self.stream = lists_stream.ListsStream() + cls.stream = lists_stream.ListsStream() def test_lists_stream_ids(self, *_): """the abstract base class for stream objects""" diff --git a/bookwyrm/tests/lists_stream/test_tasks.py b/bookwyrm/tests/lists_stream/test_tasks.py index 18ddecf18..a127d363c 100644 --- a/bookwyrm/tests/lists_stream/test_tasks.py +++ b/bookwyrm/tests/lists_stream/test_tasks.py @@ -11,15 +11,17 @@ class Activitystreams(TestCase): """using redis to build activity streams""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """database setup""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse" ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( "nutria", "nutria@nutria.nutria", "password", @@ -27,7 +29,7 @@ class Activitystreams(TestCase): localname="nutria", ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -36,11 +38,12 @@ class Activitystreams(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.lists_stream.remove_list_task.delay"): - self.list = models.List.objects.create( - user=self.local_user, name="hi", privacy="public" + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.lists_stream.remove_list_task.delay"), + ): + cls.list = models.List.objects.create( + user=cls.local_user, name="hi", privacy="public" ) def test_populate_lists_task(self, *_): diff --git a/bookwyrm/tests/management/test_populate_lists_streams.py b/bookwyrm/tests/management/test_populate_lists_streams.py index 5990da4e3..011011903 100644 --- a/bookwyrm/tests/management/test_populate_lists_streams.py +++ b/bookwyrm/tests/management/test_populate_lists_streams.py @@ -13,15 +13,17 @@ class Activitystreams(TestCase): """using redis to build activity streams""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need some stuff""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse" ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( "nutria", "nutria@nutria.nutria", "password", @@ -37,7 +39,7 @@ class Activitystreams(TestCase): is_active=False, ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -46,7 +48,7 @@ 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") + cls.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/management/test_populate_streams.py b/bookwyrm/tests/management/test_populate_streams.py index 4d6bf688f..c5b745c08 100644 --- a/bookwyrm/tests/management/test_populate_streams.py +++ b/bookwyrm/tests/management/test_populate_streams.py @@ -11,15 +11,17 @@ class Activitystreams(TestCase): """using redis to build activity streams""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need some stuff""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse" ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( "nutria", "nutria@nutria.nutria", "password", @@ -35,7 +37,7 @@ class Activitystreams(TestCase): is_active=False, ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -44,7 +46,7 @@ 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") + cls.book = models.Edition.objects.create(title="test book") def test_populate_streams(self, _): """make sure the function on the redis manager gets called""" @@ -53,11 +55,10 @@ class Activitystreams(TestCase): user=self.local_user, content="hi", book=self.book ) - with patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ) as redis_mock, patch( - "bookwyrm.lists_stream.populate_lists_task.delay" - ) as list_mock: + with ( + patch("bookwyrm.activitystreams.populate_stream_task.delay") as redis_mock, + patch("bookwyrm.lists_stream.populate_lists_task.delay") as list_mock, + ): populate_streams() self.assertEqual(redis_mock.call_count, 6) # 2 users x 3 streams self.assertEqual(list_mock.call_count, 2) # 2 users diff --git a/bookwyrm/tests/models/test_activitypub_mixin.py b/bookwyrm/tests/models/test_activitypub_mixin.py index 2f6fad76d..c7949cd28 100644 --- a/bookwyrm/tests/models/test_activitypub_mixin.py +++ b/bookwyrm/tests/models/test_activitypub_mixin.py @@ -27,18 +27,20 @@ class ActivitypubMixins(TestCase): """functionality shared across models""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """shared data""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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, update_fields=["remote_id"]) + cls.local_user.remote_id = "http://example.com/a/b" + cls.local_user.save(broadcast=False, update_fields=["remote_id"]) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", diff --git a/bookwyrm/tests/models/test_automod.py b/bookwyrm/tests/models/test_automod.py index 1ad139886..5e10eb4d0 100644 --- a/bookwyrm/tests/models/test_automod.py +++ b/bookwyrm/tests/models/test_automod.py @@ -15,12 +15,14 @@ class AutomodModel(TestCase): """every response to a get request, html or json""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", diff --git a/bookwyrm/tests/models/test_base_model.py b/bookwyrm/tests/models/test_base_model.py index f1f465b73..d666b0e46 100644 --- a/bookwyrm/tests/models/test_base_model.py +++ b/bookwyrm/tests/models/test_base_model.py @@ -13,16 +13,18 @@ class BaseModel(TestCase): """functionality shared across models""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """shared data""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", diff --git a/bookwyrm/tests/models/test_book_model.py b/bookwyrm/tests/models/test_book_model.py index c6b854180..c40c94294 100644 --- a/bookwyrm/tests/models/test_book_model.py +++ b/bookwyrm/tests/models/test_book_model.py @@ -19,17 +19,17 @@ class Book(TestCase): """not too much going on in the books model but here we are""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we'll need some books""" - self.work = models.Work.objects.create( + cls.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 + cls.first_edition = models.Edition.objects.create( + title="Example Edition", parent_work=cls.work ) - self.second_edition = models.Edition.objects.create( + cls.second_edition = models.Edition.objects.create( title="Another Example Edition", - parent_work=self.work, + parent_work=cls.work, ) def test_remote_id(self): diff --git a/bookwyrm/tests/models/test_bookwyrm_export_job.py b/bookwyrm/tests/models/test_bookwyrm_export_job.py index b5f2520a9..be6bda3cc 100644 --- a/bookwyrm/tests/models/test_bookwyrm_export_job.py +++ b/bookwyrm/tests/models/test_bookwyrm_export_job.py @@ -16,16 +16,14 @@ class BookwyrmExport(TestCase): def setUp(self): """lots of stuff to set up for a user export""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"), patch( - "bookwyrm.suggested_users.rerank_user_task.delay" - ), patch( - "bookwyrm.lists_stream.remove_list_task.delay" - ), patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch( - "bookwyrm.activitystreams.add_book_statuses_task" + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + patch("bookwyrm.suggested_users.rerank_user_task.delay"), + patch("bookwyrm.lists_stream.remove_list_task.delay"), + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.activitystreams.add_book_statuses_task"), ): self.local_user = models.User.objects.create_user( diff --git a/bookwyrm/tests/models/test_bookwyrm_import_job.py b/bookwyrm/tests/models/test_bookwyrm_import_job.py index adc04706c..259d8f5a4 100644 --- a/bookwyrm/tests/models/test_bookwyrm_import_job.py +++ b/bookwyrm/tests/models/test_bookwyrm_import_job.py @@ -18,12 +18,12 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods def setUp(self): """setting stuff up""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"), patch( - "bookwyrm.suggested_users.rerank_user_task.delay" + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + patch("bookwyrm.suggested_users.rerank_user_task.delay"), ): - self.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", @@ -78,16 +78,18 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods def test_update_user_profile(self): """Test update the user's profile from import data""" - with patch("bookwyrm.suggested_users.remove_user_task.delay"), patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.suggested_users.rerank_user_task.delay"): - - with open(self.archive_file, "rb") as fileobj: - with BookwyrmTarFile.open(mode="r:gz", fileobj=fileobj) as tarfile: - - models.bookwyrm_import_job.update_user_profile( - self.local_user, tarfile, self.json_data - ) + with ( + patch("bookwyrm.suggested_users.remove_user_task.delay"), + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.suggested_users.rerank_user_task.delay"), + ): + with ( + open(self.archive_file, "rb") as fileobj, + BookwyrmTarFile.open(mode="r:gz", fileobj=fileobj) as tarfile, + ): + models.bookwyrm_import_job.update_user_profile( + self.local_user, tarfile, self.json_data + ) self.local_user.refresh_from_db() @@ -103,10 +105,11 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods def test_update_user_settings(self): """Test updating the user's settings from import data""" - with patch("bookwyrm.suggested_users.remove_user_task.delay"), patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.suggested_users.rerank_user_task.delay"): - + with ( + patch("bookwyrm.suggested_users.remove_user_task.delay"), + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.suggested_users.rerank_user_task.delay"), + ): models.bookwyrm_import_job.update_user_settings( self.local_user, self.json_data ) @@ -145,8 +148,9 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods def test_upsert_saved_lists_existing(self): """Test upserting an existing saved list""" - with patch("bookwyrm.lists_stream.remove_list_task.delay"), patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" + with ( + patch("bookwyrm.lists_stream.remove_list_task.delay"), + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), ): book_list = models.List.objects.create( name="My cool list", @@ -172,8 +176,9 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods def test_upsert_saved_lists_not_existing(self): """Test upserting a new saved list""" - with patch("bookwyrm.lists_stream.remove_list_task.delay"), patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" + with ( + patch("bookwyrm.lists_stream.remove_list_task.delay"), + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), ): book_list = models.List.objects.create( name="My cool list", @@ -199,9 +204,11 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods self.assertFalse(before_follow) - with patch("bookwyrm.activitystreams.add_user_statuses_task.delay"), patch( - "bookwyrm.lists_stream.add_user_lists_task.delay" - ), patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"): + with ( + patch("bookwyrm.activitystreams.add_user_statuses_task.delay"), + patch("bookwyrm.lists_stream.add_user_lists_task.delay"), + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + ): models.bookwyrm_import_job.upsert_follows( self.local_user, self.json_data.get("follows") ) @@ -222,10 +229,11 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods ).exists() self.assertFalse(blocked_before) - with patch("bookwyrm.suggested_users.remove_suggestion_task.delay"), patch( - "bookwyrm.activitystreams.remove_user_statuses_task.delay" - ), patch("bookwyrm.lists_stream.remove_user_lists_task.delay"), patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" + with ( + patch("bookwyrm.suggested_users.remove_suggestion_task.delay"), + patch("bookwyrm.activitystreams.remove_user_statuses_task.delay"), + patch("bookwyrm.lists_stream.remove_user_lists_task.delay"), + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), ): models.bookwyrm_import_job.upsert_user_blocks( self.local_user, self.json_data.get("blocks") @@ -246,14 +254,15 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods self.assertEqual(models.Edition.objects.count(), 1) - with open(self.archive_file, "rb") as fileobj: - with BookwyrmTarFile.open(mode="r:gz", fileobj=fileobj) as tarfile: + with ( + open(self.archive_file, "rb") as fileobj, + BookwyrmTarFile.open(mode="r:gz", fileobj=fileobj) as tarfile, + ): + bookwyrm_import_job.get_or_create_edition( + self.json_data["books"][1], tarfile + ) # Sand Talk - bookwyrm_import_job.get_or_create_edition( - self.json_data["books"][1], tarfile - ) # Sand Talk - - self.assertEqual(models.Edition.objects.count(), 1) + self.assertEqual(models.Edition.objects.count(), 1) def test_get_or_create_edition_not_existing(self): """Test take a JSON string of books and editions, @@ -262,12 +271,13 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods self.assertEqual(models.Edition.objects.count(), 1) - with open(self.archive_file, "rb") as fileobj: - with BookwyrmTarFile.open(mode="r:gz", fileobj=fileobj) as tarfile: - - bookwyrm_import_job.get_or_create_edition( - self.json_data["books"][0], tarfile - ) # Seeing like a state + with ( + open(self.archive_file, "rb") as fileobj, + BookwyrmTarFile.open(mode="r:gz", fileobj=fileobj) as tarfile, + ): + bookwyrm_import_job.get_or_create_edition( + self.json_data["books"][0], tarfile + ) # Seeing like a state self.assertTrue(models.Edition.objects.filter(isbn_13="9780300070163").exists()) self.assertEqual(models.Edition.objects.count(), 2) @@ -312,10 +322,10 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods self.assertEqual(models.Review.objects.filter(user=self.local_user).count(), 0) reviews = self.json_data["books"][0]["reviews"] - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.models.bookwyrm_import_job.is_alias", return_value=True): - + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.models.bookwyrm_import_job.is_alias", return_value=True), + ): bookwyrm_import_job.upsert_statuses( self.local_user, models.Review, reviews, self.book.remote_id ) @@ -349,10 +359,10 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods self.assertEqual(models.Comment.objects.filter(user=self.local_user).count(), 0) comments = self.json_data["books"][1]["comments"] - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.models.bookwyrm_import_job.is_alias", return_value=True): - + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.models.bookwyrm_import_job.is_alias", return_value=True), + ): bookwyrm_import_job.upsert_statuses( self.local_user, models.Comment, comments, self.book.remote_id ) @@ -378,9 +388,10 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods models.Quotation.objects.filter(user=self.local_user).count(), 0 ) quotes = self.json_data["books"][1]["quotations"] - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.models.bookwyrm_import_job.is_alias", return_value=True): + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.models.bookwyrm_import_job.is_alias", return_value=True), + ): bookwyrm_import_job.upsert_statuses( self.local_user, models.Quotation, quotes, self.book.remote_id @@ -411,9 +422,10 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods models.Quotation.objects.filter(user=self.local_user).count(), 0 ) quotes = self.json_data["books"][1]["quotations"] - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.models.bookwyrm_import_job.is_alias", return_value=False): + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.models.bookwyrm_import_job.is_alias", return_value=False), + ): bookwyrm_import_job.upsert_statuses( self.local_user, models.Quotation, quotes, self.book.remote_id @@ -432,8 +444,9 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods title="Another Book", remote_id="https://example.com/book/9876" ) - with patch("bookwyrm.lists_stream.remove_list_task.delay"), patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" + with ( + patch("bookwyrm.lists_stream.remove_list_task.delay"), + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), ): book_list = models.List.objects.create( name="my list of books", user=self.local_user @@ -452,8 +465,9 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods 1, ) - with patch("bookwyrm.lists_stream.remove_list_task.delay"), patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" + with ( + patch("bookwyrm.lists_stream.remove_list_task.delay"), + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), ): bookwyrm_import_job.upsert_lists( self.local_user, @@ -479,8 +493,9 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods self.assertEqual(models.List.objects.filter(user=self.local_user).count(), 0) self.assertFalse(models.ListItem.objects.filter(book=self.book.id).exists()) - with patch("bookwyrm.lists_stream.remove_list_task.delay"), patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" + with ( + patch("bookwyrm.lists_stream.remove_list_task.delay"), + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), ): bookwyrm_import_job.upsert_lists( self.local_user, @@ -503,16 +518,18 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods shelf = models.Shelf.objects.get(name="Read", user=self.local_user) - with patch("bookwyrm.activitystreams.add_book_statuses_task.delay"), patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" + with ( + patch("bookwyrm.activitystreams.add_book_statuses_task.delay"), + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), ): models.ShelfBook.objects.create( book=self.book, shelf=shelf, user=self.local_user ) book_data = self.json_data["books"][0] - with patch("bookwyrm.activitystreams.add_book_statuses_task.delay"), patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" + with ( + patch("bookwyrm.activitystreams.add_book_statuses_task.delay"), + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), ): bookwyrm_import_job.upsert_shelves(self.book, self.local_user, book_data) @@ -530,8 +547,9 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods book_data = self.json_data["books"][0] - with patch("bookwyrm.activitystreams.add_book_statuses_task.delay"), patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" + with ( + patch("bookwyrm.activitystreams.add_book_statuses_task.delay"), + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), ): bookwyrm_import_job.upsert_shelves(self.book, self.local_user, book_data) diff --git a/bookwyrm/tests/models/test_group.py b/bookwyrm/tests/models/test_group.py index 6f5388b19..2c2960ac4 100644 --- a/bookwyrm/tests/models/test_group.py +++ b/bookwyrm/tests/models/test_group.py @@ -10,21 +10,23 @@ class Group(TestCase): """some activitypub oddness ahead""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """Set up for tests""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.owner_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.owner_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" ) - self.rat = models.User.objects.create_user( + cls.rat = models.User.objects.create_user( "rat", "rat@rat.rat", "ratword", local=True, localname="rat" ) - self.badger = models.User.objects.create_user( + cls.badger = models.User.objects.create_user( "badger", "badger@badger.badger", "badgerword", @@ -32,7 +34,7 @@ class Group(TestCase): localname="badger", ) - self.capybara = models.User.objects.create_user( + cls.capybara = models.User.objects.create_user( "capybara", "capybara@capybara.capybara", "capybaraword", @@ -40,32 +42,32 @@ class Group(TestCase): localname="capybara", ) - self.public_group = models.Group.objects.create( + cls.public_group = models.Group.objects.create( name="Public Group", description="Initial description", - user=self.owner_user, + user=cls.owner_user, privacy="public", ) - self.private_group = models.Group.objects.create( + cls.private_group = models.Group.objects.create( name="Private Group", description="Top secret", - user=self.owner_user, + user=cls.owner_user, privacy="direct", ) - self.followers_only_group = models.Group.objects.create( + cls.followers_only_group = models.Group.objects.create( name="Followers Group", description="No strangers", - user=self.owner_user, + user=cls.owner_user, privacy="followers", ) - models.GroupMember.objects.create(group=self.private_group, user=self.badger) + models.GroupMember.objects.create(group=cls.private_group, user=cls.badger) models.GroupMember.objects.create( - group=self.followers_only_group, user=self.badger + group=cls.followers_only_group, user=cls.badger ) - models.GroupMember.objects.create(group=self.public_group, user=self.capybara) + models.GroupMember.objects.create(group=cls.public_group, user=cls.capybara) def test_group_members_can_see_private_groups(self, _): """direct privacy group should not be excluded from group listings for group @@ -81,9 +83,10 @@ class Group(TestCase): """follower-only group booklists should not be excluded from group booklist listing for group members who do not follower list owner""" - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.lists_stream.remove_list_task.delay"): + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.lists_stream.remove_list_task.delay"), + ): followers_list = models.List.objects.create( name="Followers List", curation="group", @@ -104,9 +107,10 @@ class Group(TestCase): """private group booklists should not be excluded from group booklist listing for group members""" - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.lists_stream.remove_list_task.delay"): + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.lists_stream.remove_list_task.delay"), + ): private_list = models.List.objects.create( name="Private List", privacy="direct", diff --git a/bookwyrm/tests/models/test_import_model.py b/bookwyrm/tests/models/test_import_model.py index 7ca36d223..e591c33e8 100644 --- a/bookwyrm/tests/models/test_import_model.py +++ b/bookwyrm/tests/models/test_import_model.py @@ -17,12 +17,14 @@ class ImportJob(TestCase): """this is a fancy one!!!""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """data is from a goodreads export of The Raven Tower""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "password", local=True ) @@ -192,14 +194,16 @@ class ImportJob(TestCase): status=200, ) - with patch("bookwyrm.connectors.abstract_connector.load_more_data.delay"): - with patch( + with ( + patch("bookwyrm.connectors.abstract_connector.load_more_data.delay"), + patch( "bookwyrm.connectors.connector_manager.first_search_result" - ) as search: - search.return_value = result - with patch( - "bookwyrm.connectors.openlibrary.Connector.get_authors_from_data" - ): - book = item.get_book_from_identifier() + ) as search, + ): + search.return_value = result + with patch( + "bookwyrm.connectors.openlibrary.Connector.get_authors_from_data" + ): + book = item.get_book_from_identifier() self.assertEqual(book.title, "Sabriel") diff --git a/bookwyrm/tests/models/test_list.py b/bookwyrm/tests/models/test_list.py index 83d7ed6a5..b9148853b 100644 --- a/bookwyrm/tests/models/test_list.py +++ b/bookwyrm/tests/models/test_list.py @@ -12,16 +12,18 @@ class List(TestCase): """some activitypub oddness ahead""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """look, a list""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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) + cls.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_notification.py b/bookwyrm/tests/models/test_notification.py index 93422640b..976ac39c9 100644 --- a/bookwyrm/tests/models/test_notification.py +++ b/bookwyrm/tests/models/test_notification.py @@ -8,19 +8,21 @@ class Notification(TestCase): """let people know things""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """useful things for creating a notification""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse" ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( "rat", "rat@rat.rat", "ratword", local=True, localname="rat" ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -29,14 +31,14 @@ class Notification(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.work = models.Work.objects.create(title="Test Work") + cls.book = models.Edition.objects.create( title="Test Book", isbn_13="1234567890123", remote_id="https://example.com/book/1", - parent_work=self.work, + parent_work=cls.work, ) - self.another_book = models.Edition.objects.create( + cls.another_book = models.Edition.objects.create( title="Second Test Book", parent_work=models.Work.objects.create(title="Test Work"), ) @@ -199,12 +201,14 @@ class NotifyInviteRequest(TestCase): """let admins know of invite requests""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """ensure there is one admin""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", @@ -264,9 +268,11 @@ class NotifyInviteRequest(TestCase): def test_notify_multiple_admins(self): """all admins are notified""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): self.local_user = models.User.objects.create_user( "admin@local.com", "admin@example.com", diff --git a/bookwyrm/tests/models/test_readthrough_model.py b/bookwyrm/tests/models/test_readthrough_model.py index d34a06aaf..239537df4 100644 --- a/bookwyrm/tests/models/test_readthrough_model.py +++ b/bookwyrm/tests/models/test_readthrough_model.py @@ -12,18 +12,20 @@ class ReadThrough(TestCase): """some activitypub oddness ahead""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """look, a shelf""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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 + cls.work = models.Work.objects.create(title="Example Work") + cls.edition = models.Edition.objects.create( + title="Example Edition", parent_work=cls.work ) def test_valid_date(self): diff --git a/bookwyrm/tests/models/test_relationship_models.py b/bookwyrm/tests/models/test_relationship_models.py index 8f849bc3b..ec9f751a4 100644 --- a/bookwyrm/tests/models/test_relationship_models.py +++ b/bookwyrm/tests/models/test_relationship_models.py @@ -15,10 +15,10 @@ class Relationship(TestCase): """following, blocking, stuff like that""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need some users for this""" with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -27,14 +27,16 @@ class Relationship(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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, update_fields=["remote_id"]) + cls.local_user.remote_id = "http://local.com/user/mouse" + cls.local_user.save(broadcast=False, update_fields=["remote_id"]) def test_user_follows(self, *_): """basic functionality of user follows""" diff --git a/bookwyrm/tests/models/test_shelf_model.py b/bookwyrm/tests/models/test_shelf_model.py index 88b1fad06..022cb5c61 100644 --- a/bookwyrm/tests/models/test_shelf_model.py +++ b/bookwyrm/tests/models/test_shelf_model.py @@ -16,16 +16,18 @@ class Shelf(TestCase): """some activitypub oddness ahead""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """look, a shelf""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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) + cls.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_site.py b/bookwyrm/tests/models/test_site.py index f4accc04b..0933dac0c 100644 --- a/bookwyrm/tests/models/test_site.py +++ b/bookwyrm/tests/models/test_site.py @@ -13,12 +13,14 @@ class SiteModels(TestCase): """tests for site models""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", diff --git a/bookwyrm/tests/models/test_status_model.py b/bookwyrm/tests/models/test_status_model.py index 9899f6bf3..bd2853595 100644 --- a/bookwyrm/tests/models/test_status_model.py +++ b/bookwyrm/tests/models/test_status_model.py @@ -25,16 +25,18 @@ class Status(TestCase): """lotta types of statuses""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """useful things for creating a status""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -43,7 +45,7 @@ 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") + cls.book = models.Edition.objects.create(title="Test Edition") def setUp(self): """individual test setup""" diff --git a/bookwyrm/tests/models/test_user_model.py b/bookwyrm/tests/models/test_user_model.py index 47a662e49..22c7a171b 100644 --- a/bookwyrm/tests/models/test_user_model.py +++ b/bookwyrm/tests/models/test_user_model.py @@ -19,11 +19,13 @@ class User(TestCase): protocol = "https://" if USE_HTTPS else "http://" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.user = models.User.objects.create_user( + def setUpTestData(cls): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.user = models.User.objects.create_user( f"mouse@{DOMAIN}", "mouse@mouse.mouse", "mouseword", @@ -33,7 +35,7 @@ class User(TestCase): summary="a summary", bookwyrm_user=False, ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( f"nutria@{DOMAIN}", "nutria@nutria.nutria", "nutriaword", @@ -122,9 +124,11 @@ class User(TestCase): site.default_user_auth_group = Group.objects.get(name="editor") site.save() - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): user = models.User.objects.create_user( f"test2{DOMAIN}", "test2@bookwyrm.test", @@ -135,9 +139,11 @@ class User(TestCase): site.default_user_auth_group = None site.save() - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): user = models.User.objects.create_user( f"test1{DOMAIN}", "test1@bookwyrm.test", @@ -228,11 +234,14 @@ class User(TestCase): self.assertEqual(self.user.name, "hi") self.assertEqual(self.user.summary, "a summary") self.assertEqual(self.user.email, "mouse@mouse.mouse") - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ) as broadcast_mock, patch( - "bookwyrm.models.user.User.erase_user_statuses" - ) as erase_statuses_mock: + with ( + patch( + "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" + ) as broadcast_mock, + patch( + "bookwyrm.models.user.User.erase_user_statuses" + ) as erase_statuses_mock, + ): self.user.delete() self.assertEqual(erase_statuses_mock.call_count, 1) diff --git a/bookwyrm/tests/templatetags/test_book_display_tags.py b/bookwyrm/tests/templatetags/test_book_display_tags.py index dcff01a80..40fa0f7d6 100644 --- a/bookwyrm/tests/templatetags/test_book_display_tags.py +++ b/bookwyrm/tests/templatetags/test_book_display_tags.py @@ -14,19 +14,21 @@ class BookDisplayTags(TestCase): """lotta different things here""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """create some filler objects""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.user = models.User.objects.create_user( "mouse@example.com", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse", ) - self.book = models.Edition.objects.create(title="Test Book") + cls.book = models.Edition.objects.create(title="Test Book") def test_get_book_description(self, *_): """grab it from the edition or the parent""" diff --git a/bookwyrm/tests/templatetags/test_feed_page_tags.py b/bookwyrm/tests/templatetags/test_feed_page_tags.py index d0a895f36..7e3ba6a9f 100644 --- a/bookwyrm/tests/templatetags/test_feed_page_tags.py +++ b/bookwyrm/tests/templatetags/test_feed_page_tags.py @@ -13,19 +13,21 @@ class FeedPageTags(TestCase): """lotta different things here""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """create some filler objects""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.user = models.User.objects.create_user( "mouse@example.com", "mouse@mouse.mouse", "mouseword", local=True, localname="mouse", ) - self.book = models.Edition.objects.create(title="Test Book") + cls.book = models.Edition.objects.create(title="Test Book") @patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async") def test_load_subclass(self, *_): diff --git a/bookwyrm/tests/templatetags/test_interaction.py b/bookwyrm/tests/templatetags/test_interaction.py index a9d1267c0..6d707ffac 100644 --- a/bookwyrm/tests/templatetags/test_interaction.py +++ b/bookwyrm/tests/templatetags/test_interaction.py @@ -13,12 +13,14 @@ class InteractionTags(TestCase): """lotta different things here""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """create some filler objects""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.user = models.User.objects.create_user( "mouse@example.com", "mouse@mouse.mouse", "mouseword", @@ -26,14 +28,14 @@ class InteractionTags(TestCase): localname="mouse", ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.rat", "ratword", remote_id="http://example.com/rat", local=False, ) - self.book = models.Edition.objects.create(title="Test Book") + cls.book = models.Edition.objects.create(title="Test Book") def test_get_user_liked(self, *_): """did a user like a status""" diff --git a/bookwyrm/tests/templatetags/test_notification_page_tags.py b/bookwyrm/tests/templatetags/test_notification_page_tags.py index 94f839ec5..2d18a5ca7 100644 --- a/bookwyrm/tests/templatetags/test_notification_page_tags.py +++ b/bookwyrm/tests/templatetags/test_notification_page_tags.py @@ -13,12 +13,14 @@ class NotificationPageTags(TestCase): """lotta different things here""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """create some filler objects""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.user = models.User.objects.create_user( "mouse@example.com", "mouse@mouse.mouse", "mouseword", diff --git a/bookwyrm/tests/templatetags/test_rating_tags.py b/bookwyrm/tests/templatetags/test_rating_tags.py index 5225d57a6..cb28fd788 100644 --- a/bookwyrm/tests/templatetags/test_rating_tags.py +++ b/bookwyrm/tests/templatetags/test_rating_tags.py @@ -13,12 +13,14 @@ class RatingTags(TestCase): """lotta different things here""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """create some filler objects""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@example.com", "mouse@mouse.mouse", "mouseword", @@ -26,7 +28,7 @@ class RatingTags(TestCase): localname="mouse", ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.rat", "ratword", @@ -34,7 +36,7 @@ class RatingTags(TestCase): local=False, ) work = models.Work.objects.create(title="Work title") - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Test Book", parent_work=work, ) diff --git a/bookwyrm/tests/templatetags/test_shelf_tags.py b/bookwyrm/tests/templatetags/test_shelf_tags.py index 7c456c815..8b3ec82d1 100644 --- a/bookwyrm/tests/templatetags/test_shelf_tags.py +++ b/bookwyrm/tests/templatetags/test_shelf_tags.py @@ -16,12 +16,14 @@ class ShelfTags(TestCase): """lotta different things here""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """create some filler objects""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@example.com", "mouse@mouse.mouse", "mouseword", @@ -29,14 +31,14 @@ class ShelfTags(TestCase): localname="mouse", ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.rat", "ratword", remote_id="http://example.com/rat", local=False, ) - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Test Book", parent_work=models.Work.objects.create(title="Test work"), ) diff --git a/bookwyrm/tests/templatetags/test_status_display.py b/bookwyrm/tests/templatetags/test_status_display.py index a9bab0b68..762f14ea8 100644 --- a/bookwyrm/tests/templatetags/test_status_display.py +++ b/bookwyrm/tests/templatetags/test_status_display.py @@ -15,12 +15,14 @@ class StatusDisplayTags(TestCase): """lotta different things here""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """create some filler objects""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.user = models.User.objects.create_user( "mouse@example.com", "mouse@mouse.mouse", "mouseword", @@ -28,14 +30,14 @@ class StatusDisplayTags(TestCase): localname="mouse", ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.rat", "ratword", remote_id="http://example.com/rat", local=False, ) - self.book = models.Edition.objects.create(title="Test Book") + cls.book = models.Edition.objects.create(title="Test Book") def test_get_mentions(self, *_): """list of people mentioned""" diff --git a/bookwyrm/tests/templatetags/test_utilities.py b/bookwyrm/tests/templatetags/test_utilities.py index 1bf98fda8..bfd4f41ae 100644 --- a/bookwyrm/tests/templatetags/test_utilities.py +++ b/bookwyrm/tests/templatetags/test_utilities.py @@ -15,12 +15,14 @@ class UtilitiesTags(TestCase): """lotta different things here""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """create some filler objects""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.user = models.User.objects.create_user( "mouse@example.com", "mouse@mouse.mouse", "mouseword", @@ -28,15 +30,15 @@ class UtilitiesTags(TestCase): localname="mouse", ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.rat", "ratword", remote_id="http://example.com/rat", local=False, ) - self.author = models.Author.objects.create(name="Jessica", isni="4") - self.book = models.Edition.objects.create(title="Test Book") + cls.author = models.Author.objects.create(name="Jessica", isni="4") + cls.book = models.Edition.objects.create(title="Test Book") def test_get_uuid(self, *_): """uuid functionality""" diff --git a/bookwyrm/tests/test_book_search.py b/bookwyrm/tests/test_book_search.py index b8c1ee1d3..3673b9579 100644 --- a/bookwyrm/tests/test_book_search.py +++ b/bookwyrm/tests/test_book_search.py @@ -12,43 +12,43 @@ class BookSearch(TestCase): """look for some books""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - self.first_author = models.Author.objects.create( + cls.first_author = models.Author.objects.create( name="Author One", aliases=["The First"] ) - self.second_author = models.Author.objects.create( + cls.second_author = models.Author.objects.create( name="Author Two", aliases=["The Second"] ) - self.work = models.Work.objects.create(title="Example Work") + cls.work = models.Work.objects.create(title="Example Work") - self.first_edition = models.Edition.objects.create( + cls.first_edition = models.Edition.objects.create( title="Example Edition", - parent_work=self.work, + parent_work=cls.work, isbn_10="0000000000", physical_format="Paperback", published_date=datetime.datetime(2019, 4, 9, 0, 0, tzinfo=timezone.utc), ) - self.first_edition.authors.add(self.first_author) + cls.first_edition.authors.add(cls.first_author) - self.second_edition = models.Edition.objects.create( + cls.second_edition = models.Edition.objects.create( title="Another Edition", - parent_work=self.work, + parent_work=cls.work, isbn_10="1111111111", openlibrary_key="hello", pages=150, ) - self.second_edition.authors.add(self.first_author) - self.second_edition.authors.add(self.second_author) + cls.second_edition.authors.add(cls.first_author) + cls.second_edition.authors.add(cls.second_author) - self.third_edition = models.Edition.objects.create( + cls.third_edition = models.Edition.objects.create( title="Another Edition with annoying ISBN", - parent_work=self.work, + parent_work=cls.work, isbn_10="022222222X", ) - self.third_edition.authors.add(self.first_author) - self.third_edition.authors.add(self.second_author) + cls.third_edition.authors.add(cls.first_author) + cls.third_edition.authors.add(cls.second_author) def test_search(self): """search for a book in the db""" diff --git a/bookwyrm/tests/test_context_processors.py b/bookwyrm/tests/test_context_processors.py index 614db681c..7a58b05d8 100644 --- a/bookwyrm/tests/test_context_processors.py +++ b/bookwyrm/tests/test_context_processors.py @@ -12,21 +12,23 @@ class ContextProcessor(TestCase): """pages you land on without really trying""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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 - self.site = models.SiteSettings.objects.create() + cls.anonymous_user = AnonymousUser + cls.anonymous_user.is_authenticated = False + cls.site = models.SiteSettings.objects.create() def setUp(self): """other test data""" diff --git a/bookwyrm/tests/test_emailing.py b/bookwyrm/tests/test_emailing.py index 119941e85..c507a059f 100644 --- a/bookwyrm/tests/test_emailing.py +++ b/bookwyrm/tests/test_emailing.py @@ -12,12 +12,14 @@ class Emailing(TestCase): """every response to a get request, html or json""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", diff --git a/bookwyrm/tests/test_preview_images.py b/bookwyrm/tests/test_preview_images.py index d1998bf3c..4f711b38b 100644 --- a/bookwyrm/tests/test_preview_images.py +++ b/bookwyrm/tests/test_preview_images.py @@ -31,9 +31,11 @@ class PreviewImages(TestCase): avatar_file = pathlib.Path(__file__).parent.joinpath( "../static/images/no_cover.jpg" ) - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): self.local_user = models.User.objects.create_user( "possum@local.com", "possum@possum.possum", @@ -47,9 +49,11 @@ class PreviewImages(TestCase): ), ) - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): self.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", @@ -60,9 +64,11 @@ class PreviewImages(TestCase): outbox="https://example.com/users/rat/outbox", ) - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): self.remote_user_with_preview = models.User.objects.create_user( "badger@your.domain.here", "badger@badger.com", diff --git a/bookwyrm/tests/test_signing.py b/bookwyrm/tests/test_signing.py index b539f089b..e41548bcf 100644 --- a/bookwyrm/tests/test_signing.py +++ b/bookwyrm/tests/test_signing.py @@ -36,22 +36,24 @@ class Signature(TestCase): """signature test""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """create users and test data""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.mouse = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.mouse = models.User.objects.create_user( f"mouse@{DOMAIN}", "mouse@example.com", "", local=True, localname="mouse", ) - self.rat = models.User.objects.create_user( + cls.rat = models.User.objects.create_user( f"rat@{DOMAIN}", "rat@example.com", "", local=True, localname="rat" ) - self.cat = models.User.objects.create_user( + cls.cat = models.User.objects.create_user( f"cat@{DOMAIN}", "cat@example.com", "", local=True, localname="cat" ) models.SiteSettings.objects.create() @@ -89,9 +91,11 @@ class Signature(TestCase): signature = make_signature( "post", signer or sender, self.rat.inbox, now, digest=digest ) - with patch("bookwyrm.views.inbox.activity_task.apply_async"): - with patch("bookwyrm.models.user.set_remote_server.delay"): - return self.send(signature, now, send_data or data, digest) + with ( + patch("bookwyrm.views.inbox.activity_task.apply_async"), + patch("bookwyrm.models.user.set_remote_server.delay"), + ): + return self.send(signature, now, send_data or data, digest) def test_correct_signature(self): """this one should just work""" diff --git a/bookwyrm/tests/test_suggested_users.py b/bookwyrm/tests/test_suggested_users.py index 77b82e7ee..0a6dd8abe 100644 --- a/bookwyrm/tests/test_suggested_users.py +++ b/bookwyrm/tests/test_suggested_users.py @@ -22,9 +22,11 @@ class SuggestedUsers(TestCase): def setUp(self): """use a test csv""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): self.local_user = models.User.objects.create_user( "mouse", "mouse@mouse.mouse", "password", local=True, localname="mouse" ) diff --git a/bookwyrm/tests/views/admin/test_announcements.py b/bookwyrm/tests/views/admin/test_announcements.py index 30bc94a1f..62fb86d16 100644 --- a/bookwyrm/tests/views/admin/test_announcements.py +++ b/bookwyrm/tests/views/admin/test_announcements.py @@ -12,12 +12,14 @@ class AnnouncementViews(TestCase): """every response to a get request, html or json""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", diff --git a/bookwyrm/tests/views/admin/test_automod.py b/bookwyrm/tests/views/admin/test_automod.py index 1835a24ee..27f98163e 100644 --- a/bookwyrm/tests/views/admin/test_automod.py +++ b/bookwyrm/tests/views/admin/test_automod.py @@ -16,12 +16,14 @@ class AutomodViews(TestCase): """every response to a get request, html or json""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", @@ -31,7 +33,7 @@ class AutomodViews(TestCase): initdb.init_groups() initdb.init_permissions() group = Group.objects.get(name="moderator") - self.local_user.groups.set([group]) + cls.local_user.groups.set([group]) models.SiteSettings.objects.create() def setUp(self): diff --git a/bookwyrm/tests/views/admin/test_celery.py b/bookwyrm/tests/views/admin/test_celery.py index d215a9657..513d69944 100644 --- a/bookwyrm/tests/views/admin/test_celery.py +++ b/bookwyrm/tests/views/admin/test_celery.py @@ -15,12 +15,14 @@ class CeleryStatusViews(TestCase): """every response to a get request, html or json""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", @@ -30,7 +32,7 @@ class CeleryStatusViews(TestCase): initdb.init_groups() initdb.init_permissions() group = Group.objects.get(name="admin") - self.local_user.groups.set([group]) + cls.local_user.groups.set([group]) models.SiteSettings.objects.create() def setUp(self): diff --git a/bookwyrm/tests/views/admin/test_dashboard.py b/bookwyrm/tests/views/admin/test_dashboard.py index 8eeb754a8..35fcb25a4 100644 --- a/bookwyrm/tests/views/admin/test_dashboard.py +++ b/bookwyrm/tests/views/admin/test_dashboard.py @@ -15,12 +15,14 @@ class DashboardViews(TestCase): """every response to a get request, html or json""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", @@ -30,7 +32,7 @@ class DashboardViews(TestCase): initdb.init_groups() initdb.init_permissions() group = Group.objects.get(name="moderator") - self.local_user.groups.set([group]) + cls.local_user.groups.set([group]) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/admin/test_email_blocks.py b/bookwyrm/tests/views/admin/test_email_blocks.py index 75c0be929..08a131c3a 100644 --- a/bookwyrm/tests/views/admin/test_email_blocks.py +++ b/bookwyrm/tests/views/admin/test_email_blocks.py @@ -15,12 +15,14 @@ class EmailBlocklistViews(TestCase): """every response to a get request, html or json""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", @@ -30,7 +32,7 @@ class EmailBlocklistViews(TestCase): initdb.init_groups() initdb.init_permissions() group = Group.objects.get(name="moderator") - self.local_user.groups.set([group]) + cls.local_user.groups.set([group]) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/admin/test_email_config.py b/bookwyrm/tests/views/admin/test_email_config.py index 63d85cbef..22f4b7a05 100644 --- a/bookwyrm/tests/views/admin/test_email_config.py +++ b/bookwyrm/tests/views/admin/test_email_config.py @@ -15,12 +15,14 @@ class EmailConfigViews(TestCase): """every response to a get request, html or json""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", @@ -30,7 +32,7 @@ class EmailConfigViews(TestCase): initdb.init_groups() initdb.init_permissions() group = Group.objects.get(name="admin") - self.local_user.groups.set([group]) + cls.local_user.groups.set([group]) models.SiteSettings.objects.create() def setUp(self): diff --git a/bookwyrm/tests/views/admin/test_federation.py b/bookwyrm/tests/views/admin/test_federation.py index 1a5067299..1d0012dde 100644 --- a/bookwyrm/tests/views/admin/test_federation.py +++ b/bookwyrm/tests/views/admin/test_federation.py @@ -18,12 +18,14 @@ class FederationViews(TestCase): """every response to a get request, html or json""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", @@ -31,7 +33,7 @@ class FederationViews(TestCase): localname="mouse", ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -43,7 +45,7 @@ class FederationViews(TestCase): initdb.init_groups() initdb.init_permissions() group = Group.objects.get(name="moderator") - self.local_user.groups.set([group]) + cls.local_user.groups.set([group]) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/admin/test_imports.py b/bookwyrm/tests/views/admin/test_imports.py index 5a5599519..211407ff6 100644 --- a/bookwyrm/tests/views/admin/test_imports.py +++ b/bookwyrm/tests/views/admin/test_imports.py @@ -15,12 +15,14 @@ class ImportsAdminViews(TestCase): """every response to a get request, html or json""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", @@ -30,7 +32,7 @@ class ImportsAdminViews(TestCase): initdb.init_groups() initdb.init_permissions() group = Group.objects.get(name="admin") - self.local_user.groups.set([group]) + cls.local_user.groups.set([group]) models.SiteSettings.objects.create() def setUp(self): diff --git a/bookwyrm/tests/views/admin/test_ip_blocklist.py b/bookwyrm/tests/views/admin/test_ip_blocklist.py index 06c110a06..491915eda 100644 --- a/bookwyrm/tests/views/admin/test_ip_blocklist.py +++ b/bookwyrm/tests/views/admin/test_ip_blocklist.py @@ -15,12 +15,14 @@ class IPBlocklistViews(TestCase): """every response to a get request, html or json""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", @@ -30,7 +32,7 @@ class IPBlocklistViews(TestCase): initdb.init_groups() initdb.init_permissions() group = Group.objects.get(name="moderator") - self.local_user.groups.set([group]) + cls.local_user.groups.set([group]) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/admin/test_link_domains.py b/bookwyrm/tests/views/admin/test_link_domains.py index 14eed419b..20d28896f 100644 --- a/bookwyrm/tests/views/admin/test_link_domains.py +++ b/bookwyrm/tests/views/admin/test_link_domains.py @@ -15,12 +15,14 @@ class LinkDomainViews(TestCase): """every response to a get request, html or json""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", @@ -30,13 +32,13 @@ class LinkDomainViews(TestCase): initdb.init_groups() initdb.init_permissions() group = Group.objects.get(name="moderator") - self.local_user.groups.set([group]) + cls.local_user.groups.set([group]) - self.book = models.Edition.objects.create(title="hello") + cls.book = models.Edition.objects.create(title="hello") models.FileLink.objects.create( - book=self.book, + book=cls.book, url="https://beep.com/book/1", - added_by=self.local_user, + added_by=cls.local_user, ) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/admin/test_reports.py b/bookwyrm/tests/views/admin/test_reports.py index 4334eeed9..146e40a9b 100644 --- a/bookwyrm/tests/views/admin/test_reports.py +++ b/bookwyrm/tests/views/admin/test_reports.py @@ -16,19 +16,21 @@ class ReportViews(TestCase): """every response to a get request, html or json""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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( + cls.rat = models.User.objects.create_user( "rat@local.com", "rat@mouse.mouse", "password", @@ -38,7 +40,7 @@ class ReportViews(TestCase): initdb.init_groups() initdb.init_permissions() group = Group.objects.get(name="moderator") - self.local_user.groups.set([group]) + cls.local_user.groups.set([group]) models.SiteSettings.objects.create() def setUp(self): diff --git a/bookwyrm/tests/views/admin/test_site.py b/bookwyrm/tests/views/admin/test_site.py index b7c687e09..277bfbc85 100644 --- a/bookwyrm/tests/views/admin/test_site.py +++ b/bookwyrm/tests/views/admin/test_site.py @@ -15,12 +15,14 @@ class SiteSettingsViews(TestCase): """Edit site settings""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", @@ -30,9 +32,9 @@ class SiteSettingsViews(TestCase): initdb.init_groups() initdb.init_permissions() group = Group.objects.get(name="admin") - self.local_user.groups.set([group]) + cls.local_user.groups.set([group]) - self.site = models.SiteSettings.objects.create() + cls.site = models.SiteSettings.objects.create() def setUp(self): """individual test setup""" diff --git a/bookwyrm/tests/views/admin/test_themes.py b/bookwyrm/tests/views/admin/test_themes.py index 66384f5fc..af46bf060 100644 --- a/bookwyrm/tests/views/admin/test_themes.py +++ b/bookwyrm/tests/views/admin/test_themes.py @@ -16,19 +16,21 @@ class AdminThemesViews(TestCase): """Edit site settings""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", local=True, localname="mouse", ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( "rat@local.com", "rat@rat.rat", "password", @@ -38,9 +40,9 @@ class AdminThemesViews(TestCase): initdb.init_groups() initdb.init_permissions() group = Group.objects.get(name="admin") - self.local_user.groups.set([group]) + cls.local_user.groups.set([group]) - self.site = models.SiteSettings.objects.create() + cls.site = models.SiteSettings.objects.create() def setUp(self): """individual test setup""" diff --git a/bookwyrm/tests/views/admin/test_user_admin.py b/bookwyrm/tests/views/admin/test_user_admin.py index 99c630526..48fd7202e 100644 --- a/bookwyrm/tests/views/admin/test_user_admin.py +++ b/bookwyrm/tests/views/admin/test_user_admin.py @@ -16,12 +16,14 @@ class UserAdminViews(TestCase): """every response to a get request, html or json""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", @@ -31,7 +33,7 @@ class UserAdminViews(TestCase): initdb.init_groups() initdb.init_permissions() group = Group.objects.get(name="moderator") - self.local_user.groups.set([group]) + cls.local_user.groups.set([group]) models.SiteSettings.objects.create() def setUp(self): diff --git a/bookwyrm/tests/views/books/test_book.py b/bookwyrm/tests/views/books/test_book.py index 4d41eaa5d..cb66811a1 100644 --- a/bookwyrm/tests/views/books/test_book.py +++ b/bookwyrm/tests/views/books/test_book.py @@ -24,12 +24,14 @@ class BookViews(TestCase): """books books books""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -37,19 +39,19 @@ class BookViews(TestCase): localname="mouse", remote_id="https://example.com/users/mouse", ) - self.group = Group.objects.create(name="editor") - self.group.permissions.add( + cls.group = Group.objects.create(name="editor") + cls.group.permissions.add( Permission.objects.create( name="edit_book", codename="edit_book", 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( + cls.work = models.Work.objects.create(title="Test Work") + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", - parent_work=self.work, + parent_work=cls.work, ) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/books/test_edit_book.py b/bookwyrm/tests/views/books/test_edit_book.py index 169112bab..05a4d68ac 100644 --- a/bookwyrm/tests/views/books/test_edit_book.py +++ b/bookwyrm/tests/views/books/test_edit_book.py @@ -20,12 +20,14 @@ class EditBookViews(TestCase): """books books books""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -33,19 +35,19 @@ class EditBookViews(TestCase): localname="mouse", remote_id="https://example.com/users/mouse", ) - self.group = Group.objects.create(name="editor") - self.group.permissions.add( + cls.group = Group.objects.create(name="editor") + cls.group.permissions.add( Permission.objects.create( name="edit_book", codename="edit_book", 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( + cls.work = models.Work.objects.create(title="Test Work") + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", - parent_work=self.work, + parent_work=cls.work, ) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/books/test_editions.py b/bookwyrm/tests/views/books/test_editions.py index e89fd521b..ef7404e51 100644 --- a/bookwyrm/tests/views/books/test_editions.py +++ b/bookwyrm/tests/views/books/test_editions.py @@ -14,12 +14,14 @@ class BookViews(TestCase): """books books books""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -27,11 +29,11 @@ class BookViews(TestCase): localname="mouse", remote_id="https://example.com/users/mouse", ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.work = models.Work.objects.create(title="Test Work") + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", - parent_work=self.work, + parent_work=cls.work, physical_format="paperback", ) diff --git a/bookwyrm/tests/views/books/test_links.py b/bookwyrm/tests/views/books/test_links.py index 817463656..299dea484 100644 --- a/bookwyrm/tests/views/books/test_links.py +++ b/bookwyrm/tests/views/books/test_links.py @@ -16,12 +16,13 @@ class LinkViews(TestCase): """books books books""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), ): - self.local_user = models.User.objects.create_user( + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -37,13 +38,13 @@ class LinkViews(TestCase): content_type=ContentType.objects.get_for_model(models.User), ).id ) - self.local_user.groups.add(group) + cls.local_user.groups.add(group) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.work = models.Work.objects.create(title="Test Work") + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", - parent_work=self.work, + parent_work=cls.work, ) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/imports/test_import.py b/bookwyrm/tests/views/imports/test_import.py index d0612ee68..658d95a33 100644 --- a/bookwyrm/tests/views/imports/test_import.py +++ b/bookwyrm/tests/views/imports/test_import.py @@ -17,12 +17,14 @@ class ImportViews(TestCase): """goodreads import views""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", diff --git a/bookwyrm/tests/views/imports/test_import_review.py b/bookwyrm/tests/views/imports/test_import_review.py index 27bb3f9d1..026efac11 100644 --- a/bookwyrm/tests/views/imports/test_import_review.py +++ b/bookwyrm/tests/views/imports/test_import_review.py @@ -12,12 +12,14 @@ class ImportManualReviewViews(TestCase): """goodreads import views""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", @@ -25,10 +27,10 @@ class ImportManualReviewViews(TestCase): localname="mouse", ) models.SiteSettings.objects.create() - self.job = models.ImportJob.objects.create(user=self.local_user, mappings={}) + cls.job = models.ImportJob.objects.create(user=cls.local_user, mappings={}) work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", parent_work=work, diff --git a/bookwyrm/tests/views/imports/test_import_troubleshoot.py b/bookwyrm/tests/views/imports/test_import_troubleshoot.py index 0e12c406a..2e76da373 100644 --- a/bookwyrm/tests/views/imports/test_import_troubleshoot.py +++ b/bookwyrm/tests/views/imports/test_import_troubleshoot.py @@ -13,12 +13,14 @@ class ImportTroubleshootViews(TestCase): """goodreads import views""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", diff --git a/bookwyrm/tests/views/imports/test_user_import.py b/bookwyrm/tests/views/imports/test_user_import.py index db5837101..4a676a57f 100644 --- a/bookwyrm/tests/views/imports/test_user_import.py +++ b/bookwyrm/tests/views/imports/test_user_import.py @@ -18,9 +18,11 @@ class ImportUserViews(TestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): self.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", diff --git a/bookwyrm/tests/views/inbox/test_inbox.py b/bookwyrm/tests/views/inbox/test_inbox.py index 1c05806a5..92ee8a43d 100644 --- a/bookwyrm/tests/views/inbox/test_inbox.py +++ b/bookwyrm/tests/views/inbox/test_inbox.py @@ -29,11 +29,13 @@ class Inbox(TestCase): } @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """basic user and book data""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): local_user = models.User.objects.create_user( "mouse@example.com", "mouse@mouse.com", @@ -44,7 +46,7 @@ class Inbox(TestCase): local_user.remote_id = "https://example.com/user/mouse" local_user.save(broadcast=False, update_fields=["remote_id"]) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", diff --git a/bookwyrm/tests/views/inbox/test_inbox_add.py b/bookwyrm/tests/views/inbox/test_inbox_add.py index 5fbeaa33a..0a11053e4 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_add.py +++ b/bookwyrm/tests/views/inbox/test_inbox_add.py @@ -12,11 +12,13 @@ class InboxAdd(TestCase): """inbox tests""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """basic user and book data""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): local_user = models.User.objects.create_user( "mouse@example.com", "mouse@mouse.com", @@ -27,7 +29,7 @@ class InboxAdd(TestCase): local_user.remote_id = "https://example.com/user/mouse" local_user.save(broadcast=False, update_fields=["remote_id"]) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -38,7 +40,7 @@ class InboxAdd(TestCase): ) work = models.Work.objects.create(title="work title") - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Test", remote_id="https://example.com/book/37292", parent_work=work, diff --git a/bookwyrm/tests/views/inbox/test_inbox_announce.py b/bookwyrm/tests/views/inbox/test_inbox_announce.py index e6fdf9375..d499629a7 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_announce.py +++ b/bookwyrm/tests/views/inbox/test_inbox_announce.py @@ -12,22 +12,24 @@ class InboxActivities(TestCase): """inbox tests""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """basic user and book data""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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, update_fields=["remote_id"]) + cls.local_user.remote_id = "https://example.com/user/mouse" + cls.local_user.save(broadcast=False, update_fields=["remote_id"]) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -37,13 +39,15 @@ class InboxActivities(TestCase): outbox="https://example.com/users/rat/outbox", ) - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"): - with patch("bookwyrm.activitystreams.add_status_task.delay"): - self.status = models.Status.objects.create( - user=self.local_user, - content="Test status", - remote_id="https://example.com/status/1", - ) + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.activitystreams.add_status_task.delay"), + ): + cls.status = models.Status.objects.create( + user=cls.local_user, + content="Test status", + remote_id="https://example.com/status/1", + ) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/inbox/test_inbox_block.py b/bookwyrm/tests/views/inbox/test_inbox_block.py index 9fef621ea..19b0eb97f 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_block.py +++ b/bookwyrm/tests/views/inbox/test_inbox_block.py @@ -11,22 +11,24 @@ class InboxBlock(TestCase): """inbox tests""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """basic user and book data""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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, update_fields=["remote_id"]) + cls.local_user.remote_id = "https://example.com/user/mouse" + cls.local_user.save(broadcast=False, update_fields=["remote_id"]) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -56,9 +58,12 @@ class InboxBlock(TestCase): "object": "https://example.com/user/mouse", } - with patch( - "bookwyrm.activitystreams.remove_user_statuses_task.delay" - ) as redis_mock, patch("bookwyrm.lists_stream.remove_user_lists_task.delay"): + with ( + patch( + "bookwyrm.activitystreams.remove_user_statuses_task.delay" + ) as redis_mock, + patch("bookwyrm.lists_stream.remove_user_lists_task.delay"), + ): views.inbox.activity_task(activity) self.assertTrue(redis_mock.called) views.inbox.activity_task(activity) diff --git a/bookwyrm/tests/views/inbox/test_inbox_create.py b/bookwyrm/tests/views/inbox/test_inbox_create.py index c2045b092..e8a3a8b12 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_create.py +++ b/bookwyrm/tests/views/inbox/test_inbox_create.py @@ -15,9 +15,11 @@ class TransactionInboxCreate(TransactionTestCase): def setUp(self): """basic user and book data""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): self.local_user = models.User.objects.create_user( "mouse@example.com", "mouse@mouse.com", @@ -72,22 +74,24 @@ class InboxCreate(TestCase): """readthrough tests""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """basic user and book data""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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, update_fields=["remote_id"]) + cls.local_user.remote_id = "https://example.com/user/mouse" + cls.local_user.save(broadcast=False, update_fields=["remote_id"]) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", diff --git a/bookwyrm/tests/views/inbox/test_inbox_delete.py b/bookwyrm/tests/views/inbox/test_inbox_delete.py index 8023308be..a72898857 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_delete.py +++ b/bookwyrm/tests/views/inbox/test_inbox_delete.py @@ -12,22 +12,24 @@ class InboxActivities(TestCase): """inbox tests""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """basic user and book data""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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, update_fields=["remote_id"]) + cls.local_user.remote_id = "https://example.com/user/mouse" + cls.local_user.save(broadcast=False, update_fields=["remote_id"]) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -37,8 +39,8 @@ class InboxActivities(TestCase): outbox="https://example.com/users/rat/outbox", ) with patch("bookwyrm.activitystreams.add_status_task.delay"): - self.status = models.Status.objects.create( - user=self.remote_user, + cls.status = models.Status.objects.create( + user=cls.remote_user, content="Test status", remote_id="https://example.com/status/1", ) diff --git a/bookwyrm/tests/views/inbox/test_inbox_follow.py b/bookwyrm/tests/views/inbox/test_inbox_follow.py index 180a57176..aad52937b 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_follow.py +++ b/bookwyrm/tests/views/inbox/test_inbox_follow.py @@ -12,22 +12,24 @@ class InboxRelationships(TestCase): """inbox tests""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """basic user and book data""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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, update_fields=["remote_id"]) + cls.local_user.remote_id = "https://example.com/user/mouse" + cls.local_user.save(broadcast=False, update_fields=["remote_id"]) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", diff --git a/bookwyrm/tests/views/inbox/test_inbox_like.py b/bookwyrm/tests/views/inbox/test_inbox_like.py index 34c8c830b..2ab8c4701 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_like.py +++ b/bookwyrm/tests/views/inbox/test_inbox_like.py @@ -11,22 +11,24 @@ class InboxActivities(TestCase): """inbox tests""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """basic user and book data""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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, update_fields=["remote_id"]) + cls.local_user.remote_id = "https://example.com/user/mouse" + cls.local_user.save(broadcast=False, update_fields=["remote_id"]) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -36,13 +38,15 @@ class InboxActivities(TestCase): outbox="https://example.com/users/rat/outbox", ) - with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"): - with patch("bookwyrm.activitystreams.add_status_task.delay"): - self.status = models.Status.objects.create( - user=self.local_user, - content="Test status", - remote_id="https://example.com/status/1", - ) + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.activitystreams.add_status_task.delay"), + ): + cls.status = models.Status.objects.create( + user=cls.local_user, + content="Test status", + remote_id="https://example.com/status/1", + ) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/inbox/test_inbox_remove.py b/bookwyrm/tests/views/inbox/test_inbox_remove.py index d80a4fdd7..ab92eb995 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_remove.py +++ b/bookwyrm/tests/views/inbox/test_inbox_remove.py @@ -11,22 +11,24 @@ class InboxRemove(TestCase): """inbox tests""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """basic user and book data""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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, update_fields=["remote_id"]) + cls.local_user.remote_id = "https://example.com/user/mouse" + cls.local_user.save(broadcast=False, update_fields=["remote_id"]) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -36,11 +38,11 @@ class InboxRemove(TestCase): outbox="https://example.com/users/rat/outbox", ) - self.work = models.Work.objects.create(title="work title") - self.book = models.Edition.objects.create( + cls.work = models.Work.objects.create(title="work title") + cls.book = models.Edition.objects.create( title="Test", remote_id="https://bookwyrm.social/book/37292", - parent_work=self.work, + parent_work=cls.work, ) models.SiteSettings.objects.create() @@ -76,9 +78,10 @@ class InboxRemove(TestCase): def test_handle_remove_book_from_list(self): """listing a book""" - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.lists_stream.remove_list_task.delay"): + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.lists_stream.remove_list_task.delay"), + ): booklist = models.List.objects.create( name="test list", user=self.local_user, diff --git a/bookwyrm/tests/views/inbox/test_inbox_update.py b/bookwyrm/tests/views/inbox/test_inbox_update.py index b9f924bad..99f4c2077 100644 --- a/bookwyrm/tests/views/inbox/test_inbox_update.py +++ b/bookwyrm/tests/views/inbox/test_inbox_update.py @@ -13,22 +13,24 @@ class InboxUpdate(TestCase): """inbox tests""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """basic user and book data""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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, update_fields=["remote_id"]) + cls.local_user.remote_id = "https://example.com/user/mouse" + cls.local_user.save(broadcast=False, update_fields=["remote_id"]) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -53,9 +55,10 @@ class InboxUpdate(TestCase): def test_update_list(self): """a new list""" - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.lists_stream.remove_list_task.delay"): + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.lists_stream.remove_list_task.delay"), + ): book_list = models.List.objects.create( name="hi", remote_id="https://example.com/list/22", user=self.local_user ) diff --git a/bookwyrm/tests/views/landing/test_invite.py b/bookwyrm/tests/views/landing/test_invite.py index f7ec73cf4..8adc64f4f 100644 --- a/bookwyrm/tests/views/landing/test_invite.py +++ b/bookwyrm/tests/views/landing/test_invite.py @@ -15,12 +15,14 @@ class InviteViews(TestCase): """every response to a get request, html or json""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", diff --git a/bookwyrm/tests/views/landing/test_landing.py b/bookwyrm/tests/views/landing/test_landing.py index b67857da8..c68c9cd53 100644 --- a/bookwyrm/tests/views/landing/test_landing.py +++ b/bookwyrm/tests/views/landing/test_landing.py @@ -15,12 +15,14 @@ class LandingViews(TestCase): """pages you land on without really trying""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", diff --git a/bookwyrm/tests/views/landing/test_login.py b/bookwyrm/tests/views/landing/test_login.py index 19ad1d2a0..7d4a06612 100644 --- a/bookwyrm/tests/views/landing/test_login.py +++ b/bookwyrm/tests/views/landing/test_login.py @@ -18,12 +18,14 @@ class LoginViews(TestCase): """login and password management""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@your.domain.here", "mouse@mouse.com", "password", @@ -31,14 +33,14 @@ class LoginViews(TestCase): localname="mouse", two_factor_auth=False, ) - self.rat = models.User.objects.create_user( + cls.rat = models.User.objects.create_user( "rat@your.domain.here", "rat@rat.com", "password", local=True, localname="rat", ) - self.badger = models.User.objects.create_user( + cls.badger = models.User.objects.create_user( "badger@your.domain.here", "badger@badger.com", "password", diff --git a/bookwyrm/tests/views/landing/test_password.py b/bookwyrm/tests/views/landing/test_password.py index ceceeb3e4..ad3110b02 100644 --- a/bookwyrm/tests/views/landing/test_password.py +++ b/bookwyrm/tests/views/landing/test_password.py @@ -17,12 +17,14 @@ class PasswordViews(TestCase): """view user and edit profile""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "password", diff --git a/bookwyrm/tests/views/landing/test_register.py b/bookwyrm/tests/views/landing/test_register.py index 381a35a32..7db6775db 100644 --- a/bookwyrm/tests/views/landing/test_register.py +++ b/bookwyrm/tests/views/landing/test_register.py @@ -21,19 +21,21 @@ class RegisterViews(TestCase): """login and password management""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@your.domain.here", "mouse@mouse.com", "password", local=True, localname="mouse", ) - self.settings = models.SiteSettings.objects.create( + cls.settings = models.SiteSettings.objects.create( id=1, require_confirm_email=False, allow_registration=True ) diff --git a/bookwyrm/tests/views/lists/test_curate.py b/bookwyrm/tests/views/lists/test_curate.py index 7fa48f915..af6116efa 100644 --- a/bookwyrm/tests/views/lists/test_curate.py +++ b/bookwyrm/tests/views/lists/test_curate.py @@ -16,12 +16,14 @@ class ListViews(TestCase): """list view""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -30,18 +32,17 @@ class ListViews(TestCase): remote_id="https://example.com/users/mouse", ) work = models.Work.objects.create(title="Work") - self.book = models.Edition.objects.create( + cls.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.apply_async" - ), patch("bookwyrm.lists_stream.remove_list_task.delay"): - self.list = models.List.objects.create( - name="Test List", user=self.local_user - ) + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.lists_stream.remove_list_task.delay"), + ): + cls.list = models.List.objects.create(name="Test List", user=cls.local_user) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/lists/test_embed.py b/bookwyrm/tests/views/lists/test_embed.py index 40c51f5df..2d2d5ec8c 100644 --- a/bookwyrm/tests/views/lists/test_embed.py +++ b/bookwyrm/tests/views/lists/test_embed.py @@ -16,12 +16,14 @@ class ListViews(TestCase): """list view""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -30,18 +32,17 @@ class ListViews(TestCase): remote_id="https://example.com/users/mouse", ) work = models.Work.objects.create(title="Work") - self.book = models.Edition.objects.create( + cls.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.apply_async" - ), patch("bookwyrm.lists_stream.remove_list_task.delay"): - self.list = models.List.objects.create( - name="Test List", user=self.local_user - ) + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.lists_stream.remove_list_task.delay"), + ): + cls.list = models.List.objects.create(name="Test List", user=cls.local_user) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/lists/test_list.py b/bookwyrm/tests/views/lists/test_list.py index b1e7e2acc..6af9d1db1 100644 --- a/bookwyrm/tests/views/lists/test_list.py +++ b/bookwyrm/tests/views/lists/test_list.py @@ -19,12 +19,14 @@ class ListViews(TestCase): """list view""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -32,7 +34,7 @@ class ListViews(TestCase): localname="mouse", remote_id="https://example.com/users/mouse", ) - self.rat = models.User.objects.create_user( + cls.rat = models.User.objects.create_user( "rat@local.com", "rat@rat.com", "ratword", @@ -41,36 +43,35 @@ class ListViews(TestCase): remote_id="https://example.com/users/rat", ) work = models.Work.objects.create(title="Work") - self.book = models.Edition.objects.create( + cls.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( + cls.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( + cls.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( + cls.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.apply_async" - ), patch("bookwyrm.lists_stream.remove_list_task.delay"): - self.list = models.List.objects.create( - name="Test List", user=self.local_user - ) + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.lists_stream.remove_list_task.delay"), + ): + cls.list = models.List.objects.create(name="Test List", user=cls.local_user) models.SiteSettings.objects.create() @@ -248,9 +249,12 @@ class ListViews(TestCase): ) request.user = self.local_user - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ) as mock, patch("bookwyrm.lists_stream.remove_list_task.delay"): + with ( + patch( + "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" + ) as mock, + patch("bookwyrm.lists_stream.remove_list_task.delay"), + ): result = view(request, self.list.id) self.assertEqual(mock.call_count, 1) @@ -286,9 +290,12 @@ class ListViews(TestCase): ) request = self.factory.post("") request.user = self.local_user - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ) as mock, patch("bookwyrm.lists_stream.remove_list_task.delay") as redis_mock: + with ( + patch( + "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" + ) as mock, + patch("bookwyrm.lists_stream.remove_list_task.delay") as redis_mock, + ): views.delete_list(request, self.list.id) self.assertTrue(redis_mock.called) activity = json.loads(mock.call_args[1]["args"][1]) diff --git a/bookwyrm/tests/views/lists/test_list_item.py b/bookwyrm/tests/views/lists/test_list_item.py index ebdbdbc2e..e70eabf1b 100644 --- a/bookwyrm/tests/views/lists/test_list_item.py +++ b/bookwyrm/tests/views/lists/test_list_item.py @@ -13,12 +13,14 @@ class ListItemViews(TestCase): """list view""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -27,17 +29,16 @@ class ListItemViews(TestCase): remote_id="https://example.com/users/mouse", ) work = models.Work.objects.create(title="Work") - self.book = models.Edition.objects.create( + cls.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.apply_async" - ), patch("bookwyrm.lists_stream.remove_list_task.delay"): - self.list = models.List.objects.create( - name="Test List", user=self.local_user - ) + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.lists_stream.remove_list_task.delay"), + ): + cls.list = models.List.objects.create(name="Test List", user=cls.local_user) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/lists/test_lists.py b/bookwyrm/tests/views/lists/test_lists.py index 0d2213ee7..069fd7008 100644 --- a/bookwyrm/tests/views/lists/test_lists.py +++ b/bookwyrm/tests/views/lists/test_lists.py @@ -16,12 +16,14 @@ class ListViews(TestCase): """lists of lists""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -29,7 +31,7 @@ class ListViews(TestCase): localname="mouse", remote_id="https://example.com/users/mouse", ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( "rat@local.com", "rat@rat.com", "ratword", local=True, localname="rat" ) @@ -45,10 +47,10 @@ class ListViews(TestCase): def test_lists_page(self, _): """there are so many views, this just makes sure it LOADS""" view = views.Lists.as_view() - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.lists_stream.add_list_task.delay"), patch( - "bookwyrm.lists_stream.remove_list_task.delay" + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.lists_stream.add_list_task.delay"), + patch("bookwyrm.lists_stream.remove_list_task.delay"), ): models.List.objects.create(name="Public list", user=self.local_user) models.List.objects.create( @@ -72,9 +74,10 @@ class ListViews(TestCase): def test_saved_lists_page(self): """there are so many views, this just makes sure it LOADS""" view = views.SavedLists.as_view() - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.lists_stream.remove_list_task.delay"): + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.lists_stream.remove_list_task.delay"), + ): booklist = models.List.objects.create( name="Public list", user=self.local_user ) @@ -94,9 +97,10 @@ class ListViews(TestCase): def test_saved_lists_page_empty(self): """there are so many views, this just makes sure it LOADS""" view = views.SavedLists.as_view() - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.lists_stream.remove_list_task.delay"): + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.lists_stream.remove_list_task.delay"), + ): models.List.objects.create(name="Public list", user=self.local_user) models.List.objects.create( name="Private list", privacy="direct", user=self.local_user @@ -122,9 +126,10 @@ class ListViews(TestCase): def test_user_lists_page(self): """there are so many views, this just makes sure it LOADS""" view = views.UserLists.as_view() - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.lists_stream.remove_list_task.delay"): + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.lists_stream.remove_list_task.delay"), + ): models.List.objects.create(name="Public list", user=self.local_user) models.List.objects.create( name="Private list", privacy="direct", user=self.local_user @@ -160,9 +165,12 @@ class ListViews(TestCase): }, ) request.user = self.local_user - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ) as mock, patch("bookwyrm.lists_stream.remove_list_task.delay"): + with ( + patch( + "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" + ) as mock, + patch("bookwyrm.lists_stream.remove_list_task.delay"), + ): result = view(request) self.assertEqual(mock.call_count, 1) diff --git a/bookwyrm/tests/views/preferences/test_block.py b/bookwyrm/tests/views/preferences/test_block.py index 86ef95e7e..e20888659 100644 --- a/bookwyrm/tests/views/preferences/test_block.py +++ b/bookwyrm/tests/views/preferences/test_block.py @@ -14,12 +14,14 @@ class BlockViews(TestCase): """view user and edit profile""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", @@ -27,7 +29,7 @@ class BlockViews(TestCase): localname="mouse", ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -65,8 +67,9 @@ class BlockViews(TestCase): request = self.factory.post("") request.user = self.local_user - with patch("bookwyrm.activitystreams.remove_user_statuses_task.delay"), patch( - "bookwyrm.lists_stream.remove_user_lists_task.delay" + with ( + patch("bookwyrm.activitystreams.remove_user_statuses_task.delay"), + patch("bookwyrm.lists_stream.remove_user_lists_task.delay"), ): view(request, self.remote_user.id) block = models.UserBlocks.objects.get() @@ -82,8 +85,9 @@ class BlockViews(TestCase): request = self.factory.post("") request.user = self.local_user - with patch("bookwyrm.activitystreams.add_user_statuses_task.delay"), patch( - "bookwyrm.lists_stream.add_user_lists_task.delay" + with ( + patch("bookwyrm.activitystreams.add_user_statuses_task.delay"), + patch("bookwyrm.lists_stream.add_user_lists_task.delay"), ): views.unblock(request, self.remote_user.id) diff --git a/bookwyrm/tests/views/preferences/test_change_password.py b/bookwyrm/tests/views/preferences/test_change_password.py index 49eac998c..75a17e462 100644 --- a/bookwyrm/tests/views/preferences/test_change_password.py +++ b/bookwyrm/tests/views/preferences/test_change_password.py @@ -13,12 +13,14 @@ class ChangePasswordViews(TestCase): """view user and edit profile""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "password", diff --git a/bookwyrm/tests/views/preferences/test_delete_user.py b/bookwyrm/tests/views/preferences/test_delete_user.py index d97ef0d38..34ab52be4 100644 --- a/bookwyrm/tests/views/preferences/test_delete_user.py +++ b/bookwyrm/tests/views/preferences/test_delete_user.py @@ -17,19 +17,21 @@ class DeleteUserViews(TestCase): """view user and edit profile""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@your.domain.here", "mouse@mouse.mouse", "password", local=True, localname="mouse", ) - self.rat = models.User.objects.create_user( + cls.rat = models.User.objects.create_user( "rat@your.domain.here", "rat@rat.rat", "password", @@ -37,16 +39,17 @@ class DeleteUserViews(TestCase): localname="rat", ) - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="test", parent_work=models.Work.objects.create(title="test work") ) - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.activitystreams.add_book_statuses_task.delay"): + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.activitystreams.add_book_statuses_task.delay"), + ): models.ShelfBook.objects.create( - book=self.book, - user=self.local_user, - shelf=self.local_user.shelf_set.first(), + book=cls.book, + user=cls.local_user, + shelf=cls.local_user.shelf_set.first(), ) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/preferences/test_edit_user.py b/bookwyrm/tests/views/preferences/test_edit_user.py index 1ed4e3240..7872e8f6e 100644 --- a/bookwyrm/tests/views/preferences/test_edit_user.py +++ b/bookwyrm/tests/views/preferences/test_edit_user.py @@ -19,32 +19,35 @@ class EditUserViews(TestCase): """view user and edit profile""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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( + cls.rat = models.User.objects.create_user( "rat@local.com", "rat@rat.rat", "password", local=True, localname="rat" ) - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="test", parent_work=models.Work.objects.create(title="test work") ) - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.activitystreams.add_book_statuses_task.delay"): + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.activitystreams.add_book_statuses_task.delay"), + ): models.ShelfBook.objects.create( - book=self.book, - user=self.local_user, - shelf=self.local_user.shelf_set.first(), + book=cls.book, + user=cls.local_user, + shelf=cls.local_user.shelf_set.first(), ) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/preferences/test_export.py b/bookwyrm/tests/views/preferences/test_export.py index 3f758b2f7..f125e9009 100644 --- a/bookwyrm/tests/views/preferences/test_export.py +++ b/bookwyrm/tests/views/preferences/test_export.py @@ -18,14 +18,13 @@ class ExportViews(TestCase): """viewing and creating statuses""" @classmethod - def setUpTestData( - self, - ): # pylint: disable=bad-classmethod-argument, disable=invalid-name + def setUpTestData(cls): # pylint: disable=invalid-name """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), ): - self.local_user = models.User.objects.create_user( + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -33,11 +32,11 @@ class ExportViews(TestCase): localname="mouse", remote_id="https://example.com/users/mouse", ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.work = models.Work.objects.create(title="Test Work") + cls.book = models.Edition.objects.create( title="Test Book", remote_id="https://example.com/book/1", - parent_work=self.work, + parent_work=cls.work, isbn_13="9781234567890", bnf_id="beep", ) diff --git a/bookwyrm/tests/views/preferences/test_export_user.py b/bookwyrm/tests/views/preferences/test_export_user.py index 654ed2a05..57a7c2ca5 100644 --- a/bookwyrm/tests/views/preferences/test_export_user.py +++ b/bookwyrm/tests/views/preferences/test_export_user.py @@ -15,8 +15,9 @@ class ExportUserViews(TestCase): def setUp(self): self.factory = RequestFactory() models.SiteSettings.objects.create() - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), ): self.local_user = models.User.objects.create_user( "hugh@example.com", diff --git a/bookwyrm/tests/views/preferences/test_two_factor_auth.py b/bookwyrm/tests/views/preferences/test_two_factor_auth.py index dbd9c1f5b..3b16236ed 100644 --- a/bookwyrm/tests/views/preferences/test_two_factor_auth.py +++ b/bookwyrm/tests/views/preferences/test_two_factor_auth.py @@ -18,12 +18,14 @@ class TwoFactorViews(TestCase): """Two Factor Authentication management""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@your.domain.here", "mouse@mouse.com", "password", @@ -130,8 +132,9 @@ class TwoFactorViews(TestCase): request.session["2fa_user"] = self.local_user.username request.session.save() - with patch("bookwyrm.views.preferences.two_factor_auth.LoginWith2FA"), patch( - "bookwyrm.views.preferences.two_factor_auth.login" + with ( + patch("bookwyrm.views.preferences.two_factor_auth.LoginWith2FA"), + patch("bookwyrm.views.preferences.two_factor_auth.login"), ): result = view(request) self.assertEqual(result.url, "/") diff --git a/bookwyrm/tests/views/shelf/test_shelf.py b/bookwyrm/tests/views/shelf/test_shelf.py index b96d0a9ed..9c2b0a645 100644 --- a/bookwyrm/tests/views/shelf/test_shelf.py +++ b/bookwyrm/tests/views/shelf/test_shelf.py @@ -21,12 +21,14 @@ class ShelfViews(TestCase): """tag views""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -34,15 +36,15 @@ class ShelfViews(TestCase): localname="mouse", remote_id="https://example.com/users/mouse", ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.work = models.Work.objects.create(title="Test Work") + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", - parent_work=self.work, + parent_work=cls.work, ) with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"): - self.shelf = models.Shelf.objects.create( - name="Test Shelf", identifier="test-shelf", user=self.local_user + cls.shelf = models.Shelf.objects.create( + name="Test Shelf", identifier="test-shelf", user=cls.local_user ) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/shelf/test_shelf_actions.py b/bookwyrm/tests/views/shelf/test_shelf_actions.py index eea17b62d..d4727d9c5 100644 --- a/bookwyrm/tests/views/shelf/test_shelf_actions.py +++ b/bookwyrm/tests/views/shelf/test_shelf_actions.py @@ -19,12 +19,14 @@ class ShelfActionViews(TestCase): """tag views""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -32,7 +34,7 @@ class ShelfActionViews(TestCase): localname="mouse", remote_id="https://example.com/users/mouse", ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( "rat@local.com", "rat@rat.com", "ratword", @@ -40,15 +42,15 @@ class ShelfActionViews(TestCase): localname="rat", remote_id="https://example.com/users/rat", ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.work = models.Work.objects.create(title="Test Work") + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", - parent_work=self.work, + parent_work=cls.work, ) with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"): - self.shelf = models.Shelf.objects.create( - name="Test Shelf", identifier="test-shelf", user=self.local_user + cls.shelf = models.Shelf.objects.create( + name="Test Shelf", identifier="test-shelf", user=cls.local_user ) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/test_annual_summary.py b/bookwyrm/tests/views/test_annual_summary.py index d51060a72..db8389fc6 100644 --- a/bookwyrm/tests/views/test_annual_summary.py +++ b/bookwyrm/tests/views/test_annual_summary.py @@ -22,12 +22,14 @@ class AnnualSummary(TestCase): """views""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -36,11 +38,11 @@ class AnnualSummary(TestCase): remote_id="https://example.com/users/mouse", summary_keys={"2020": "0123456789"}, ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.work = models.Work.objects.create(title="Test Work") + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", - parent_work=self.work, + parent_work=cls.work, pages=300, ) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/test_author.py b/bookwyrm/tests/views/test_author.py index 669149af2..ed65fc30b 100644 --- a/bookwyrm/tests/views/test_author.py +++ b/bookwyrm/tests/views/test_author.py @@ -17,12 +17,14 @@ class AuthorViews(TestCase): """author views""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -30,19 +32,19 @@ class AuthorViews(TestCase): localname="mouse", remote_id="https://example.com/users/mouse", ) - self.group = Group.objects.create(name="editor") - self.group.permissions.add( + cls.group = Group.objects.create(name="editor") + cls.group.permissions.add( Permission.objects.create( name="edit_book", codename="edit_book", 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( + cls.work = models.Work.objects.create(title="Test Work") + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", - parent_work=self.work, + parent_work=cls.work, ) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/test_directory.py b/bookwyrm/tests/views/test_directory.py index 7e9e97522..a169551ac 100644 --- a/bookwyrm/tests/views/test_directory.py +++ b/bookwyrm/tests/views/test_directory.py @@ -14,12 +14,14 @@ class DirectoryViews(TestCase): """tag views""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", diff --git a/bookwyrm/tests/views/test_discover.py b/bookwyrm/tests/views/test_discover.py index 9aa139074..15732b924 100644 --- a/bookwyrm/tests/views/test_discover.py +++ b/bookwyrm/tests/views/test_discover.py @@ -12,12 +12,14 @@ class DiscoverViews(TestCase): """pages you land on without really trying""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", diff --git a/bookwyrm/tests/views/test_feed.py b/bookwyrm/tests/views/test_feed.py index 33dbd4ea5..a57be1023 100644 --- a/bookwyrm/tests/views/test_feed.py +++ b/bookwyrm/tests/views/test_feed.py @@ -25,26 +25,28 @@ class FeedViews(TestCase): """activity feed, statuses, dms""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", local=True, localname="mouse", ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( "nutria@local.com", "nutria@nutria.nutria", "password", local=True, localname="nutria", ) - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( parent_work=models.Work.objects.create(title="hi"), title="Example Edition", remote_id="https://example.com/book/1", diff --git a/bookwyrm/tests/views/test_follow.py b/bookwyrm/tests/views/test_follow.py index e70ace769..c26a9372a 100644 --- a/bookwyrm/tests/views/test_follow.py +++ b/bookwyrm/tests/views/test_follow.py @@ -18,13 +18,15 @@ class FollowViews(TestCase): """follows""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" models.SiteSettings.objects.create() - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -33,7 +35,7 @@ class FollowViews(TestCase): remote_id="https://example.com/users/mouse", ) with patch("bookwyrm.models.user.set_remote_server"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@email.com", "ratword", @@ -42,19 +44,19 @@ class FollowViews(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - self.group = Group.objects.create(name="editor") - self.group.permissions.add( + cls.group = Group.objects.create(name="editor") + cls.group.permissions.add( Permission.objects.create( name="edit_book", codename="edit_book", 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( + cls.work = models.Work.objects.create(title="Test Work") + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", - parent_work=self.work, + parent_work=cls.work, ) def setUp(self): @@ -78,9 +80,11 @@ class FollowViews(TestCase): def test_handle_follow_local_manually_approves(self, *_): """send a follow request""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): rat = models.User.objects.create_user( "rat@local.com", "rat@rat.com", @@ -104,9 +108,11 @@ class FollowViews(TestCase): def test_handle_follow_local(self, *_): """send a follow request""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): rat = models.User.objects.create_user( "rat@local.com", "rat@rat.com", diff --git a/bookwyrm/tests/views/test_get_started.py b/bookwyrm/tests/views/test_get_started.py index 84a49cafc..b33948c19 100644 --- a/bookwyrm/tests/views/test_get_started.py +++ b/bookwyrm/tests/views/test_get_started.py @@ -13,26 +13,28 @@ class GetStartedViews(TestCase): """helping new users get oriented""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", local=True, localname="mouse", ) - self.local_user = models.User.objects.create_user( + cls.local_user = models.User.objects.create_user( "rat@local.com", "rat@rat.rat", "password", local=True, localname="rat", ) - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( parent_work=models.Work.objects.create(title="hi"), title="Example Edition", remote_id="https://example.com/book/1", diff --git a/bookwyrm/tests/views/test_goal.py b/bookwyrm/tests/views/test_goal.py index 3d87d8538..d682b727d 100644 --- a/bookwyrm/tests/views/test_goal.py +++ b/bookwyrm/tests/views/test_goal.py @@ -16,12 +16,14 @@ class GoalViews(TestCase): """viewing and creating statuses""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -29,7 +31,7 @@ class GoalViews(TestCase): localname="mouse", remote_id="https://example.com/users/mouse", ) - self.rat = models.User.objects.create_user( + cls.rat = models.User.objects.create_user( "rat@local.com", "rat@rat.com", "ratword", @@ -37,7 +39,7 @@ class GoalViews(TestCase): localname="rat", remote_id="https://example.com/users/rat", ) - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", ) diff --git a/bookwyrm/tests/views/test_group.py b/bookwyrm/tests/views/test_group.py index 4d678c31a..90223f74a 100644 --- a/bookwyrm/tests/views/test_group.py +++ b/bookwyrm/tests/views/test_group.py @@ -17,19 +17,21 @@ class GroupViews(TestCase): """view group and edit details""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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( + cls.rat = models.User.objects.create_user( "rat@local.com", "rat@rat.rat", "password", @@ -37,14 +39,14 @@ class GroupViews(TestCase): localname="rat", ) - self.testgroup = models.Group.objects.create( + cls.testgroup = models.Group.objects.create( name="Test Group", description="Initial description", - user=self.local_user, + user=cls.local_user, privacy="public", ) - self.membership = models.GroupMember.objects.create( - group=self.testgroup, user=self.local_user + cls.membership = models.GroupMember.objects.create( + group=cls.testgroup, user=cls.local_user ) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/test_hashtag.py b/bookwyrm/tests/views/test_hashtag.py index 1c8b31dce..d9679fe5a 100644 --- a/bookwyrm/tests/views/test_hashtag.py +++ b/bookwyrm/tests/views/test_hashtag.py @@ -15,11 +15,13 @@ class HashtagView(TestCase): """hashtag view""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + def setUpTestData(cls): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -27,7 +29,7 @@ class HashtagView(TestCase): localname="mouse", remote_id="https://example.com/users/mouse", ) - self.follower_user = models.User.objects.create_user( + cls.follower_user = models.User.objects.create_user( "follower@local.com", "follower@email.com", "followerword", @@ -35,8 +37,8 @@ class HashtagView(TestCase): localname="follower", remote_id="https://example.com/users/follower", ) - self.local_user.followers.add(self.follower_user) - self.other_user = models.User.objects.create_user( + cls.local_user.followers.add(cls.follower_user) + cls.other_user = models.User.objects.create_user( "other@local.com", "other@email.com", "otherword", @@ -45,24 +47,25 @@ class HashtagView(TestCase): remote_id="https://example.com/users/other", ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.work = models.Work.objects.create(title="Test Work") + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", - parent_work=self.work, + parent_work=cls.work, ) - self.hashtag_bookclub = models.Hashtag.objects.create(name="#BookClub") - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.activitystreams.add_status_task.delay"): - self.statuses_bookclub = [ + cls.hashtag_bookclub = models.Hashtag.objects.create(name="#BookClub") + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.activitystreams.add_status_task.delay"), + ): + cls.statuses_bookclub = [ models.Comment.objects.create( - book=self.book, user=self.local_user, content="#BookClub" + book=cls.book, user=cls.local_user, content="#BookClub" ), ] - for status in self.statuses_bookclub: - status.mention_hashtags.add(self.hashtag_bookclub) + for status in cls.statuses_bookclub: + status.mention_hashtags.add(cls.hashtag_bookclub) models.SiteSettings.objects.create() @@ -91,9 +94,10 @@ class HashtagView(TestCase): request = self.factory.get("") hashtag = models.Hashtag.objects.create(name="#test") - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.activitystreams.add_status_task.delay"): + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.activitystreams.add_status_task.delay"), + ): status = models.Comment.objects.create( user=self.local_user, book=self.book, content="#test", privacy="direct" ) @@ -115,9 +119,10 @@ class HashtagView(TestCase): request = self.factory.get("") hashtag = models.Hashtag.objects.create(name="#test") - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.activitystreams.add_status_task.delay"): + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.activitystreams.add_status_task.delay"), + ): status = models.Comment.objects.create( user=self.local_user, book=self.book, @@ -143,9 +148,10 @@ class HashtagView(TestCase): request = self.factory.get("") hashtag = models.Hashtag.objects.create(name="#test") - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.activitystreams.add_status_task.delay"): + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.activitystreams.add_status_task.delay"), + ): status = models.Comment.objects.create( user=self.local_user, book=self.book, diff --git a/bookwyrm/tests/views/test_helpers.py b/bookwyrm/tests/views/test_helpers.py index 9472cf762..818647db1 100644 --- a/bookwyrm/tests/views/test_helpers.py +++ b/bookwyrm/tests/views/test_helpers.py @@ -19,42 +19,46 @@ class ViewsHelpers(TestCase): # pylint: disable=too-many-public-methods """viewing and creating statuses""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - with patch("bookwyrm.suggested_users.rerank_user_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.models.user.set_remote_server.delay"): - with patch("bookwyrm.suggested_users.rerank_user_task.delay"): - self.remote_user = models.User.objects.create_user( - "rat", - "rat@rat.com", - "ratword", - local=False, - remote_id="https://example.com/users/rat", - discoverable=True, - inbox="https://example.com/users/rat/inbox", - outbox="https://example.com/users/rat/outbox", - ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + patch("bookwyrm.suggested_users.rerank_user_task.delay"), + ): + cls.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.models.user.set_remote_server.delay"), + patch("bookwyrm.suggested_users.rerank_user_task.delay"), + ): + cls.remote_user = models.User.objects.create_user( + "rat", + "rat@rat.com", + "ratword", + local=False, + remote_id="https://example.com/users/rat", + discoverable=True, + inbox="https://example.com/users/rat/inbox", + outbox="https://example.com/users/rat/outbox", + ) + cls.work = models.Work.objects.create(title="Test Work") + cls.book = models.Edition.objects.create( title="Test Book", remote_id="https://example.com/book/1", - parent_work=self.work, + parent_work=cls.work, ) with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"): - self.shelf = models.Shelf.objects.create( - name="Test Shelf", identifier="test-shelf", user=self.local_user + cls.shelf = models.Shelf.objects.create( + name="Test Shelf", identifier="test-shelf", user=cls.local_user ) def setUp(self): diff --git a/bookwyrm/tests/views/test_interaction.py b/bookwyrm/tests/views/test_interaction.py index 1565b96a8..d1533c451 100644 --- a/bookwyrm/tests/views/test_interaction.py +++ b/bookwyrm/tests/views/test_interaction.py @@ -13,12 +13,14 @@ class InteractionViews(TestCase): """viewing and creating statuses""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -27,7 +29,7 @@ class InteractionViews(TestCase): remote_id="https://example.com/users/mouse", ) with patch("bookwyrm.models.user.set_remote_server"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@email.com", "ratword", @@ -37,7 +39,7 @@ class InteractionViews(TestCase): outbox="https://example.com/users/rat/outbox", ) work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", parent_work=work, diff --git a/bookwyrm/tests/views/test_isbn.py b/bookwyrm/tests/views/test_isbn.py index ca451bef8..632a831b0 100644 --- a/bookwyrm/tests/views/test_isbn.py +++ b/bookwyrm/tests/views/test_isbn.py @@ -15,12 +15,14 @@ class IsbnViews(TestCase): """tag views""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -28,12 +30,12 @@ class IsbnViews(TestCase): localname="mouse", remote_id="https://example.com/users/mouse", ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.work = models.Work.objects.create(title="Test Work") + cls.book = models.Edition.objects.create( title="Test Book", isbn_13="1234567890123", remote_id="https://example.com/book/1", - parent_work=self.work, + parent_work=cls.work, ) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/test_notifications.py b/bookwyrm/tests/views/test_notifications.py index 8d239d77a..878a64c2c 100644 --- a/bookwyrm/tests/views/test_notifications.py +++ b/bookwyrm/tests/views/test_notifications.py @@ -13,25 +13,25 @@ class NotificationViews(TestCase): """notifications""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", local=True, localname="mouse", ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( "rat", "rat@rat.rat", "ratword", local=True, localname="rat" ) with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"): - self.status = models.Status.objects.create( - content="hi", user=self.local_user - ) + cls.status = models.Status.objects.create(content="hi", user=cls.local_user) models.SiteSettings.objects.create() def setUp(self): @@ -148,9 +148,10 @@ class NotificationViews(TestCase): def test_notifications_page_list(self): """Adding books to lists""" book = models.Edition.objects.create(title="shape") - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.lists_stream.remove_list_task.delay"): + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.lists_stream.remove_list_task.delay"), + ): book_list = models.List.objects.create(user=self.local_user, name="hi") item = models.ListItem.objects.create( book=book, user=self.another_user, book_list=book_list, order=1 diff --git a/bookwyrm/tests/views/test_outbox.py b/bookwyrm/tests/views/test_outbox.py index 78c4d0edc..b21d56c83 100644 --- a/bookwyrm/tests/views/test_outbox.py +++ b/bookwyrm/tests/views/test_outbox.py @@ -16,12 +16,14 @@ class OutboxView(TestCase): """sends out activities""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we'll need some data""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -30,7 +32,7 @@ class OutboxView(TestCase): remote_id="https://example.com/users/mouse", ) work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", parent_work=work, diff --git a/bookwyrm/tests/views/test_reading.py b/bookwyrm/tests/views/test_reading.py index fab1c1fc9..139d91820 100644 --- a/bookwyrm/tests/views/test_reading.py +++ b/bookwyrm/tests/views/test_reading.py @@ -16,12 +16,14 @@ class ReadingViews(TestCase): """viewing and creating statuses""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -30,7 +32,7 @@ class ReadingViews(TestCase): remote_id="https://example.com/users/mouse", ) with patch("bookwyrm.models.user.set_remote_server.delay"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@rat.com", "ratword", @@ -39,11 +41,11 @@ class ReadingViews(TestCase): inbox="https://example.com/users/rat/inbox", outbox="https://example.com/users/rat/outbox", ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.work = models.Work.objects.create(title="Test Work") + cls.book = models.Edition.objects.create( title="Test Book", remote_id="https://example.com/book/1", - parent_work=self.work, + parent_work=cls.work, ) def setUp(self): diff --git a/bookwyrm/tests/views/test_readthrough.py b/bookwyrm/tests/views/test_readthrough.py index 4f5b1e478..c71ee6c58 100644 --- a/bookwyrm/tests/views/test_readthrough.py +++ b/bookwyrm/tests/views/test_readthrough.py @@ -16,18 +16,20 @@ class ReadThrough(TestCase): """readthrough tests""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """basic user and book data""" - self.work = models.Work.objects.create(title="Example Work") + cls.work = models.Work.objects.create(title="Example Work") - self.edition = models.Edition.objects.create( - title="Example Edition", parent_work=self.work + cls.edition = models.Edition.objects.create( + title="Example Edition", parent_work=cls.work ) - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.user = models.User.objects.create_user( "cinco", "cinco@example.com", "seissiete", local=True, localname="cinco" ) diff --git a/bookwyrm/tests/views/test_report.py b/bookwyrm/tests/views/test_report.py index 3e4c64f68..f07887bfe 100644 --- a/bookwyrm/tests/views/test_report.py +++ b/bookwyrm/tests/views/test_report.py @@ -12,30 +12,33 @@ class ReportViews(TestCase): """every response to a get request, html or json""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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( + cls.rat = models.User.objects.create_user( "rat@local.com", "rat@mouse.mouse", "password", local=True, localname="rat", ) - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.activitystreams.add_status_task.delay"): - self.status = models.Status.objects.create( - user=self.local_user, + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.activitystreams.add_status_task.delay"), + ): + cls.status = models.Status.objects.create( + user=cls.local_user, content="Test status", ) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/test_rss_feed.py b/bookwyrm/tests/views/test_rss_feed.py index a63bdea94..790efe51b 100644 --- a/bookwyrm/tests/views/test_rss_feed.py +++ b/bookwyrm/tests/views/test_rss_feed.py @@ -13,15 +13,17 @@ class RssFeedView(TestCase): """rss feed behaves as expected""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + def setUpTestData(cls): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_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( + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", parent_work=work, diff --git a/bookwyrm/tests/views/test_search.py b/bookwyrm/tests/views/test_search.py index 425b96cd3..64ff68ba8 100644 --- a/bookwyrm/tests/views/test_search.py +++ b/bookwyrm/tests/views/test_search.py @@ -18,12 +18,14 @@ class Views(TestCase): """tag views""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -31,11 +33,11 @@ class Views(TestCase): localname="mouse", remote_id="https://example.com/users/mouse", ) - self.work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.work = models.Work.objects.create(title="Test Work") + cls.book = models.Edition.objects.create( title="Test Book", remote_id="https://example.com/book/1", - parent_work=self.work, + parent_work=cls.work, ) models.SiteSettings.objects.create() @@ -164,9 +166,10 @@ class Views(TestCase): def test_search_lists(self): """searches remote connectors""" - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.lists_stream.remove_list_task.delay"): + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.lists_stream.remove_list_task.delay"), + ): booklist = models.List.objects.create( user=self.local_user, name="test list" ) diff --git a/bookwyrm/tests/views/test_setup.py b/bookwyrm/tests/views/test_setup.py index d2bdba340..7547b5646 100644 --- a/bookwyrm/tests/views/test_setup.py +++ b/bookwyrm/tests/views/test_setup.py @@ -14,9 +14,9 @@ class SetupViews(TestCase): """activity feed, statuses, dms""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - self.site = models.SiteSettings.objects.create(install_mode=True) + cls.site = models.SiteSettings.objects.create(install_mode=True) def setUp(self): """individual test setup""" diff --git a/bookwyrm/tests/views/test_status.py b/bookwyrm/tests/views/test_status.py index 7b0c39338..52582a235 100644 --- a/bookwyrm/tests/views/test_status.py +++ b/bookwyrm/tests/views/test_status.py @@ -19,9 +19,11 @@ class StatusTransactions(TransactionTestCase): def setUp(self): """we need basic test data and mocks""" self.factory = RequestFactory() - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): self.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", @@ -75,12 +77,14 @@ class StatusViews(TestCase): """viewing and creating statuses""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.com", "mouseword", @@ -88,16 +92,16 @@ class StatusViews(TestCase): localname="mouse", remote_id="https://example.com/users/mouse", ) - self.another_user = models.User.objects.create_user( + cls.another_user = models.User.objects.create_user( f"nutria@{DOMAIN}", "nutria@nutria.com", "password", local=True, localname="nutria", ) - self.existing_hashtag = models.Hashtag.objects.create(name="#existing") + cls.existing_hashtag = models.Hashtag.objects.create(name="#existing") with patch("bookwyrm.models.user.set_remote_server"): - self.remote_user = models.User.objects.create_user( + cls.remote_user = models.User.objects.create_user( "rat", "rat@email.com", "ratword", @@ -107,7 +111,7 @@ class StatusViews(TestCase): outbox="https://example.com/users/rat/outbox", ) work = models.Work.objects.create(title="Test Work") - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="Example Edition", remote_id="https://example.com/book/1", parent_work=work, diff --git a/bookwyrm/tests/views/test_updates.py b/bookwyrm/tests/views/test_updates.py index 37cb2e6c6..7230f3324 100644 --- a/bookwyrm/tests/views/test_updates.py +++ b/bookwyrm/tests/views/test_updates.py @@ -13,12 +13,14 @@ class UpdateViews(TestCase): """lets the ui check for unread notification""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password", diff --git a/bookwyrm/tests/views/test_user.py b/bookwyrm/tests/views/test_user.py index d4e11ff2e..362d04feb 100644 --- a/bookwyrm/tests/views/test_user.py +++ b/bookwyrm/tests/views/test_user.py @@ -16,33 +16,35 @@ class UserViews(TestCase): """view user and edit profile""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.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( + cls.rat = models.User.objects.create_user( "rat@local.com", "rat@rat.rat", "password", local=True, localname="rat" ) - self.book = models.Edition.objects.create( + cls.book = models.Edition.objects.create( title="test", parent_work=models.Work.objects.create(title="test work") ) - with patch( - "bookwyrm.models.activitypub_mixin.broadcast_task.apply_async" - ), patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.add_book_statuses_task.delay" + with ( + patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.add_book_statuses_task.delay"), ): models.ShelfBook.objects.create( - book=self.book, - user=self.local_user, - shelf=self.local_user.shelf_set.first(), + book=cls.book, + user=cls.local_user, + shelf=cls.local_user.shelf_set.first(), ) models.SiteSettings.objects.create() diff --git a/bookwyrm/tests/views/test_wellknown.py b/bookwyrm/tests/views/test_wellknown.py index 4617942fa..444d88d17 100644 --- a/bookwyrm/tests/views/test_wellknown.py +++ b/bookwyrm/tests/views/test_wellknown.py @@ -14,12 +14,14 @@ class WellknownViews(TestCase): """view user and edit profile""" @classmethod - def setUpTestData(self): # pylint: disable=bad-classmethod-argument + def setUpTestData(cls): """we need basic test data and mocks""" - with patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch( - "bookwyrm.activitystreams.populate_stream_task.delay" - ), patch("bookwyrm.lists_stream.populate_lists_task.delay"): - self.local_user = models.User.objects.create_user( + with ( + patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), + patch("bookwyrm.activitystreams.populate_stream_task.delay"), + patch("bookwyrm.lists_stream.populate_lists_task.delay"), + ): + cls.local_user = models.User.objects.create_user( "mouse@local.com", "mouse@mouse.mouse", "password",