Remove nesting in several with..patch calls

This commit is contained in:
Adeodato Simó 2024-03-17 20:36:48 -03:00
parent 1b9e0546e6
commit 4b9fe0af0c
9 changed files with 100 additions and 94 deletions

View file

@ -234,10 +234,12 @@ class BaseActivity(TestCase):
) )
# sets the celery task call to the function call # sets the celery task call to the function call
with patch("bookwyrm.activitypub.base_activity.set_related_field.delay"): with (
with patch("bookwyrm.models.status.Status.ignore_activity") as discarder: patch("bookwyrm.activitypub.base_activity.set_related_field.delay"),
discarder.return_value = False patch("bookwyrm.models.status.Status.ignore_activity") as discarder,
update_data.to_model(model=models.Status, instance=status) ):
discarder.return_value = False
update_data.to_model(model=models.Status, instance=status)
self.assertIsNone(status.attachments.first()) self.assertIsNone(status.attachments.first())
@responses.activate @responses.activate

View file

@ -268,9 +268,11 @@ class GenericImporter(TestCase):
import_item.book = self.book import_item.book = self.book
import_item.save() import_item.save()
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"): with (
with patch("bookwyrm.models.Status.broadcast") as broadcast_mock: patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"),
handle_imported_book(import_item) patch("bookwyrm.models.Status.broadcast") as broadcast_mock,
):
handle_imported_book(import_item)
kwargs = broadcast_mock.call_args.kwargs kwargs = broadcast_mock.call_args.kwargs
self.assertEqual(kwargs["software"], "bookwyrm") self.assertEqual(kwargs["software"], "bookwyrm")
review = models.Review.objects.get(book=self.book, user=self.local_user) review = models.Review.objects.get(book=self.book, user=self.local_user)

View file

@ -24,7 +24,6 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods
patch("bookwyrm.lists_stream.populate_lists_task.delay"), patch("bookwyrm.lists_stream.populate_lists_task.delay"),
patch("bookwyrm.suggested_users.rerank_user_task.delay"), patch("bookwyrm.suggested_users.rerank_user_task.delay"),
): ):
self.local_user = models.User.objects.create_user( self.local_user = models.User.objects.create_user(
"mouse", "mouse",
"mouse@mouse.mouse", "mouse@mouse.mouse",
@ -84,13 +83,13 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods
patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"),
patch("bookwyrm.suggested_users.rerank_user_task.delay"), patch("bookwyrm.suggested_users.rerank_user_task.delay"),
): ):
with (
with open(self.archive_file, "rb") as fileobj: open(self.archive_file, "rb") as fileobj,
with BookwyrmTarFile.open(mode="r:gz", fileobj=fileobj) as tarfile: BookwyrmTarFile.open(mode="r:gz", fileobj=fileobj) as tarfile,
):
models.bookwyrm_import_job.update_user_profile( models.bookwyrm_import_job.update_user_profile(
self.local_user, tarfile, self.json_data self.local_user, tarfile, self.json_data
) )
self.local_user.refresh_from_db() self.local_user.refresh_from_db()
@ -111,7 +110,6 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods
patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"),
patch("bookwyrm.suggested_users.rerank_user_task.delay"), patch("bookwyrm.suggested_users.rerank_user_task.delay"),
): ):
models.bookwyrm_import_job.update_user_settings( models.bookwyrm_import_job.update_user_settings(
self.local_user, self.json_data self.local_user, self.json_data
) )
@ -256,14 +254,15 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods
self.assertEqual(models.Edition.objects.count(), 1) self.assertEqual(models.Edition.objects.count(), 1)
with open(self.archive_file, "rb") as fileobj: with (
with BookwyrmTarFile.open(mode="r:gz", fileobj=fileobj) as tarfile: 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.assertEqual(models.Edition.objects.count(), 1)
self.json_data["books"][1], tarfile
) # Sand Talk
self.assertEqual(models.Edition.objects.count(), 1)
def test_get_or_create_edition_not_existing(self): def test_get_or_create_edition_not_existing(self):
"""Test take a JSON string of books and editions, """Test take a JSON string of books and editions,
@ -272,12 +271,13 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods
self.assertEqual(models.Edition.objects.count(), 1) self.assertEqual(models.Edition.objects.count(), 1)
with open(self.archive_file, "rb") as fileobj: with (
with BookwyrmTarFile.open(mode="r:gz", fileobj=fileobj) as tarfile: 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 bookwyrm_import_job.get_or_create_edition(
) # Seeing like a state self.json_data["books"][0], tarfile
) # Seeing like a state
self.assertTrue(models.Edition.objects.filter(isbn_13="9780300070163").exists()) self.assertTrue(models.Edition.objects.filter(isbn_13="9780300070163").exists())
self.assertEqual(models.Edition.objects.count(), 2) self.assertEqual(models.Edition.objects.count(), 2)
@ -326,7 +326,6 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods
patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"),
patch("bookwyrm.models.bookwyrm_import_job.is_alias", return_value=True), patch("bookwyrm.models.bookwyrm_import_job.is_alias", return_value=True),
): ):
bookwyrm_import_job.upsert_statuses( bookwyrm_import_job.upsert_statuses(
self.local_user, models.Review, reviews, self.book.remote_id self.local_user, models.Review, reviews, self.book.remote_id
) )
@ -364,7 +363,6 @@ class BookwyrmImport(TestCase): # pylint: disable=too-many-public-methods
patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"), patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"),
patch("bookwyrm.models.bookwyrm_import_job.is_alias", return_value=True), patch("bookwyrm.models.bookwyrm_import_job.is_alias", return_value=True),
): ):
bookwyrm_import_job.upsert_statuses( bookwyrm_import_job.upsert_statuses(
self.local_user, models.Comment, comments, self.book.remote_id self.local_user, models.Comment, comments, self.book.remote_id
) )

