diff options
Diffstat (limited to 'packages/meshbay-hub/tests/test_group_purge.py')
| -rw-r--r-- | packages/meshbay-hub/tests/test_group_purge.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/packages/meshbay-hub/tests/test_group_purge.py b/packages/meshbay-hub/tests/test_group_purge.py index 40d2d54..c802513 100644 --- a/packages/meshbay-hub/tests/test_group_purge.py +++ b/packages/meshbay-hub/tests/test_group_purge.py @@ -21,13 +21,17 @@ from datetime import UTC, datetime, timedelta import jwt import pytest +from membership import add_member from meshbay_hub.db.models import ( ContentReport, EmailVerification, Group, + GroupHost, + GroupInvitation, GroupInviteLink, GroupMember, IPLog, + Node, Notification, User, ) @@ -36,7 +40,7 @@ from sqlalchemy import delete, func, select, text from sqlalchemy.exc import IntegrityError SEEDED = {"group_members", "notifications", "email_verifications", "content_reports", - "group_invite_links"} + "group_invite_links", "group_invitations", "group_hosts"} def _auth_key(password: str, username: str) -> str: @@ -72,8 +76,7 @@ async def _group_with_everything(client, db, owner_token: str, member: str, name headers={"Authorization": f"Bearer {owner_token}"}) assert r.status_code in (200, 201), r.text gid = r.json()["group_id"] - r = await client.post(f"/v1/groups/{gid}/members/{member}", json={}, - headers={"Authorization": f"Bearer {owner_token}"}) + r = await add_member(client, gid, member, {"Authorization": f"Bearer {owner_token}"}) assert r.status_code in (200, 201), r.text member_id = await _uid(db, member) db.add(Notification(user_id=member_id, kind="chat", group_id=gid, title="a message")) @@ -87,6 +90,14 @@ async def _group_with_everything(client, db, owner_token: str, member: str, name email_masked="m***@e***.com", expires_at=datetime.now(UTC) + timedelta(days=1), redeemed_by=member_id, redeemed_at=datetime.now(UTC))) + # An unanswered invitation, and a node asking to host. + invitee = (await db.execute(select(User.id).where(User.id != owner_id, + User.id != member_id))).scalars().first() + db.add(GroupInvitation(group_id=gid, user_id=invitee or owner_id, invited_by=owner_id)) + node = Node(user_id=member_id, pk_node=gid[:43]) + db.add(node) + await db.flush() + db.add(GroupHost(group_id=gid, node_id=node.id, status="pending")) await db.commit() return gid |