mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-08-23 18:47:15 +00:00
test(cloud): require Space identity for invite registration
This commit is contained in:
@@ -523,35 +523,22 @@ async def test_cloud_projection_is_selected_explicitly_and_collaboration_runs_in
|
|||||||
assert created_invitation['delivery'] == {'status': 'link_only', 'provider': None}
|
assert created_invitation['delivery'] == {'status': 'link_only', 'provider': None}
|
||||||
|
|
||||||
accept_response = await client.post(
|
accept_response = await client.post(
|
||||||
|
'/api/v1/invitations/accept',
|
||||||
|
headers=_auth(owner_token, cloud_workspace_uuid),
|
||||||
|
json={'token': created_invitation['token']},
|
||||||
|
)
|
||||||
|
assert accept_response.status_code == 400
|
||||||
|
assert (await accept_response.get_json())['code'] == 'invitation_email_mismatch'
|
||||||
|
|
||||||
|
registration_response = await client.post(
|
||||||
'/api/v1/invitations/accept',
|
'/api/v1/invitations/accept',
|
||||||
json={
|
json={
|
||||||
'token': created_invitation['token'],
|
'token': created_invitation['token'],
|
||||||
'registration': {'email': 'member@example.com', 'password': 'member-password'},
|
'registration': {'email': 'member@example.com', 'password': 'member-password'},
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
assert accept_response.status_code == 200
|
assert registration_response.status_code == 409
|
||||||
member_token = (await accept_response.get_json())['data']['token']
|
assert (await registration_response.get_json())['code'] == 'control_plane_required'
|
||||||
|
|
||||||
member_current = await client.get(
|
|
||||||
'/api/v1/workspaces/current',
|
|
||||||
headers=_auth(member_token, cloud_workspace_uuid),
|
|
||||||
)
|
|
||||||
assert member_current.status_code == 200
|
|
||||||
member_account_uuid = (await member_current.get_json())['data']['membership']['account_uuid']
|
|
||||||
|
|
||||||
update_member = await client.patch(
|
|
||||||
f'/api/v1/workspaces/{cloud_workspace_uuid}/members/{member_account_uuid}',
|
|
||||||
headers=_auth(owner_token, cloud_workspace_uuid),
|
|
||||||
json={'role': 'developer'},
|
|
||||||
)
|
|
||||||
assert update_member.status_code == 200
|
|
||||||
assert (await update_member.get_json())['data']['member']['role'] == 'developer'
|
|
||||||
|
|
||||||
remove_member = await client.delete(
|
|
||||||
f'/api/v1/workspaces/{cloud_workspace_uuid}/members/{member_account_uuid}',
|
|
||||||
headers=_auth(owner_token, cloud_workspace_uuid),
|
|
||||||
)
|
|
||||||
assert remove_member.status_code == 200
|
|
||||||
|
|
||||||
|
|
||||||
async def test_account_bootstrap_does_not_disclose_non_member_workspaces(workspace_api):
|
async def test_account_bootstrap_does_not_disclose_non_member_workspaces(workspace_api):
|
||||||
|
|||||||
Reference in New Issue
Block a user