View file

@ -194,14 +194,16 @@ class ImportJob(TestCase):
status=200, status=200,
) )
with patch("bookwyrm.connectors.abstract_connector.load_more_data.delay"): with (
with patch( patch("bookwyrm.connectors.abstract_connector.load_more_data.delay"),
patch(
"bookwyrm.connectors.connector_manager.first_search_result" "bookwyrm.connectors.connector_manager.first_search_result"
) as search: ) as search,
search.return_value = result ):
with patch( search.return_value = result
"bookwyrm.connectors.openlibrary.Connector.get_authors_from_data" with patch(
): "bookwyrm.connectors.openlibrary.Connector.get_authors_from_data"
book = item.get_book_from_identifier() ):
book = item.get_book_from_identifier()
self.assertEqual(book.title, "Sabriel") self.assertEqual(book.title, "Sabriel")

View file

@ -91,9 +91,11 @@ class Signature(TestCase):
signature = make_signature( signature = make_signature(
"post", signer or sender, self.rat.inbox, now, digest=digest "post", signer or sender, self.rat.inbox, now, digest=digest
) )
with patch("bookwyrm.views.inbox.activity_task.apply_async"): with (
with patch("bookwyrm.models.user.set_remote_server.delay"): patch("bookwyrm.views.inbox.activity_task.apply_async"),
return self.send(signature, now, send_data or data, digest) patch("bookwyrm.models.user.set_remote_server.delay"),
):
return self.send(signature, now, send_data or data, digest)
def test_correct_signature(self): def test_correct_signature(self):
"""this one should just work""" """this one should just work"""

View file

@ -39,13 +39,15 @@ class InboxActivities(TestCase):
outbox="https://example.com/users/rat/outbox", outbox="https://example.com/users/rat/outbox",
) )
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"): with (
with patch("bookwyrm.activitystreams.add_status_task.delay"): patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"),
self.status = models.Status.objects.create( patch("bookwyrm.activitystreams.add_status_task.delay"),
user=self.local_user, ):
content="Test status", self.status = models.Status.objects.create(
remote_id="https://example.com/status/1", user=self.local_user,
) content="Test status",
remote_id="https://example.com/status/1",
)
models.SiteSettings.objects.create() models.SiteSettings.objects.create()

View file

