mirror of
https://code.eliotberriot.com/funkwhale/funkwhale.git
synced 2025-10-06 04:09:56 +02:00
See #852: improved routing logic for federation messages (support multiple objects types for one route)
This commit is contained in:
parent
1aa3f3f340
commit
9f3182caf7
19 changed files with 561 additions and 54 deletions
33
api/tests/users/test_mutations.py
Normal file
33
api/tests/users/test_mutations.py
Normal file
|
@ -0,0 +1,33 @@
|
|||
from funkwhale_api.users import tasks
|
||||
|
||||
|
||||
def test_delete_account_mutation(mocker, factories, now):
|
||||
user = factories["users.User"](subsonic_api_token="test", password="test")
|
||||
actor = user.create_actor()
|
||||
on_commit = mocker.patch("funkwhale_api.common.utils.on_commit")
|
||||
|
||||
secret_key = user.secret_key
|
||||
set_unusable_password = mocker.spy(user, "set_unusable_password")
|
||||
factories["users.Grant"](user=user)
|
||||
factories["users.AccessToken"](user=user)
|
||||
factories["users.RefreshToken"](user=user)
|
||||
mutation = factories["common.Mutation"](
|
||||
type="delete_account", target=actor, payload={}
|
||||
)
|
||||
|
||||
mutation.apply()
|
||||
user.refresh_from_db()
|
||||
|
||||
set_unusable_password.assert_called_once_with()
|
||||
assert user.has_usable_password() is False
|
||||
assert user.subsonic_api_token is None
|
||||
assert user.secret_key is not None and user.secret_key != secret_key
|
||||
assert user.users_grant.count() == 0
|
||||
assert user.users_refreshtoken.count() == 0
|
||||
assert user.users_accesstoken.count() == 0
|
||||
on_commit.assert_called_once_with(tasks.delete_account.delay, user_id=user.pk)
|
||||
|
||||
assert mutation.previous_state == {
|
||||
"actor": {"preferred_username": actor.preferred_username},
|
||||
"user": {"username": user.username, "id": user.pk},
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue