01acfa3b40
Type checking / changes (push) Has been cancelled
Type checking / test (push) Has been cancelled
Type checking / typescript-summary (push) Has been cancelled
Node tests / changes (push) Has been cancelled
Node tests / test (push) Has been cancelled
Node tests / test-summary (push) Has been cancelled
Источник: https://github.com/nextcloud/spreed/archive/refs/tags/v22.0.12.tar.gz С этого коммита ветка официального Nextcloud Talk отрезана (решение владельца 2026-07-06). Все дальнейшие изменения — только наши; версии релизов: 22.0.12-f7.N.
160 lines
11 KiB
Gherkin
160 lines
11 KiB
Gherkin
Feature: federation/join-leave
|
|
|
|
Background:
|
|
Given using server "REMOTE"
|
|
And user "participant2" exists
|
|
And the following "spreed" app config is set
|
|
| federation_enabled | yes |
|
|
And using server "LOCAL"
|
|
And user "participant1" exists
|
|
And the following "spreed" app config is set
|
|
| federation_enabled | yes |
|
|
|
|
Scenario: join a group room
|
|
Given user "participant1" creates room "room" (v4)
|
|
| roomType | 2 |
|
|
| roomName | room |
|
|
And user "participant1" adds federated_user "participant2" to room "room" with 200 (v4)
|
|
And using server "REMOTE"
|
|
And user "participant2" has the following invitations (v1)
|
|
| remoteServerUrl | remoteToken | state | inviterCloudId | inviterDisplayName |
|
|
| LOCAL | room | 0 | participant1@LOCAL | participant1-displayname |
|
|
And user "participant2" accepts invite to room "room" of server "LOCAL" with 200 (v1)
|
|
| id | name | type | remoteServer | remoteToken |
|
|
| LOCAL::room | room | 2 | LOCAL | room |
|
|
When using server "LOCAL"
|
|
And user "participant1" joins room "room" with 200 (v4)
|
|
And using server "REMOTE"
|
|
And user "participant2" joins room "LOCAL::room" with 200 (v4)
|
|
Then using server "LOCAL"
|
|
And user "participant1" is participant of room "room" (v4)
|
|
And user "participant1" sees the following attendees in room "room" with 200 (v4)
|
|
| actorType | actorId | participantType | sessionIds |
|
|
| users | participant1 | 1 | [SESSION,] |
|
|
| federated_users | participant2@{$REMOTE_URL} | 3 | [SESSION#participant2@{$REMOTE_URL},] |
|
|
And using server "REMOTE"
|
|
And user "participant2" is participant of room "LOCAL::room" (v4)
|
|
And user "participant2" sees the following attendees in room "LOCAL::room" with 200 (v4)
|
|
| actorType | actorId | participantType | sessionIds |
|
|
| federated_users | participant1@{$LOCAL_URL} | 1 | [SESSION,] |
|
|
| users | participant2 | 3 | [SESSION#participant2@{$REMOTE_URL},] |
|
|
|
|
Scenario: join a group room again without leaving it first
|
|
Given user "participant1" creates room "room" (v4)
|
|
| roomType | 2 |
|
|
| roomName | room |
|
|
And user "participant1" adds federated_user "participant2" to room "room" with 200 (v4)
|
|
And using server "REMOTE"
|
|
And user "participant2" has the following invitations (v1)
|
|
| remoteServerUrl | remoteToken | state | inviterCloudId | inviterDisplayName |
|
|
| LOCAL | room | 0 | participant1@LOCAL | participant1-displayname |
|
|
And user "participant2" accepts invite to room "room" of server "LOCAL" with 200 (v1)
|
|
| id | name | type | remoteServer | remoteToken |
|
|
| LOCAL::room | room | 2 | LOCAL | room |
|
|
And using server "LOCAL"
|
|
And user "participant1" joins room "room" with 200 (v4)
|
|
And using server "REMOTE"
|
|
And user "participant2" joins room "LOCAL::room" with 200 (v4)
|
|
When user "participant2" joins room "LOCAL::room" with 200 (v4)
|
|
Then using server "LOCAL"
|
|
And user "participant1" is participant of room "room" (v4)
|
|
And user "participant1" sees the following attendees in room "room" with 200 (v4)
|
|
| actorType | actorId | participantType | sessionIds |
|
|
| users | participant1 | 1 | [SESSION,] |
|
|
| federated_users | participant2@{$REMOTE_URL} | 3 | [SESSION#participant2@{$REMOTE_URL},SESSION#participant2@{$REMOTE_URL},] |
|
|
And using server "REMOTE"
|
|
And user "participant2" is participant of room "LOCAL::room" (v4)
|
|
And user "participant2" sees the following attendees in room "LOCAL::room" with 200 (v4)
|
|
| actorType | actorId | participantType | sessionIds |
|
|
| federated_users | participant1@{$LOCAL_URL} | 1 | [SESSION,] |
|
|
| users | participant2 | 3 | [SESSION#participant2@{$REMOTE_URL},SESSION#participant2@{$REMOTE_URL},] |
|
|
|
|
Scenario: leave a group room
|
|
Given user "participant1" creates room "room" (v4)
|
|
| roomType | 2 |
|
|
| roomName | room |
|
|
And user "participant1" adds federated_user "participant2" to room "room" with 200 (v4)
|
|
And using server "REMOTE"
|
|
And user "participant2" has the following invitations (v1)
|
|
| remoteServerUrl | remoteToken | state | inviterCloudId | inviterDisplayName |
|
|
| LOCAL | room | 0 | participant1@LOCAL | participant1-displayname |
|
|
And user "participant2" accepts invite to room "room" of server "LOCAL" with 200 (v1)
|
|
| id | name | type | remoteServer | remoteToken |
|
|
| LOCAL::room | room | 2 | LOCAL | room |
|
|
And using server "LOCAL"
|
|
And user "participant1" joins room "room" with 200 (v4)
|
|
And using server "REMOTE"
|
|
And user "participant2" joins room "LOCAL::room" with 200 (v4)
|
|
And using server "LOCAL"
|
|
And user "participant1" sees the following attendees in room "room" with 200 (v4)
|
|
| actorType | actorId | participantType | sessionIds |
|
|
| users | participant1 | 1 | [SESSION,] |
|
|
| federated_users | participant2@{$REMOTE_URL} | 3 | [SESSION#participant2@{$REMOTE_URL},] |
|
|
And using server "REMOTE"
|
|
And user "participant2" sees the following attendees in room "LOCAL::room" with 200 (v4)
|
|
| actorType | actorId | participantType | sessionIds |
|
|
| federated_users | participant1@{$LOCAL_URL} | 1 | [SESSION,] |
|
|
| users | participant2 | 3 | [SESSION#participant2@{$REMOTE_URL},] |
|
|
When user "participant2" leaves room "LOCAL::room" with 200 (v4)
|
|
Then using server "LOCAL"
|
|
And user "participant1" is participant of room "room" (v4)
|
|
And user "participant1" sees the following attendees in room "room" with 200 (v4)
|
|
| actorType | actorId | participantType | sessionIds |
|
|
| users | participant1 | 1 | [SESSION,] |
|
|
| federated_users | participant2@{$REMOTE_URL} | 3 | [] |
|
|
And using server "REMOTE"
|
|
And user "participant2" is participant of room "LOCAL::room" (v4)
|
|
And user "participant2" sees the following attendees in room "LOCAL::room" with 200 (v4)
|
|
| actorType | actorId | participantType | sessionIds |
|
|
| federated_users | participant1@{$LOCAL_URL} | 1 | [SESSION,] |
|
|
| users | participant2 | 3 | [] |
|
|
|
|
Scenario: leave a room with the session of another user
|
|
Given using server "REMOTE"
|
|
And user "participant3" exists
|
|
And using server "LOCAL"
|
|
Given user "participant1" creates room "room" (v4)
|
|
| roomType | 2 |
|
|
| roomName | room |
|
|
And user "participant1" adds federated_user "participant2" to room "room" with 200 (v4)
|
|
And user "participant1" adds federated_user "participant3" to room "room" with 200 (v4)
|
|
And using server "REMOTE"
|
|
And user "participant2" has the following invitations (v1)
|
|
| remoteServerUrl | remoteToken | state | inviterCloudId | inviterDisplayName |
|
|
| LOCAL | room | 0 | participant1@LOCAL | participant1-displayname |
|
|
And user "participant2" accepts invite to room "room" of server "LOCAL" with 200 (v1)
|
|
| id | name | type | remoteServer | remoteToken |
|
|
| LOCAL::room | room | 2 | LOCAL | room |
|
|
And user "participant3" has the following invitations (v1)
|
|
| remoteServerUrl | remoteToken | state | inviterCloudId | inviterDisplayName |
|
|
| LOCAL | room | 0 | participant1@LOCAL | participant1-displayname |
|
|
And user "participant3" accepts invite to room "room" of server "LOCAL" with 200 (v1)
|
|
| id | name | type | remoteServer | remoteToken |
|
|
| LOCAL::room | room | 2 | LOCAL | room |
|
|
And user "participant2" joins room "LOCAL::room" with 200 (v4)
|
|
And user "participant3" joins room "LOCAL::room" with 200 (v4)
|
|
And using server "LOCAL"
|
|
And user "participant1" sees the following attendees in room "room" with 200 (v4)
|
|
| actorType | actorId | participantType | sessionIds |
|
|
| users | participant1 | 1 | [] |
|
|
| federated_users | participant2@{$REMOTE_URL} | 3 | [SESSION#participant2@{$REMOTE_URL},] |
|
|
| federated_users | participant3@{$REMOTE_URL} | 3 | [SESSION#participant3@{$REMOTE_URL},] |
|
|
And using server "REMOTE"
|
|
And user "participant2" sees the following attendees in room "LOCAL::room" with 200 (v4)
|
|
| actorType | actorId | participantType | sessionIds |
|
|
| federated_users | participant1@{$LOCAL_URL} | 1 | [] |
|
|
| users | participant2 | 3 | [SESSION#participant2@{$REMOTE_URL},] |
|
|
| users | participant3 | 3 | [SESSION#participant3@{$REMOTE_URL},] |
|
|
When user "participant2" forges a request for user "participant3" to room "LOCAL::room" with 404 (v4)
|
|
And user "participant2" sees the following attendees in room "LOCAL::room" with 200 (v4)
|
|
| actorType | actorId | participantType | sessionIds |
|
|
| federated_users | participant1@{$LOCAL_URL} | 1 | [] |
|
|
| users | participant2 | 3 | [SESSION#participant2@{$REMOTE_URL},] |
|
|
| users | participant3 | 3 | [SESSION#participant3@{$REMOTE_URL},] |
|
|
Then using server "LOCAL"
|
|
And user "participant1" sees the following attendees in room "room" with 200 (v4)
|
|
| actorType | actorId | participantType | sessionIds |
|
|
| users | participant1 | 1 | [] |
|
|
| federated_users | participant2@{$REMOTE_URL} | 3 | [SESSION#participant2@{$REMOTE_URL},] |
|
|
| federated_users | participant3@{$REMOTE_URL} | 3 | [SESSION#participant3@{$REMOTE_URL},] |
|