@ -38,13 +38,15 @@ class InboxActivities(TestCase):
outbox="https://example.com/users/rat/outbox", outbox="https://example.com/users/rat/outbox",
) )
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"): with (
with patch("bookwyrm.activitystreams.add_status_task.delay"): patch("bookwyrm.models.activitypub_mixin.broadcast_task.apply_async"),
self.status = models.Status.objects.create( patch("bookwyrm.activitystreams.add_status_task.delay"),
user=self.local_user, ):
content="Test status", self.status = models.Status.objects.create(
remote_id="https://example.com/status/1", user=self.local_user,
) content="Test status",
remote_id="https://example.com/status/1",
)
models.SiteSettings.objects.create() models.SiteSettings.objects.create()

View file

@ -25,29 +25,31 @@ class ViewsHelpers(TestCase): # pylint: disable=too-many-public-methods
patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"), patch("bookwyrm.suggested_users.rerank_suggestions_task.delay"),
patch("bookwyrm.activitystreams.populate_stream_task.delay"), patch("bookwyrm.activitystreams.populate_stream_task.delay"),
patch("bookwyrm.lists_stream.populate_lists_task.delay"), patch("bookwyrm.lists_stream.populate_lists_task.delay"),
patch("bookwyrm.suggested_users.rerank_user_task.delay"),
): ):
with patch("bookwyrm.suggested_users.rerank_user_task.delay"): self.local_user = models.User.objects.create_user(
self.local_user = models.User.objects.create_user( "mouse@local.com",
"mouse@local.com", "mouse@mouse.com",
"mouse@mouse.com", "mouseword",
"mouseword", local=True,
local=True, discoverable=True,
discoverable=True, localname="mouse",
localname="mouse", remote_id="https://example.com/users/mouse",
remote_id="https://example.com/users/mouse", )
) with (
with patch("bookwyrm.models.user.set_remote_server.delay"): patch("bookwyrm.models.user.set_remote_server.delay"),
with patch("bookwyrm.suggested_users.rerank_user_task.delay"): patch("bookwyrm.suggested_users.rerank_user_task.delay"),
self.remote_user = models.User.objects.create_user( ):
"rat", self.remote_user = models.User.objects.create_user(
"rat@rat.com", "rat",
"ratword", "rat@rat.com",
local=False, "ratword",
remote_id="https://example.com/users/rat", local=False,
discoverable=True, remote_id="https://example.com/users/rat",
inbox="https://example.com/users/rat/inbox", discoverable=True,
outbox="https://example.com/users/rat/outbox", inbox="https://example.com/users/rat/inbox",
) outbox="https://example.com/users/rat/outbox",
)
self.work = models.Work.objects.create(title="Test Work") self.work = models.Work.objects.create(title="Test Work")
self.book = models.Edition.objects.create( self.book = models.Edition.objects.create(
title="Test Book", title="Test Book",

View file

@ -56,14 +56,11 @@ class UpdateViews(TestCase):
request = self.factory.get("") request = self.factory.get("")
request.user = self.local_user request.user = self.local_user
with ( with patch(
patch( "bookwyrm.activitystreams.ActivityStream.get_unread_count"
"bookwyrm.activitystreams.ActivityStream.get_unread_count" ) as mock_count, patch(
) as mock_count, "bookwyrm.activitystreams.ActivityStream.get_unread_count_by_status_type"
patch( ) as mock_count_by_status:
"bookwyrm.activitystreams.ActivityStream.get_unread_count_by_status_type"
) as mock_count_by_status,
):
mock_count.return_value = 3 mock_count.return_value = 3
mock_count_by_status.return_value = {"review": 5} mock_count_by_status.return_value = {"review": 5}
result = views.get_unread_status_string(request, "home") result = views.get_unread_status_string(request, "home")
@ -78,14 +75,11 @@ class UpdateViews(TestCase):
request = self.factory.get("") request = self.factory.get("")
request.user = self.local_user request.user = self.local_user
with ( with patch(
patch( "bookwyrm.activitystreams.ActivityStream.get_unread_count"
"bookwyrm.activitystreams.ActivityStream.get_unread_count" ) as mock_count, patch(
) as mock_count, "bookwyrm.activitystreams.ActivityStream.get_unread_count_by_status_type"
patch( ) as mock_count_by_status:
"bookwyrm.activitystreams.ActivityStream.get_unread_count_by_status_type"
) as mock_count_by_status,
):
mock_count.return_value = 3 mock_count.return_value = 3
mock_count_by_status.return_value = { mock_count_by_status.return_value = {
"generated_note": 1, "generated_note": 1,