aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/tests/test_group_purge.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-hub/tests/test_group_purge.py')
-rw-r--r--packages/meshbay-hub/tests/test_group_purge.py17
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