More tests

This commit is contained in:
Mouse Reeve 2021-09-06 11:55:04 -07:00
parent d212cbfd3c
commit ae81d6cf71
3 changed files with 32 additions and 8 deletions

View file

@ -369,6 +369,16 @@ class OrderedCollectionMixin(OrderedCollectionPageMixin):
if self.user.local and broadcast: if self.user.local and broadcast:
self.broadcast(activity, self.user) self.broadcast(activity, self.user)
def to_delete_activity(self, user):
"""notice of deletion"""
return activitypub.Delete(
id=self.remote_id + "/activity",
actor=user.remote_id,
to=["%s/followers" % user.remote_id],
cc=["https://www.w3.org/ns/activitystreams#Public"],
object=self.remote_id,
).serialize()
class CollectionItemMixin(ActivitypubMixin): class CollectionItemMixin(ActivitypubMixin):
"""for items that are part of an (Ordered)Collection""" """for items that are part of an (Ordered)Collection"""

View file

@ -40,14 +40,6 @@ class InboxActivities(TestCase):
remote_id="https://example.com/status/1", remote_id="https://example.com/status/1",
) )
self.create_json = {
"id": "hi",
"type": "Create",
"actor": "hi",
"to": ["https://www.w3.org/ns/activitystreams#public"],
"cc": ["https://example.com/user/mouse/followers"],
"object": {},
}
models.SiteSettings.objects.create() models.SiteSettings.objects.create()
def test_delete_status(self): def test_delete_status(self):
@ -137,3 +129,20 @@ class InboxActivities(TestCase):
# nothing happens. # nothing happens.
views.inbox.activity_task(activity) views.inbox.activity_task(activity)
self.assertEqual(models.User.objects.filter(is_active=True).count(), 2) self.assertEqual(models.User.objects.filter(is_active=True).count(), 2)
def test_delete_list(self):
"""delete a list"""
book_list = models.List.objects.create(
name="test list",
user=self.remote_user,
)
activity = {
"@context": "https://www.w3.org/ns/activitystreams",
"id": "https://example.com/users/test-user#delete",
"type": "Delete",
"actor": "https://example.com/users/test-user",
"to": ["https://www.w3.org/ns/activitystreams#Public"],
"object": book_list.remote_id,
}
views.inbox.activity_task(activity)
self.assertFalse(models.List.objects.exists())

View file

@ -87,6 +87,11 @@ class ListActionViews(TestCase):
request.user = self.local_user request.user = self.local_user
with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay") as mock: with patch("bookwyrm.models.activitypub_mixin.broadcast_task.delay") as mock:
views.delete_list(request, self.list.id) views.delete_list(request, self.list.id)
activity = json.loads(mock.call_args[0][1])
self.assertEqual(activity["type"], "Delete")
self.assertEqual(activity["actor"], self.local_user.remote_id)
self.assertEqual(activity["object"], self.list.remote_id)
self.assertEqual(mock.call_count, 1) self.assertEqual(mock.call_count, 1)
self.assertFalse(models.List.objects.exists()) self.assertFalse(models.List.objects.exists())
self.assertFalse(models.ListItem.objects.exists()) self.assertFalse(models.ListItem.objects.exists())