diff options
Diffstat (limited to 'packages/meshbay-hub/tests/test_account_deletion.py')
| -rw-r--r-- | packages/meshbay-hub/tests/test_account_deletion.py | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/packages/meshbay-hub/tests/test_account_deletion.py b/packages/meshbay-hub/tests/test_account_deletion.py index 4cbca8b..3d3fee4 100644 --- a/packages/meshbay-hub/tests/test_account_deletion.py +++ b/packages/meshbay-hub/tests/test_account_deletion.py @@ -37,11 +37,11 @@ async def _register(client, username, password="a-long-enough-passphrase"): @pytest.mark.asyncio async def test_owner_can_delete_their_account(client, db_session): - token, password = await _register(client, "leaver") + token, password = await _register(client, "leaver_test") headers = {"Authorization": f"Bearer {token}"} r = await client.request("DELETE", "/v1/users/me", headers=headers, - json={"auth_key": _auth_key(password, "leaver")}) + json={"auth_key": _auth_key(password, "leaver_test")}) assert r.status_code == 200, r.text user = (await db_session.execute( @@ -58,10 +58,10 @@ async def test_deleting_needs_the_passphrase_not_just_a_session(client): A live token may be a borrowed laptop or a tab left open. Something irreversible asks again. """ - token, _ = await _register(client, "careful") + token, _ = await _register(client, "careful_test") r = await client.request("DELETE", "/v1/users/me", headers={"Authorization": f"Bearer {token}"}, - json={"auth_key": _auth_key("wrong one", "careful")}) + json={"auth_key": _auth_key("wrong one", "careful_test")}) assert r.status_code == 403 me = await client.get("/v1/users/me", @@ -89,13 +89,13 @@ async def test_owning_a_group_blocks_deletion(client): Deleting an account that owns groups would strand their members, so it is refused with the list rather than cascading into other people's data. """ - token, password = await _register(client, "owner") + token, password = await _register(client, "owner_test") headers = {"Authorization": f"Bearer {token}"} r = await client.post("/v1/groups", json={"name": "orphans"}, headers=headers) assert r.status_code in (200, 201), r.text r = await client.request("DELETE", "/v1/users/me", headers=headers, - json={"auth_key": _auth_key(password, "owner")}) + json={"auth_key": _auth_key(password, "owner_test")}) assert r.status_code == 409 assert "orphans" in r.json()["detail"] @@ -103,20 +103,20 @@ async def test_owning_a_group_blocks_deletion(client): @pytest.mark.asyncio async def test_deletion_clears_memberships_notifications_and_tokens( client, db_session): - token, password = await _register(client, "member1") - owner_token, _ = await _register(client, "grouper") + token, password = await _register(client, "member1_test") + owner_token, _ = await _register(client, "grouper_test") g = await client.post("/v1/groups", json={"name": "shared"}, headers={"Authorization": f"Bearer {owner_token}"}) gid = g.json()["group_id"] - await client.post(f"/v1/groups/{gid}/members/member1", json={}, + await client.post(f"/v1/groups/{gid}/members/member1_test", json={}, headers={"Authorization": f"Bearer {owner_token}"}) uid = (await db_session.execute( - select(User.id).where(User.username == "member1"))).scalar_one() + select(User.id).where(User.username == "member1_test"))).scalar_one() await client.request("DELETE", "/v1/users/me", headers={"Authorization": f"Bearer {token}"}, - json={"auth_key": _auth_key(password, "member1")}) + json={"auth_key": _auth_key(password, "member1_test")}) for model in (GroupMember, Notification, RefreshToken): rows = (await db_session.execute( @@ -142,10 +142,10 @@ async def test_deletion_clears_device_keys_and_swarm_sources(client, db_session) """ from meshbay_hub.db.models import SwarmSource, UserDevice - token, password = await _register(client, "devicer") + token, password = await _register(client, "devicer_test") headers = {"Authorization": f"Bearer {token}"} uid = (await db_session.execute( - select(User.id).where(User.username == "devicer"))).scalar_one() + select(User.id).where(User.username == "devicer_test"))).scalar_one() r = await client.post("/v1/users/devices", headers=headers, json={"pk_auth_ed25519": _device_pk(), "label": "desktop"}) @@ -161,7 +161,7 @@ async def test_deletion_clears_device_keys_and_swarm_sources(client, db_session) select(SwarmSource).where(SwarmSource.node_id == uid))).scalars().all() r = await client.request("DELETE", "/v1/users/me", headers=headers, - json={"auth_key": _auth_key(password, "devicer")}) + json={"auth_key": _auth_key(password, "devicer_test")}) assert r.status_code == 200, r.text db_session.expire_all() @@ -202,9 +202,9 @@ async def test_the_ip_log_survives_and_stays_attributable(client, db_session): """ from meshbay_hub.db.models import IPLog - token, password = await _register(client, "logged") + token, password = await _register(client, "logged_test") uid = (await db_session.execute( - select(User.id).where(User.username == "logged"))).scalar_one() + select(User.id).where(User.username == "logged_test"))).scalar_one() before = (await db_session.execute( select(IPLog).where(IPLog.user_id == uid))).scalars().all() @@ -212,7 +212,7 @@ async def test_the_ip_log_survives_and_stays_attributable(client, db_session): await client.request("DELETE", "/v1/users/me", headers={"Authorization": f"Bearer {token}"}, - json={"auth_key": _auth_key(password, "logged")}) + json={"auth_key": _auth_key(password, "logged_test")}) after = (await db_session.execute( select(IPLog).where(IPLog.user_id == uid))).scalars().all() @@ -226,10 +226,10 @@ async def test_a_deleted_account_cannot_keep_using_its_token(client): status check refuses it straight away — a deleted account must not keep reading groups until its token happens to expire. """ - token, password = await _register(client, "gone") + token, password = await _register(client, "gone_test") headers = {"Authorization": f"Bearer {token}"} r = await client.request("DELETE", "/v1/users/me", headers=headers, - json={"auth_key": _auth_key(password, "gone")}) + json={"auth_key": _auth_key(password, "gone_test")}) assert r.status_code == 200 after = await client.get("/v1/groups/mine", headers=headers) @@ -239,9 +239,9 @@ async def test_a_deleted_account_cannot_keep_using_its_token(client): @pytest.mark.asyncio async def test_only_an_admin_may_delete_someone_else(client, db_session): token, _ = await _register(client, "ordinary") - victim_token, _ = await _register(client, "victim") + victim_token, _ = await _register(client, "victim_test") victim_id = (await db_session.execute( - select(User.id).where(User.username == "victim"))).scalar_one() + select(User.id).where(User.username == "victim_test"))).scalar_one() r = await client.delete(f"/v1/admin/users/{victim_id}", headers={"Authorization": f"Bearer {token}"}) |