mirror of
https://code.eliotberriot.com/funkwhale/funkwhale.git
synced 2025-10-05 05:39:25 +02:00
Added actions and tasks to purge domains and actors
This commit is contained in:
parent
833daa242c
commit
233ac870be
10 changed files with 251 additions and 14 deletions
|
@ -190,3 +190,44 @@ def test_update_domain_nodeinfo_error(factories, r_mock, now):
|
|||
"status": "error",
|
||||
"error": "500 Server Error: None for url: {}".format(wellknown_url),
|
||||
}
|
||||
|
||||
|
||||
def test_handle_purge_actors(factories, mocker):
|
||||
to_purge = factories["federation.Actor"]()
|
||||
keeped = [
|
||||
factories["music.Upload"](),
|
||||
factories["federation.Activity"](),
|
||||
factories["federation.InboxItem"](),
|
||||
factories["federation.Follow"](),
|
||||
factories["federation.LibraryFollow"](),
|
||||
]
|
||||
|
||||
library = factories["music.Library"](actor=to_purge)
|
||||
deleted = [
|
||||
library,
|
||||
factories["music.Upload"](library=library),
|
||||
factories["federation.Activity"](actor=to_purge),
|
||||
factories["federation.InboxItem"](actor=to_purge),
|
||||
factories["federation.Follow"](actor=to_purge),
|
||||
factories["federation.LibraryFollow"](actor=to_purge),
|
||||
]
|
||||
|
||||
tasks.handle_purge_actors([to_purge.pk])
|
||||
|
||||
for k in keeped:
|
||||
# this should not be deleted
|
||||
k.refresh_from_db()
|
||||
|
||||
for d in deleted:
|
||||
with pytest.raises(d.__class__.DoesNotExist):
|
||||
d.refresh_from_db()
|
||||
|
||||
|
||||
def test_purge_actors(factories, mocker):
|
||||
handle_purge_actors = mocker.spy(tasks, "handle_purge_actors")
|
||||
factories["federation.Actor"]()
|
||||
to_delete = factories["federation.Actor"]()
|
||||
to_delete_domain = factories["federation.Actor"]()
|
||||
tasks.purge_actors(ids=[to_delete.pk], domains=[to_delete_domain.domain.name])
|
||||
|
||||
handle_purge_actors.assert_called_once_with(ids=[to_delete.pk, to_delete_domain.pk])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue