Skip to content

Commit 6d2053d

Browse files
committed
Add test
1 parent a5da1e4 commit 6d2053d

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

tests/handlers/test_deactivate_account.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -424,3 +424,40 @@ def test_deactivate_account_rejects_knocks(self) -> None:
424424
self._store.get_knocked_at_rooms_for_local_user(self.user)
425425
)
426426
self.assertEqual(len(after_deactivate_knocks), 0)
427+
428+
def test_membership_is_redacted_upon_deactivation(self) -> None:
429+
"""
430+
Tests that room membership events are redacted if erasure is requested.
431+
"""
432+
# Create a room
433+
room_id = self.helper.create_room_as(
434+
self.user,
435+
is_public=True,
436+
tok=self.token,
437+
)
438+
439+
# Change the displayname
440+
membership_event, _ = self.get_success(
441+
self.handler.update_membership(
442+
requester=create_requester(self.user),
443+
target=UserID.from_string(self.user),
444+
room_id=room_id,
445+
action=Membership.JOIN,
446+
content={"displayname": "Hello World!"},
447+
)
448+
)
449+
450+
# Deactivate the account
451+
self._deactivate_my_account()
452+
453+
# Get the all membership event IDs
454+
membership_event_ids = self.get_success(
455+
self._store.get_membership_event_ids_for_user(self.user, room_id=room_id)
456+
)
457+
458+
# Get the events incl. JSON
459+
events = self.get_success(self._store.get_events_as_list(membership_event_ids))
460+
461+
# Validate that there is no displayname in any of the events
462+
for event in events:
463+
self.assertTrue("displayname" not in event.content)

0 commit comments

Comments
 (0)