UPSTREAM BASELINE: nextcloud/spreed v22.0.12 (без изменений)
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
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.
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
Feature: callapi/group-read-only
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
And user "participant2" exists
|
||||
And user "participant3" exists
|
||||
And group "attendees1" exists
|
||||
And user "participant2" is member of group "attendees1"
|
||||
|
||||
Scenario: User1 invites group attendees1 to a group room and they cant join the call in a locked conversation
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| invite | attendees1 |
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
When user "participant1" locks room "room" with 200 (v4)
|
||||
And user "participant1" joins room "room" with 200 (v4)
|
||||
And user "participant1" joins call "room" with 403 (v4)
|
||||
And user "participant2" joins room "room" with 200 (v4)
|
||||
And user "participant2" joins call "room" with 403 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 403 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 403 (v4)
|
||||
When user "participant1" unlocks room "room" with 200 (v4)
|
||||
And user "participant1" joins call "room" with 200 (v4)
|
||||
And user "participant2" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 2 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 2 peers in call "room" with 200 (v4)
|
||||
@@ -0,0 +1,107 @@
|
||||
Feature: callapi/group
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
And user "participant2" exists
|
||||
And user "participant3" exists
|
||||
And group "attendees1" exists
|
||||
And user "participant2" is member of group "attendees1"
|
||||
|
||||
Scenario: User has no rooms
|
||||
Then user "participant1" is participant of the following rooms (v4)
|
||||
Then user "participant2" is participant of the following rooms (v4)
|
||||
Then user "participant3" is participant of the following rooms (v4)
|
||||
|
||||
Scenario: User1 invites group attendees1 to a group room and they can do everything
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| invite | attendees1 |
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
| flags | 1 |
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 1 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" is participant of the following rooms (v4)
|
||||
| id | type | callFlag |
|
||||
| room | 2 | 1 |
|
||||
Then user "participant2" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 2 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 2 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" is participant of the following rooms (v4)
|
||||
| id | type | callFlag |
|
||||
| room | 2 | 7 |
|
||||
Then user "participant1" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 1 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 1 peers in call "room" with 200 (v4)
|
||||
Then user "participant2" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
Then user "participant2" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
|
||||
Scenario: User1 invites group attendees1 to a group room and user3 can't do anything
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| invite | attendees1 |
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
Then user "participant3" is not participant of room "room" (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
And user "participant3" joins room "room" with 404 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
And user "participant3" joins call "room" with 404 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant3" leaves call "room" with 404 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant3" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
|
||||
Scenario: User1 invites group attendees1 to a group room and guest can't do anything
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| invite | attendees1 |
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
And user "guest" joins room "room" with 404 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
And user "guest" joins call "room" with 404 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "guest" leaves call "room" with 404 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "guest" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
@@ -0,0 +1,44 @@
|
||||
Feature: callapi/lobby
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
And user "participant2" exists
|
||||
|
||||
Scenario: Participant1 calls without lobby
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
| spreed | call | room | A group call has started in room |
|
||||
|
||||
Scenario: Participant1 calls while participant2 is blocked by the lobby
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
When user "participant1" sets lobby state for room "room" to "non moderators" with 200 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant2" has the following notifications
|
||||
|
||||
Scenario: Participant1 calls while participant2 is moderator
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
And user "participant1" promotes "participant2" in room "room" with 200 (v4)
|
||||
When user "participant1" sets lobby state for room "room" to "non moderators" with 200 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
| spreed | call | room | A group call has started in room |
|
||||
@@ -0,0 +1,187 @@
|
||||
Feature: callapi/notifications
|
||||
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
Given user "participant2" exists
|
||||
|
||||
Scenario: Normal call notification
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Given user "participant1" joins room "room" with 200 (v4)
|
||||
Given user "participant2" joins room "room" with 200 (v4)
|
||||
Then user "participant2" checks call notification for "room" with 201 (v4)
|
||||
Given user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant2" checks call notification for "room" with 200 (v4)
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
| spreed | call | room | A group call has started in room |
|
||||
Given user "participant2" joins call "room" with 200 (v4)
|
||||
Then user "participant2" checks call notification for "room" with 404 (v4)
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
|
||||
Scenario: Missed call notification
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Given user "participant1" joins room "room" with 200 (v4)
|
||||
Given user "participant2" joins room "room" with 200 (v4)
|
||||
Then user "participant2" checks call notification for "room" with 201 (v4)
|
||||
Given user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant2" checks call notification for "room" with 200 (v4)
|
||||
Then user "participant2" sees the following system messages in room "room" with 200
|
||||
| room | actorType | actorId | systemMessage | message | silent | messageParameters |
|
||||
| room | users | participant1 | call_started | {actor} started a call | !ISSET | {"actor":{"type":"user","id":"participant1","name":"participant1-displayname","mention-id":"participant1"}} |
|
||||
| room | users | participant1 | user_added | {actor} added you | !ISSET | {"actor":{"type":"user","id":"participant1","name":"participant1-displayname","mention-id":"participant1"},"user":{"type":"user","id":"participant2","name":"participant2-displayname","mention-id":"participant2"}} |
|
||||
| room | users | participant1 | conversation_created | {actor} created the conversation | !ISSET | {"actor":{"type":"user","id":"participant1","name":"participant1-displayname","mention-id":"participant1"}} |
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
| spreed | call | room | A group call has started in room |
|
||||
Given user "participant1" leaves call "room" with 200 (v4)
|
||||
Then user "participant2" checks call notification for "room" with 201 (v4)
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
| spreed | call | room | You missed a group call in room |
|
||||
|
||||
Scenario: Silent call does not trigger notifications
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Given user "participant1" joins room "room" with 200 (v4)
|
||||
Given user "participant2" joins room "room" with 200 (v4)
|
||||
Given user "participant1" joins call "room" with 200 (v4)
|
||||
| silent | true |
|
||||
Then user "participant2" sees the following system messages in room "room" with 200
|
||||
| room | actorType | actorId | systemMessage | message | silent | messageParameters |
|
||||
| room | users | participant1 | call_started | {actor} started a silent call | true | {"actor":{"type":"user","id":"participant1","name":"participant1-displayname","mention-id":"participant1"}} |
|
||||
| room | users | participant1 | user_added | {actor} added you | !ISSET | {"actor":{"type":"user","id":"participant1","name":"participant1-displayname","mention-id":"participant1"},"user":{"type":"user","id":"participant2","name":"participant2-displayname","mention-id":"participant2"}} |
|
||||
| room | users | participant1 | conversation_created | {actor} created the conversation | !ISSET | {"actor":{"type":"user","id":"participant1","name":"participant1-displayname","mention-id":"participant1"}} |
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
Given user "participant1" leaves call "room" with 200 (v4)
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
|
||||
Scenario: Silent call with dedicated ping does trigger notifications
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Given user "participant1" joins room "room" with 200 (v4)
|
||||
Given user "participant2" joins room "room" with 200 (v4)
|
||||
Given user "participant1" loads attendees attendee ids in room "room" (v4)
|
||||
Given user "participant1" joins call "room" with 200 (v4)
|
||||
| silent | true |
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
Given user "participant1" pings user "participant2" to join call "room" with 200 (v4)
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
| spreed | call | room | A group call has started in room |
|
||||
|
||||
Scenario: Calling an attendee that is in DND throws an error 'status' message with 400
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Given user "participant1" joins room "room" with 200 (v4)
|
||||
Given user "participant2" joins room "room" with 200 (v4)
|
||||
Given user "participant1" loads attendees attendee ids in room "room" (v4)
|
||||
And user "participant2" sets status to "dnd" with 200 (v1)
|
||||
Given user "participant1" joins call "room" with 200 (v4)
|
||||
| silent | true |
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
Given user "participant1" pings user "participant2" to join call "room" with 400 (v4)
|
||||
|
||||
Scenario: Lobby: No call notification sent for users that are blocked by the lobby
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant1" joins room "room" with 200 (v4)
|
||||
And user "participant2" joins room "room" with 200 (v4)
|
||||
And user "participant1" sets lobby state for room "room" to "non moderators" with 200 (v4)
|
||||
When user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
|
||||
Scenario: Lobby: Call notification sent to users with ignore lobby permissions
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant1" joins room "room" with 200 (v4)
|
||||
And user "participant2" joins room "room" with 200 (v4)
|
||||
And user "participant1" sets permissions for "participant2" in room "room" to "L" with 200 (v4)
|
||||
And user "participant1" sets lobby state for room "room" to "non moderators" with 200 (v4)
|
||||
When user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
| spreed | call | room | A group call has started in room |
|
||||
|
||||
Scenario: Lobby: Call notification sent to moderators
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant1" joins room "room" with 200 (v4)
|
||||
And user "participant2" joins room "room" with 200 (v4)
|
||||
And user "participant1" promotes "participant2" in room "room" with 200 (v4)
|
||||
And user "participant1" sets lobby state for room "room" to "non moderators" with 200 (v4)
|
||||
When user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
| spreed | call | room | A group call has started in room |
|
||||
|
||||
Scenario: Lobby: Call notification wiped if lobby enabled afterwards
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
And user "participant1" joins room "room" with 200 (v4)
|
||||
And user "participant2" joins room "room" with 200 (v4)
|
||||
When user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
| spreed | call | room | A group call has started in room |
|
||||
And user "participant1" sets lobby state for room "room" to "non moderators" with 200 (v4)
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
|
||||
Scenario: Pinging a user that is removed gives 404
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Given user "participant1" joins room "room" with 200 (v4)
|
||||
Given user "participant1" loads attendees attendee ids in room "room" (v4)
|
||||
Given user "participant1" joins call "room" with 200 (v4)
|
||||
| silent | true |
|
||||
And user "participant1" removes user "participant2" from room "room" with 200 (v4)
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
Given user "participant1" pings user "participant2" to join call "room" with 404 (v4)
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
|
||||
Scenario: Pinging a user that is removed gives 404
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room |
|
||||
When user "participant2" creates room "room2" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room2 |
|
||||
Given user "participant1" joins room "room" with 200 (v4)
|
||||
Given user "participant1" loads attendees attendee ids in room "room" (v4)
|
||||
Given user "participant1" joins call "room" with 200 (v4)
|
||||
| silent | true |
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
Given user "participant1" pings user "participant1" attendeeIdPlusOne to join call "room" with 404 (v4)
|
||||
Then user "participant2" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
@@ -0,0 +1,146 @@
|
||||
Feature: callapi/one-to-one
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
And user "participant2" exists
|
||||
And user "participant3" exists
|
||||
|
||||
Scenario: User has no rooms
|
||||
Then user "participant1" is participant of the following rooms (v4)
|
||||
Then user "participant2" is participant of the following rooms (v4)
|
||||
Then user "participant3" is participant of the following rooms (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a one2one room and they can do everything
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is not participant of room "room" (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
And user "participant2" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 2 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 2 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 1 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 1 peers in call "room" with 200 (v4)
|
||||
Then user "participant2" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
Then user "participant2" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a one2one room and user3 can't do anything
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
Then user "participant3" is not participant of room "room" (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
And user "participant3" joins room "room" with 404 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
And user "participant3" joins call "room" with 404 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant3" leaves call "room" with 404 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant3" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a one2one room and guest can't do anything
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
And user "guest" joins room "room" with 404 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
And user "guest" joins call "room" with 404 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "guest" leaves call "room" with 404 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "guest" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
|
||||
Scenario: Starting a call in a one-to-one re-adds the participants
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
Given user "participant2" creates room "room" with 200 (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant1 |
|
||||
And user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
When user "participant1" removes themselves from room "room" with 200 (v4)
|
||||
Then user "participant1" is not participant of room "room" (v4)
|
||||
When user "participant2" joins room "room" with 200 (v4)
|
||||
Then user "participant1" is not participant of room "room" (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 404 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
When user "participant2" joins call "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 1 peers in call "room" with 200 (v4)
|
||||
|
||||
Scenario: Can not join a call in former one-to-one
|
||||
Given user "participant1" creates room "room" (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant2 |
|
||||
Given user "participant2" creates room "room" with 200 (v4)
|
||||
| roomType | 1 |
|
||||
| invite | participant1 |
|
||||
And user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
Then user "participant1" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 1 | 1 |
|
||||
When user "participant2" is deleted
|
||||
Then user "participant1" is participant of the following rooms (v4)
|
||||
| id | type | participantType |
|
||||
| room | 5 | 1 |
|
||||
When user "participant1" joins room "room" with 200 (v4)
|
||||
And user "participant1" joins call "room" with 403 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "participant1" sees 0 peers in call "room" with 403 (v4)
|
||||
@@ -0,0 +1,169 @@
|
||||
Feature: callapi/password
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
And user "participant2" exists
|
||||
And user "participant3" exists
|
||||
|
||||
Scenario: User has no rooms
|
||||
Then user "participant1" is participant of the following rooms (v4)
|
||||
Then user "participant2" is participant of the following rooms (v4)
|
||||
Then user "participant3" is participant of the following rooms (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a public room and they can do everything
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" sets password "foobar" for room "room" with 200 (v4)
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 2 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 2 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 1 peers in call "room" with 200 (v4)
|
||||
Then user "participant2" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a public room and user3 can not join without password
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" sets password "foobar" for room "room" with 200 (v4)
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
Then user "participant3" is not participant of room "room" (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
And user "participant3" joins room "room" with 403 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
And user "participant3" joins call "room" with 404 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant3" leaves call "room" with 404 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant3" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a public room and user3 can join with password
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" sets password "foobar" for room "room" with 200 (v4)
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
Then user "participant3" is not participant of room "room" (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
And user "participant3" joins room "room" with 200 (v4)
|
||||
| password | foobar |
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 2 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 2 peers in call "room" with 200 (v4)
|
||||
Then user "participant3" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 1 peers in call "room" with 200 (v4)
|
||||
Then user "participant3" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a public room and guest can not join without password
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" sets password "foobar" for room "room" with 200 (v4)
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
And user "guest" joins room "room" with 403 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
And user "guest" joins call "room" with 404 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "guest" leaves call "room" with 404 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a public room and guest can join with password
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" sets password "foobar" for room "room" with 200 (v4)
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
And user "guest" joins room "room" with 200 (v4)
|
||||
| password | foobar |
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 2 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 2 peers in call "room" with 200 (v4)
|
||||
Then user "guest" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 1 peers in call "room" with 200 (v4)
|
||||
Then user "guest" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
@@ -0,0 +1,69 @@
|
||||
Feature: callapi/public-read-only
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
And user "participant2" exists
|
||||
And user "participant3" exists
|
||||
|
||||
Scenario: User1 invites user2 to a public room and they cant join the call in a locked conversation
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
When user "participant1" locks room "room" with 200 (v4)
|
||||
And user "participant1" joins room "room" with 200 (v4)
|
||||
And user "participant1" joins call "room" with 403 (v4)
|
||||
And user "participant2" joins room "room" with 200 (v4)
|
||||
And user "participant2" joins call "room" with 403 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 403 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 403 (v4)
|
||||
When user "participant1" unlocks room "room" with 200 (v4)
|
||||
And user "participant1" joins call "room" with 200 (v4)
|
||||
And user "participant2" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 2 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 2 peers in call "room" with 200 (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a public room and user3 cant join the call in a locked conversation
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
Then user "participant3" is not participant of room "room" (v4)
|
||||
When user "participant1" locks room "room" with 200 (v4)
|
||||
And user "participant1" joins room "room" with 200 (v4)
|
||||
And user "participant1" joins call "room" with 403 (v4)
|
||||
And user "participant3" joins room "room" with 200 (v4)
|
||||
And user "participant3" joins call "room" with 403 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 403 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 403 (v4)
|
||||
When user "participant1" unlocks room "room" with 200 (v4)
|
||||
And user "participant1" joins call "room" with 200 (v4)
|
||||
And user "participant3" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 2 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 2 peers in call "room" with 200 (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a public room and guest cant join the call in a locked conversation
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
When user "participant1" locks room "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" joins call "room" with 403 (v4)
|
||||
Then user "guest" joins room "room" with 200 (v4)
|
||||
And user "guest" joins call "room" with 403 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 403 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 403 (v4)
|
||||
When user "participant1" unlocks room "room" with 200 (v4)
|
||||
And user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
And user "guest" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 2 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 2 peers in call "room" with 200 (v4)
|
||||
@@ -0,0 +1,121 @@
|
||||
Feature: callapi/public
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
And user "participant2" exists
|
||||
And user "participant3" exists
|
||||
|
||||
Scenario: User has no rooms
|
||||
Then user "participant1" is participant of the following rooms (v4)
|
||||
Then user "participant2" is participant of the following rooms (v4)
|
||||
Then user "participant3" is participant of the following rooms (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a public room and they can do everything
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "participant2" is participant of room "room" (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 1 peers in call "room" with 200 (v4)
|
||||
Then user "participant2" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 2 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 2 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 1 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 1 peers in call "room" with 200 (v4)
|
||||
Then user "participant2" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
Then user "participant2" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a public room and user3 can do everything
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
Then user "participant3" is not participant of room "room" (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant3" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 2 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 2 peers in call "room" with 200 (v4)
|
||||
Then user "participant3" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 1 peers in call "room" with 200 (v4)
|
||||
Then user "participant3" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant3" sees 0 peers in call "room" with 404 (v4)
|
||||
|
||||
Scenario: User1 invites user2 to a public room and guest can do everything
|
||||
When user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
Then user "participant1" is participant of room "room" (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" joins room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "participant2" sees 0 peers in call "room" with 200 (v4)
|
||||
Then user "participant1" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "guest" joins room "room" with 200 (v4) session name "guest1"
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" joins call "room" with 200 (v4)
|
||||
Then user "participant1" sees 2 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 2 peers in call "room" with 200 (v4)
|
||||
And guest "guest" sets name to "=1+1" in room "room" with 200 (v1)
|
||||
And invoking occ with "user:setting participant1 settings email participant1@example.tld"
|
||||
And user "participant2" downloads call participants from "room" as "csv" with 403 (v4)
|
||||
And user "participant1" downloads call participants from "room" as "csv" with 200 (v4)
|
||||
| name | email | type | identifier |
|
||||
| participant1-displayname | participant1@example.tld | users | participant1 |
|
||||
| '=1+1 | | guests | guest1 |
|
||||
Then user "guest" leaves call "room" with 200 (v4)
|
||||
And user "participant1" downloads call participants from "room" as "csv" with 200 (v4)
|
||||
| name | email | type | identifier |
|
||||
| participant1-displayname | participant1@example.tld | users | participant1 |
|
||||
| '=1+1 | | guests | guest1 |
|
||||
And invoking occ with "user:setting participant1 settings email --delete"
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 1 peers in call "room" with 200 (v4)
|
||||
Then user "guest" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 1 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves call "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
Then user "participant1" leaves room "room" with 200 (v4)
|
||||
Then user "participant1" sees 0 peers in call "room" with 200 (v4)
|
||||
And user "guest" sees 0 peers in call "room" with 404 (v4)
|
||||
@@ -0,0 +1,733 @@
|
||||
Feature: callapi/recording
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
Given user "participant2" exists
|
||||
|
||||
Scenario: Start and stop video recording
|
||||
Given recording server is started
|
||||
Given signaling server is started
|
||||
And user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
And reset signaling server requests
|
||||
When user "participant1" starts "video" recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"start","start":{"status":1,"owner":"participant1","actor":{"type":"users","id":"participant1"}}} |
|
||||
Then signaling server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"message","message":{"data":{"type":"recording","recording":{"status":3}}}} |
|
||||
| room1 | {"type":"update","update":{"userids":["participant1"],"properties":{"name":"Private conversation","type":2,"lobby-state":0,"lobby-timer":null,"read-only":0,"listable":0,"active-since":{"date":"ACTIVE_SINCE()","timezone_type":3,"timezone":"UTC"},"sip-enabled":0,"description":""}}} |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 3 |
|
||||
And recording server sent started request for "video" recording in room "room1" as "participant1" with 200
|
||||
Then user "participant1" sees the following system messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | systemMessage |
|
||||
| room1 | users | participant1 | participant1-displayname | recording_started |
|
||||
| room1 | users | participant1 | participant1-displayname | call_started |
|
||||
| room1 | users | participant1 | participant1-displayname | conversation_created |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 1 |
|
||||
And reset signaling server requests
|
||||
When user "participant1" stops recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"stop","stop":{"actor":{"type":"users","id":"participant1"}}} |
|
||||
Then signaling server received the following requests
|
||||
# Nothing changes until the recording backend confirms the stop
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 1 |
|
||||
And reset signaling server requests
|
||||
And recording server sent stopped request for recording in room "room1" as "participant1" with 200
|
||||
Then signaling server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"message","message":{"data":{"type":"chat","chat":{"refresh":true}}}} |
|
||||
| room1 | {"type":"message","message":{"data":{"type":"recording","recording":{"status":0}}}} |
|
||||
| room1 | {"type":"update","update":{"userids":["participant1"],"properties":{"name":"Private conversation","type":2,"lobby-state":0,"lobby-timer":null,"read-only":0,"listable":0,"active-since":{"date":"ACTIVE_SINCE()","timezone_type":3,"timezone":"UTC"},"sip-enabled":0,"description":""}}} |
|
||||
Then user "participant1" sees the following system messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | systemMessage |
|
||||
| room1 | users | participant1 | participant1-displayname | recording_stopped |
|
||||
| room1 | users | participant1 | participant1-displayname | recording_started |
|
||||
| room1 | users | participant1 | participant1-displayname | call_started |
|
||||
| room1 | users | participant1 | participant1-displayname | conversation_created |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
|
||||
Scenario: Start and stop audio recording
|
||||
Given recording server is started
|
||||
And user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
When user "participant1" starts "audio" recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"start","start":{"status":2,"owner":"participant1","actor":{"type":"users","id":"participant1"}}} |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 4 |
|
||||
And recording server sent started request for "audio" recording in room "room1" as "participant1" with 200
|
||||
Then user "participant1" sees the following system messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | systemMessage |
|
||||
| room1 | users | participant1 | participant1-displayname | audio_recording_started |
|
||||
| room1 | users | participant1 | participant1-displayname | call_started |
|
||||
| room1 | users | participant1 | participant1-displayname | conversation_created |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 2 |
|
||||
When user "participant1" stops recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"stop","stop":{"actor":{"type":"users","id":"participant1"}}} |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 2 |
|
||||
And recording server sent stopped request for recording in room "room1" as "participant1" with 200
|
||||
Then user "participant1" sees the following system messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | systemMessage |
|
||||
| room1 | users | participant1 | participant1-displayname | audio_recording_stopped |
|
||||
| room1 | users | participant1 | participant1-displayname | audio_recording_started |
|
||||
| room1 | users | participant1 | participant1-displayname | call_started |
|
||||
| room1 | users | participant1 | participant1-displayname | conversation_created |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
|
||||
Scenario: No system message should be shown when the call was just ended for everyone
|
||||
Given recording server is started
|
||||
And user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
When user "participant1" starts "video" recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"start","start":{"status":1,"owner":"participant1","actor":{"type":"users","id":"participant1"}}} |
|
||||
And recording server sent started request for "video" recording in room "room1" as "participant1" with 200
|
||||
Then user "participant1" sees the following system messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | systemMessage |
|
||||
| room1 | users | participant1 | participant1-displayname | recording_started |
|
||||
| room1 | users | participant1 | participant1-displayname | call_started |
|
||||
| room1 | users | participant1 | participant1-displayname | conversation_created |
|
||||
And user "participant1" ends call "room1" with 200 (v4)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"stop","stop":[]} |
|
||||
And recording server sent stopped request for recording in room "room1" with 200
|
||||
Then user "participant1" sees the following system messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | systemMessage |
|
||||
| room1 | users | participant1 | participant1-displayname | call_ended_everyone |
|
||||
| room1 | users | participant1 | participant1-displayname | recording_started |
|
||||
| room1 | users | participant1 | participant1-displayname | call_started |
|
||||
| room1 | users | participant1 | participant1-displayname | conversation_created |
|
||||
|
||||
Scenario: No system message should be shown when the call was ended by the last one leaving
|
||||
Given recording server is started
|
||||
And user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
When user "participant1" starts "video" recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"start","start":{"status":1,"owner":"participant1","actor":{"type":"users","id":"participant1"}}} |
|
||||
And recording server sent started request for "video" recording in room "room1" as "participant1" with 200
|
||||
Then user "participant1" sees the following system messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | systemMessage |
|
||||
| room1 | users | participant1 | participant1-displayname | recording_started |
|
||||
| room1 | users | participant1 | participant1-displayname | call_started |
|
||||
| room1 | users | participant1 | participant1-displayname | conversation_created |
|
||||
And user "participant1" leaves call "room1" with 200 (v4)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"stop","stop":[]} |
|
||||
And recording server sent stopped request for recording in room "room1" with 200
|
||||
Then user "participant1" sees the following system messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | systemMessage |
|
||||
| room1 | users | participant1 | participant1-displayname | call_ended |
|
||||
| room1 | users | participant1 | participant1-displayname | call_left |
|
||||
| room1 | users | participant1 | participant1-displayname | recording_started |
|
||||
| room1 | users | participant1 | participant1-displayname | call_started |
|
||||
| room1 | users | participant1 | participant1-displayname | conversation_created |
|
||||
|
||||
Scenario: Recording failed to start
|
||||
Given recording server is started
|
||||
And user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
And user "participant1" starts "video" recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"start","start":{"status":1,"owner":"participant1","actor":{"type":"users","id":"participant1"}}} |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 3 |
|
||||
When recording server sent failed request for recording in room "room1" with 200
|
||||
Then user "participant1" sees the following system messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | systemMessage |
|
||||
| room1 | users | participant1 | participant1-displayname | call_started |
|
||||
| room1 | users | participant1 | participant1-displayname | conversation_created |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 5 |
|
||||
|
||||
Scenario: Video recording failed
|
||||
Given recording server is started
|
||||
And user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
And user "participant1" starts "video" recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"start","start":{"status":1,"owner":"participant1","actor":{"type":"users","id":"participant1"}}} |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 3 |
|
||||
And recording server sent started request for "video" recording in room "room1" as "participant1" with 200
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 1 |
|
||||
When recording server sent failed request for recording in room "room1" with 200
|
||||
Then user "participant1" sees the following system messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | systemMessage |
|
||||
| room1 | guests | failed-to-get-session | | recording_failed |
|
||||
| room1 | users | participant1 | participant1-displayname | recording_started |
|
||||
| room1 | users | participant1 | participant1-displayname | call_started |
|
||||
| room1 | users | participant1 | participant1-displayname | conversation_created |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 5 |
|
||||
|
||||
Scenario: Start and stop recording again after the previous one failed to start
|
||||
Given recording server is started
|
||||
And user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
And user "participant1" starts "video" recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"start","start":{"status":1,"owner":"participant1","actor":{"type":"users","id":"participant1"}}} |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 3 |
|
||||
And recording server sent failed request for recording in room "room1" with 200
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 5 |
|
||||
When user "participant1" starts "video" recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"start","start":{"status":1,"owner":"participant1","actor":{"type":"users","id":"participant1"}}} |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 3 |
|
||||
And recording server sent started request for "video" recording in room "room1" as "participant1" with 200
|
||||
Then user "participant1" sees the following system messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | systemMessage |
|
||||
| room1 | users | participant1 | participant1-displayname | recording_started |
|
||||
| room1 | users | participant1 | participant1-displayname | call_started |
|
||||
| room1 | users | participant1 | participant1-displayname | conversation_created |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 1 |
|
||||
When user "participant1" stops recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"stop","stop":{"actor":{"type":"users","id":"participant1"}}} |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 1 |
|
||||
And recording server sent stopped request for recording in room "room1" as "participant1" with 200
|
||||
Then user "participant1" sees the following system messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | systemMessage |
|
||||
| room1 | users | participant1 | participant1-displayname | recording_stopped |
|
||||
| room1 | users | participant1 | participant1-displayname | recording_started |
|
||||
| room1 | users | participant1 | participant1-displayname | call_started |
|
||||
| room1 | users | participant1 | participant1-displayname | conversation_created |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
|
||||
Scenario: Start and stop recording again after the previous one failed
|
||||
Given recording server is started
|
||||
And user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
And user "participant1" starts "video" recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"start","start":{"status":1,"owner":"participant1","actor":{"type":"users","id":"participant1"}}} |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 3 |
|
||||
And recording server sent started request for "video" recording in room "room1" as "participant1" with 200
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 1 |
|
||||
And recording server sent failed request for recording in room "room1" with 200
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 5 |
|
||||
When user "participant1" starts "video" recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"start","start":{"status":1,"owner":"participant1","actor":{"type":"users","id":"participant1"}}} |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 3 |
|
||||
And recording server sent started request for "video" recording in room "room1" as "participant1" with 200
|
||||
Then user "participant1" sees the following system messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | systemMessage |
|
||||
| room1 | users | participant1 | participant1-displayname | recording_started |
|
||||
| room1 | guests | failed-to-get-session | | recording_failed |
|
||||
| room1 | users | participant1 | participant1-displayname | recording_started |
|
||||
| room1 | users | participant1 | participant1-displayname | call_started |
|
||||
| room1 | users | participant1 | participant1-displayname | conversation_created |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 1 |
|
||||
When user "participant1" stops recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"stop","stop":{"actor":{"type":"users","id":"participant1"}}} |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 1 |
|
||||
And recording server sent stopped request for recording in room "room1" as "participant1" with 200
|
||||
Then user "participant1" sees the following system messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | systemMessage |
|
||||
| room1 | users | participant1 | participant1-displayname | recording_stopped |
|
||||
| room1 | users | participant1 | participant1-displayname | recording_started |
|
||||
| room1 | guests | failed-to-get-session | | recording_failed |
|
||||
| room1 | users | participant1 | participant1-displayname | recording_started |
|
||||
| room1 | users | participant1 | participant1-displayname | call_started |
|
||||
| room1 | users | participant1 | participant1-displayname | conversation_created |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
|
||||
Scenario: Get error when start|stop recording and already did this
|
||||
Given recording server is started
|
||||
And user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
When user "participant1" starts "audio" recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"start","start":{"status":2,"owner":"participant1","actor":{"type":"users","id":"participant1"}}} |
|
||||
And recording server sent started request for "audio" recording in room "room1" as "participant1" with 200
|
||||
And user "participant1" starts "audio" recording in room "room1" with 400 (v1)
|
||||
Then the response error matches with "recording"
|
||||
And recording server received the following requests
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 2 |
|
||||
When user "participant1" stops recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"stop","stop":{"actor":{"type":"users","id":"participant1"}}} |
|
||||
And user "participant1" stops recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"stop","stop":{"actor":{"type":"users","id":"participant1"}}} |
|
||||
And recording server sent stopped request for recording in room "room1" as "participant1" with 200
|
||||
And user "participant1" stops recording in room "room1" with 200 (v1)
|
||||
Then recording server received the following requests
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
When user "participant1" starts "video" recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"start","start":{"status":1,"owner":"participant1","actor":{"type":"users","id":"participant1"}}} |
|
||||
And recording server sent started request for "video" recording in room "room1" as "participant1" with 200
|
||||
And user "participant1" starts "video" recording in room "room1" with 400 (v1)
|
||||
Then the response error matches with "recording"
|
||||
And recording server received the following requests
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 1 |
|
||||
When user "participant1" stops recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"stop","stop":{"actor":{"type":"users","id":"participant1"}}} |
|
||||
And user "participant1" stops recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"stop","stop":{"actor":{"type":"users","id":"participant1"}}} |
|
||||
And recording server sent stopped request for recording in room "room1" as "participant1" with 200
|
||||
And user "participant1" stops recording in room "room1" with 200 (v1)
|
||||
Then recording server received the following requests
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
|
||||
Scenario: Get error when try to start recording with invalid status
|
||||
Given recording server is started
|
||||
And user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
When user "participant1" starts "invalid" recording in room "room1" with 400 (v1)
|
||||
Then the response error matches with "status"
|
||||
And recording server received the following requests
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
|
||||
Scenario: Manager try without success to start recording when signaling is internal
|
||||
Given user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
When user "participant1" starts "video" recording in room "room1" with 400 (v1)
|
||||
Then the response error matches with "config"
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
When user "participant1" starts "audio" recording in room "room1" with 400 (v1)
|
||||
Then the response error matches with "config"
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
|
||||
Scenario: Get error when non moderator/owner try to start recording
|
||||
Given recording server is started
|
||||
And user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
And user "participant1" adds user "participant2" to room "room1" with 200 (v4)
|
||||
And user "participant2" joins room "room1" with 200 (v4)
|
||||
And user "participant2" joins call "room1" with 200 (v4)
|
||||
When user "participant2" starts "video" recording in room "room1" with 403 (v1)
|
||||
And user "participant2" starts "audio" recording in room "room1" with 403 (v1)
|
||||
Then recording server received the following requests
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
|
||||
Scenario: Get error when try to start recording and no call started
|
||||
Given recording server is started
|
||||
And user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
When user "participant1" starts "video" recording in room "room1" with 400 (v1)
|
||||
Then the response error matches with "call"
|
||||
And recording server received the following requests
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
When user "participant1" starts "audio" recording in room "room1" with 400 (v1)
|
||||
Then the response error matches with "call"
|
||||
And recording server received the following requests
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
|
||||
Scenario: Store recording with success and create transcript
|
||||
Given Fake summary task provider is enabled
|
||||
Given the following spreed app config is set
|
||||
| call_recording_transcription | yes |
|
||||
| call_recording_summary | yes |
|
||||
Given user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
When user "participant1" store recording file "/img/join_call.ogg" in room "room1" with 200 (v1)
|
||||
Then user "participant1" has the following notifications
|
||||
| app | object_type | object_id | subject | message |
|
||||
| spreed | recording | room1 | Call recording now available | The recording for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/join_call.ogg. |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
And repeating run "OC\TaskProcessing\SynchronousBackgroundJob" background jobs
|
||||
Then user "participant1" has the following notifications
|
||||
| app | object_type | object_id | subject | message |
|
||||
| spreed | recording | room1 | Call summary now available | The summary for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/join_call - summary.md. |
|
||||
| spreed | recording | room1 | Transcript now available | The transcript for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/join_call.md. |
|
||||
| spreed | recording | room1 | Call recording now available | The recording for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/join_call.ogg. |
|
||||
When user "participant1" shares file from the last notification to room "room1" with 200 (v1)
|
||||
Then user "participant1" sees the following system messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | systemMessage |
|
||||
| room1 | users | participant1 | participant1-displayname | conversation_created |
|
||||
And user "participant1" sees the following messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | messageType | message | messageParameters |
|
||||
| room1 | users | participant1 | participant1-displayname | record-audio | {file} | "IGNORE" |
|
||||
Then user "participant1" has the following notifications
|
||||
| app | object_type | object_id | subject | message |
|
||||
| spreed | recording | room1 | Call summary now available | The summary for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/join_call - summary.md. |
|
||||
| spreed | recording | room1 | Transcript now available | The transcript for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/join_call.md. |
|
||||
When user "participant1" shares file from the last notification to room "room1" with 200 (v1)
|
||||
Then user "participant1" has the following notifications
|
||||
| app | object_type | object_id | subject | message |
|
||||
| spreed | recording | room1 | Call summary now available | The summary for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/join_call - summary.md. |
|
||||
When user "participant1" shares file from the first notification to room "room1" with 200 (v1)
|
||||
Then user "participant1" has the following notifications
|
||||
| app | object_type | object_id | subject | message |
|
||||
Then user "participant1" sees the following system messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | systemMessage |
|
||||
| room1 | users | participant1 | participant1-displayname | conversation_created |
|
||||
And user "participant1" sees the following messages in room "room1" with 200 (v1)
|
||||
| room | actorType | actorId | actorDisplayName | messageType | message | messageParameters |
|
||||
| room1 | users | participant1 | participant1-displayname | record-audio | {file} | "IGNORE" |
|
||||
| room1 | users | participant1 | participant1-displayname | record-audio | {file} | "IGNORE" |
|
||||
| room1 | users | participant1 | participant1-displayname | record-audio | {file} | "IGNORE" |
|
||||
|
||||
Scenario: Store recording with success but fail to transcript
|
||||
Given Fake summary task provider is enabled
|
||||
Given the following spreed app config is set
|
||||
| call_recording_transcription | yes |
|
||||
| call_recording_summary | yes |
|
||||
Given the following testing app config is set
|
||||
| fail-testing-audio2text | yes |
|
||||
Given user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
When user "participant1" store recording file "/img/leave_call.ogg" in room "room1" with 200 (v1)
|
||||
Then user "participant1" has the following notifications
|
||||
| app | object_type | object_id | subject | message |
|
||||
| spreed | recording | room1 | Call recording now available | The recording for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/leave_call.ogg. |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
And repeating run "OC\TaskProcessing\SynchronousBackgroundJob" background jobs
|
||||
Then user "participant1" has the following notifications
|
||||
| app | object_type | object_id | subject | message |
|
||||
| spreed | recording | room1 | Failed to transcript call recording | The server failed to transcript the recording at /Talk/Recording/ROOM(room1)/leave_call.ogg for the call in room1. Please reach out to the administration. |
|
||||
| spreed | recording | room1 | Call recording now available | The recording for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/leave_call.ogg. |
|
||||
|
||||
Scenario: Store recording and transcript with success but fail to summarize
|
||||
Given Fake summary task provider is enabled
|
||||
Given the following spreed app config is set
|
||||
| call_recording_transcription | yes |
|
||||
| call_recording_summary | yes |
|
||||
Given the following testing app config is set
|
||||
| fail-testing-text2text-summary | yes |
|
||||
Given user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
When user "participant1" store recording file "/img/leave_call.ogg" in room "room1" with 200 (v1)
|
||||
Then user "participant1" has the following notifications
|
||||
| app | object_type | object_id | subject | message |
|
||||
| spreed | recording | room1 | Call recording now available | The recording for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/leave_call.ogg. |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
And repeating run "OC\TaskProcessing\SynchronousBackgroundJob" background jobs
|
||||
Then user "participant1" has the following notifications
|
||||
| app | object_type | object_id | subject | message |
|
||||
| spreed | recording | room1 | Failed to summarize call recording | The server failed to summarize the recording at /Talk/Recording/ROOM(room1)/leave_call.ogg for the call in room1. Please reach out to the administration. |
|
||||
| spreed | recording | room1 | Transcript now available | The transcript for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/leave_call.md. |
|
||||
| spreed | recording | room1 | Call recording now available | The recording for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/leave_call.ogg. |
|
||||
|
||||
Scenario: Store recording and transcript with success but summarize is off
|
||||
Given Fake summary task provider is enabled
|
||||
Given the following spreed app config is set
|
||||
| call_recording_transcription | yes |
|
||||
| call_recording_summary | no |
|
||||
Given user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
When user "participant1" store recording file "/img/leave_call.ogg" in room "room1" with 200 (v1)
|
||||
Then user "participant1" has the following notifications
|
||||
| app | object_type | object_id | subject | message |
|
||||
| spreed | recording | room1 | Call recording now available | The recording for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/leave_call.ogg. |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
And repeating run "OC\TaskProcessing\SynchronousBackgroundJob" background jobs
|
||||
Then user "participant1" has the following notifications
|
||||
| app | object_type | object_id | subject | message |
|
||||
| spreed | recording | room1 | Transcript now available | The transcript for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/leave_call.md. |
|
||||
| spreed | recording | room1 | Call recording now available | The recording for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/leave_call.ogg. |
|
||||
|
||||
Scenario: Store recording and summarize with success but transcript is off
|
||||
Given Fake summary task provider is enabled
|
||||
Given the following spreed app config is set
|
||||
| call_recording_transcription | no |
|
||||
| call_recording_summary | yes |
|
||||
Given user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
When user "participant1" store recording file "/img/join_call.ogg" in room "room1" with 200 (v1)
|
||||
Then user "participant1" has the following notifications
|
||||
| app | object_type | object_id | subject | message |
|
||||
| spreed | recording | room1 | Call recording now available | The recording for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/join_call.ogg. |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
And repeating run "OC\TaskProcessing\SynchronousBackgroundJob" background jobs
|
||||
Then user "participant1" has the following notifications
|
||||
| app | object_type | object_id | subject | message |
|
||||
| spreed | recording | room1 | Call summary now available | The summary for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/join_call - summary.md. |
|
||||
| spreed | recording | room1 | Call recording now available | The recording for the call in room1 was uploaded to /Talk/Recording/ROOM(room1)/join_call.ogg. |
|
||||
|
||||
Scenario: Store recording with failure exceeding the upload_max_filesize
|
||||
Given user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
When user "participant1" store recording file "big" in room "room1" with 400 (v1)
|
||||
Then user "participant1" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
| spreed | recording_information | room1 | Failed to upload call recording |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
|
||||
Scenario: Store recording with failure exceeding the post_max_size
|
||||
Given recording server is started
|
||||
Given user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
And user "participant1" starts "audio" recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"start","start":{"status":2,"owner":"participant1","actor":{"type":"users","id":"participant1"}}} |
|
||||
And recording server sent started request for "audio" recording in room "room1" as "participant1" with 200
|
||||
When user "participant1" ends call "room1" with 200 (v4)
|
||||
Then recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"stop","stop":[]} |
|
||||
And recording server sent stopped request for recording in room "room1" as "participant1" with 200
|
||||
When user "NULL" store recording file "big" in room "room1" with 400 (v1)
|
||||
Then user "participant1" has the following notifications
|
||||
| app | object_type | object_id | subject |
|
||||
| spreed | recording_information | room1 | Failed to upload call recording |
|
||||
|
||||
Scenario: Stop recording automatically when end the call
|
||||
Given recording server is started
|
||||
And user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
And user "participant1" starts "audio" recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"start","start":{"status":2,"owner":"participant1","actor":{"type":"users","id":"participant1"}}} |
|
||||
And recording server sent started request for "audio" recording in room "room1" as "participant1" with 200
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 2 |
|
||||
When user "participant1" ends call "room1" with 200 (v4)
|
||||
Then recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"stop","stop":[]} |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 2 |
|
||||
And recording server sent stopped request for recording in room "room1" as "participant1" with 200
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
|
||||
Scenario: Stop recording automatically when the last participant leaves the call
|
||||
Given recording server is started
|
||||
And user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
And user "participant1" starts "audio" recording in room "room1" with 200 (v1)
|
||||
And recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"start","start":{"status":2,"owner":"participant1","actor":{"type":"users","id":"participant1"}}} |
|
||||
And recording server sent started request for "audio" recording in room "room1" as "participant1" with 200
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 2 |
|
||||
When user "participant1" leaves call "room1" with 200 (v4)
|
||||
Then recording server received the following requests
|
||||
| token | data |
|
||||
| room1 | {"type":"stop","stop":[]} |
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 2 |
|
||||
And recording server sent stopped request for recording in room "room1" with 200
|
||||
And user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | callRecording |
|
||||
| 2 | room1 | 0 |
|
||||
|
||||
Scenario: Recording consent required by admin
|
||||
Given recording server is started
|
||||
And the following "spreed" app config is set
|
||||
| recording_consent | 1 |
|
||||
And user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 400 (v4)
|
||||
And user "participant1" joins call "room1" with 400 (v4)
|
||||
| recordingConsent | 0 |
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
| recordingConsent | 1 |
|
||||
|
||||
Scenario: Recording consent optional by admin enabled by moderator
|
||||
Given recording server is started
|
||||
And the following "spreed" app config is set
|
||||
| recording_consent | 2 |
|
||||
And user "participant1" creates room "room1" (v4)
|
||||
| roomType | 2 |
|
||||
| roomName | room1 |
|
||||
And user "participant1" joins room "room1" with 200 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
# Can not enable consent when a call is on-going …
|
||||
When user "participant1" sets the recording consent to 1 for room "room1" with 400 (v4)
|
||||
Then user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | recordingConsent |
|
||||
| 2 | room1 | 0 |
|
||||
When user "participant1" leaves call "room1" with 200 (v4)
|
||||
And user "participant1" sets the recording consent to 1 for room "room1" with 200 (v4)
|
||||
Then user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | recordingConsent |
|
||||
| 2 | room1 | 1 |
|
||||
And user "participant1" joins call "room1" with 400 (v4)
|
||||
And user "participant1" joins call "room1" with 200 (v4)
|
||||
| recordingConsent | 1 |
|
||||
# … but can disable consent when a call is on-going
|
||||
When user "participant1" sets the recording consent to 0 for room "room1" with 200 (v4)
|
||||
Then user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | recordingConsent |
|
||||
| 2 | room1 | 0 |
|
||||
When user "participant1" leaves call "room1" with 200 (v4)
|
||||
# Invalid value on conversation level
|
||||
When user "participant1" sets the recording consent to 2 for room "room1" with 400 (v4)
|
||||
Then user "participant1" is participant of the following unordered rooms (v4)
|
||||
| type | name | recordingConsent |
|
||||
| 2 | room1 | 0 |
|
||||
And the following recording consent is recorded for room "room1"
|
||||
| token | actorType | actorId |
|
||||
| room1 | users | participant1 |
|
||||
And the following recording consent is recorded for user "participant1"
|
||||
| token | actorType | actorId |
|
||||
| room1 | users | participant1 |
|
||||
@@ -0,0 +1,46 @@
|
||||
Feature: callapi/sip-dialout
|
||||
Background:
|
||||
Given user "participant1" exists
|
||||
Given user "participant2" exists
|
||||
Given group "group1" exists
|
||||
Given user "participant1" is member of group "group1"
|
||||
|
||||
Scenario: SIP admin uses dial out
|
||||
Given signaling server is started
|
||||
And the following "spreed" app config is set
|
||||
| sip_bridge_dialin_info | +49-1234-567890 |
|
||||
| sip_bridge_shared_secret | 1234567890abcdef |
|
||||
| sip_bridge_groups | ["group1"] |
|
||||
| sip_dialout | yes |
|
||||
And user "participant1" creates room "room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "participant1" is participant of the following rooms (v4)
|
||||
| id | type | participantType | sipEnabled |
|
||||
| room | 3 | 1 | 0 |
|
||||
When user "participant1" adds user "participant2" to room "room" with 200 (v4)
|
||||
When user "participant1" adds phone "+491601231212" to room "room" with 200 (v4)
|
||||
Then user "participant1" sees the following attendees in room "room" with 200 (v4)
|
||||
| participantType | inCall | actorType | actorId | displayName | phoneNumber | callId |
|
||||
| 3 | 0 | phones | PHONE(+491601231212) | +49160123… | +491601231212 | |
|
||||
| 3 | 0 | users | participant2 | participant2-displayname | | |
|
||||
| 1 | 0 | users | participant1 | participant1-displayname | | |
|
||||
When user "participant1" joins room "room" with 200 (v4)
|
||||
And user "participant1" joins call "room" with 200 (v4)
|
||||
And reset signaling server requests
|
||||
And signaling server will respond with
|
||||
| response | {"type": "dialout","dialout": {"callid": "the-call-id"}} |
|
||||
And user "participant1" dials out to "+491601231212" from call in room "room" with 201 (v4)
|
||||
Then signaling server received the following requests
|
||||
| token | data |
|
||||
| room | {"type":"dialout","dialout":{"number":"+491601231212","options":{"attendeeId":PHONEATTENDEE(+491601231212),"actorType":"phones","actorId":"PHONE(+491601231212)"}}} |
|
||||
Then user "participant1" sees the following attendees in room "room" with 200 (v4)
|
||||
| participantType | inCall | actorType | actorId | displayName | phoneNumber | callId |
|
||||
| 3 | 0 | phones | PHONE(+491601231212) | +49160123… | +491601231212 | the-call-id |
|
||||
| 3 | 0 | users | participant2 | participant2-displayname | | |
|
||||
| 1 | 7 | users | participant1 | participant1-displayname | | |
|
||||
Then user "participant2" sees the following attendees in room "room" with 200 (v4)
|
||||
| participantType | inCall | actorType | actorId | displayName | phoneNumber | callId |
|
||||
| 3 | 0 | phones | PHONE(+491601231212) | +49160123… | | |
|
||||
| 3 | 0 | users | participant2 | participant2-displayname | | |
|
||||
| 1 | 7 | users | participant1 | participant1-displayname | | |
|
||||
@@ -0,0 +1,282 @@
|
||||
Feature: callapi/update-call-flags
|
||||
Background:
|
||||
Given user "owner" exists
|
||||
And user "moderator" exists
|
||||
And user "invited user" exists
|
||||
And user "not invited but joined user" exists
|
||||
|
||||
Scenario: all participants can update their call flags when in a call
|
||||
Given signaling server is started
|
||||
Given user "owner" creates room "public room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "owner" adds user "moderator" to room "public room" with 200 (v4)
|
||||
And user "owner" promotes "moderator" in room "public room" with 200 (v4)
|
||||
And user "owner" adds user "invited user" to room "public room" with 200 (v4)
|
||||
And user "not invited but joined user" joins room "public room" with 200 (v4)
|
||||
And user "guest moderator" joins room "public room" with 200 (v4)
|
||||
And user "owner" promotes "guest moderator" in room "public room" with 200 (v4)
|
||||
And user "guest" joins room "public room" with 200 (v4)
|
||||
And user "owner" joins room "public room" with 200 (v4)
|
||||
And user "moderator" joins room "public room" with 200 (v4)
|
||||
And user "invited user" joins room "public room" with 200 (v4)
|
||||
And user "not invited but joined user" joins room "public room" with 200 (v4)
|
||||
And reset signaling server requests
|
||||
And user "owner" joins call "public room" with 200 (v4)
|
||||
Then signaling server received the following requests
|
||||
| token | data |
|
||||
| public room | {"type":"message","message":{"data":{"type":"chat","chat":{"refresh":true}}}} |
|
||||
| public room | {"type":"incall","incall":{"incall":7,"changed":[{"inCall":7,"lastPing":LAST_PING(),"sessionId":"SESSION(owner)","nextcloudSessionId":"SESSION(owner)","participantType":1,"participantPermissions":254,"actorType":"users","actorId":"owner","userId":"owner"}],"users":[{"inCall":7,"lastPing":LAST_PING(),"sessionId":"SESSION(owner)","nextcloudSessionId":"SESSION(owner)","participantType":1,"participantPermissions":254,"actorType":"users","actorId":"owner","userId":"owner"}]}} |
|
||||
And reset signaling server requests
|
||||
When user "owner" updates call flags in room "public room" to "1" with 200 (v4)
|
||||
Then signaling server received the following requests
|
||||
| token | data |
|
||||
| public room | {"type":"incall","incall":{"incall":1,"changed":[{"inCall":1,"lastPing":LAST_PING(),"sessionId":"SESSION(owner)","nextcloudSessionId":"SESSION(owner)","participantType":1,"participantPermissions":254,"actorType":"users","actorId":"owner","userId":"owner"}],"users":[{"inCall":1,"lastPing":LAST_PING(),"sessionId":"SESSION(owner)","nextcloudSessionId":"SESSION(owner)","participantType":1,"participantPermissions":254,"actorType":"users","actorId":"owner","userId":"owner"}]}} |
|
||||
And user "moderator" joins call "public room" with 200 (v4)
|
||||
And user "invited user" joins call "public room" with 200 (v4)
|
||||
And user "not invited but joined user" joins call "public room" with 200 (v4)
|
||||
And user "guest moderator" joins call "public room" with 200 (v4)
|
||||
And user "guest" joins call "public room" with 200 (v4)
|
||||
And user "moderator" updates call flags in room "public room" to "1" with 200 (v4)
|
||||
And user "invited user" updates call flags in room "public room" to "1" with 200 (v4)
|
||||
And user "not invited but joined user" updates call flags in room "public room" to "1" with 200 (v4)
|
||||
And user "guest moderator" updates call flags in room "public room" to "1" with 200 (v4)
|
||||
And user "guest" updates call flags in room "public room" to "1" with 200 (v4)
|
||||
Then user "owner" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 1 |
|
||||
| users | moderator | 1 |
|
||||
| users | invited user | 1 |
|
||||
| users | not invited but joined user | 1 |
|
||||
| guests | "guest moderator" | 1 |
|
||||
| guests | "guest" | 1 |
|
||||
And user "moderator" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 1 |
|
||||
| users | moderator | 1 |
|
||||
| users | invited user | 1 |
|
||||
| users | not invited but joined user | 1 |
|
||||
| guests | "guest moderator" | 1 |
|
||||
| guests | "guest" | 1 |
|
||||
And user "invited user" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 1 |
|
||||
| users | moderator | 1 |
|
||||
| users | invited user | 1 |
|
||||
| users | not invited but joined user | 1 |
|
||||
| guests | "guest moderator" | 1 |
|
||||
| guests | "guest" | 1 |
|
||||
And user "not invited but joined user" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 1 |
|
||||
| users | moderator | 1 |
|
||||
| users | invited user | 1 |
|
||||
| users | not invited but joined user | 1 |
|
||||
| guests | "guest moderator" | 1 |
|
||||
| guests | "guest" | 1 |
|
||||
And user "guest moderator" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 1 |
|
||||
| users | moderator | 1 |
|
||||
| users | invited user | 1 |
|
||||
| users | not invited but joined user | 1 |
|
||||
| guests | "guest moderator" | 1 |
|
||||
| guests | "guest" | 1 |
|
||||
|
||||
Scenario: update call flags with in call does not join the call
|
||||
Given user "owner" creates room "public room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "owner" adds user "moderator" to room "public room" with 200 (v4)
|
||||
And user "owner" promotes "moderator" in room "public room" with 200 (v4)
|
||||
And user "owner" adds user "invited user" to room "public room" with 200 (v4)
|
||||
And user "not invited but joined user" joins room "public room" with 200 (v4)
|
||||
And user "guest moderator" joins room "public room" with 200 (v4)
|
||||
And user "owner" promotes "guest moderator" in room "public room" with 200 (v4)
|
||||
And user "guest" joins room "public room" with 200 (v4)
|
||||
And user "owner" joins room "public room" with 200 (v4)
|
||||
And user "moderator" joins room "public room" with 200 (v4)
|
||||
And user "invited user" joins room "public room" with 200 (v4)
|
||||
And user "not invited but joined user" joins room "public room" with 200 (v4)
|
||||
When user "owner" updates call flags in room "public room" to "1" with 400 (v4)
|
||||
And user "moderator" updates call flags in room "public room" to "1" with 400 (v4)
|
||||
And user "invited user" updates call flags in room "public room" to "1" with 400 (v4)
|
||||
And user "not invited but joined user" updates call flags in room "public room" to "1" with 400 (v4)
|
||||
And user "guest moderator" updates call flags in room "public room" to "1" with 400 (v4)
|
||||
And user "guest" updates call flags in room "public room" to "1" with 400 (v4)
|
||||
Then user "owner" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 0 |
|
||||
| users | moderator | 0 |
|
||||
| users | invited user | 0 |
|
||||
| users | not invited but joined user | 0 |
|
||||
| guests | "guest moderator" | 0 |
|
||||
| guests | "guest" | 0 |
|
||||
And user "moderator" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 0 |
|
||||
| users | moderator | 0 |
|
||||
| users | invited user | 0 |
|
||||
| users | not invited but joined user | 0 |
|
||||
| guests | "guest moderator" | 0 |
|
||||
| guests | "guest" | 0 |
|
||||
And user "invited user" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 0 |
|
||||
| users | moderator | 0 |
|
||||
| users | invited user | 0 |
|
||||
| users | not invited but joined user | 0 |
|
||||
| guests | "guest moderator" | 0 |
|
||||
| guests | "guest" | 0 |
|
||||
And user "not invited but joined user" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 0 |
|
||||
| users | moderator | 0 |
|
||||
| users | invited user | 0 |
|
||||
| users | not invited but joined user | 0 |
|
||||
| guests | "guest moderator" | 0 |
|
||||
| guests | "guest" | 0 |
|
||||
And user "guest moderator" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 0 |
|
||||
| users | moderator | 0 |
|
||||
| users | invited user | 0 |
|
||||
| users | not invited but joined user | 0 |
|
||||
| guests | "guest moderator" | 0 |
|
||||
| guests | "guest" | 0 |
|
||||
|
||||
Scenario: update call flags with disconnected does not leave the call
|
||||
Given user "owner" creates room "public room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "owner" adds user "moderator" to room "public room" with 200 (v4)
|
||||
And user "owner" promotes "moderator" in room "public room" with 200 (v4)
|
||||
And user "owner" adds user "invited user" to room "public room" with 200 (v4)
|
||||
And user "not invited but joined user" joins room "public room" with 200 (v4)
|
||||
And user "guest moderator" joins room "public room" with 200 (v4)
|
||||
And user "owner" promotes "guest moderator" in room "public room" with 200 (v4)
|
||||
And user "guest" joins room "public room" with 200 (v4)
|
||||
And user "owner" joins room "public room" with 200 (v4)
|
||||
And user "moderator" joins room "public room" with 200 (v4)
|
||||
And user "invited user" joins room "public room" with 200 (v4)
|
||||
And user "not invited but joined user" joins room "public room" with 200 (v4)
|
||||
And user "owner" joins call "public room" with 200 (v4)
|
||||
And user "moderator" joins call "public room" with 200 (v4)
|
||||
And user "invited user" joins call "public room" with 200 (v4)
|
||||
And user "not invited but joined user" joins call "public room" with 200 (v4)
|
||||
And user "guest moderator" joins call "public room" with 200 (v4)
|
||||
And user "guest" joins call "public room" with 200 (v4)
|
||||
When user "owner" updates call flags in room "public room" to "0" with 400 (v4)
|
||||
And user "moderator" updates call flags in room "public room" to "0" with 400 (v4)
|
||||
And user "invited user" updates call flags in room "public room" to "0" with 400 (v4)
|
||||
And user "not invited but joined user" updates call flags in room "public room" to "0" with 400 (v4)
|
||||
And user "guest moderator" updates call flags in room "public room" to "0" with 400 (v4)
|
||||
And user "guest" updates call flags in room "public room" to "0" with 400 (v4)
|
||||
Then user "owner" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 7 |
|
||||
| users | moderator | 7 |
|
||||
| users | invited user | 7 |
|
||||
| users | not invited but joined user | 7 |
|
||||
| guests | "guest moderator" | 7 |
|
||||
| guests | "guest" | 7 |
|
||||
And user "moderator" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 7 |
|
||||
| users | moderator | 7 |
|
||||
| users | invited user | 7 |
|
||||
| users | not invited but joined user | 7 |
|
||||
| guests | "guest moderator" | 7 |
|
||||
| guests | "guest" | 7 |
|
||||
And user "invited user" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 7 |
|
||||
| users | moderator | 7 |
|
||||
| users | invited user | 7 |
|
||||
| users | not invited but joined user | 7 |
|
||||
| guests | "guest moderator" | 7 |
|
||||
| guests | "guest" | 7 |
|
||||
And user "not invited but joined user" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 7 |
|
||||
| users | moderator | 7 |
|
||||
| users | invited user | 7 |
|
||||
| users | not invited but joined user | 7 |
|
||||
| guests | "guest moderator" | 7 |
|
||||
| guests | "guest" | 7 |
|
||||
And user "guest moderator" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 7 |
|
||||
| users | moderator | 7 |
|
||||
| users | invited user | 7 |
|
||||
| users | not invited but joined user | 7 |
|
||||
| guests | "guest moderator" | 7 |
|
||||
| guests | "guest" | 7 |
|
||||
|
||||
Scenario: update call flags requires in call flag to be set
|
||||
Given user "owner" creates room "public room" (v4)
|
||||
| roomType | 3 |
|
||||
| roomName | room |
|
||||
And user "owner" adds user "moderator" to room "public room" with 200 (v4)
|
||||
And user "owner" promotes "moderator" in room "public room" with 200 (v4)
|
||||
And user "owner" adds user "invited user" to room "public room" with 200 (v4)
|
||||
And user "not invited but joined user" joins room "public room" with 200 (v4)
|
||||
And user "guest moderator" joins room "public room" with 200 (v4)
|
||||
And user "owner" promotes "guest moderator" in room "public room" with 200 (v4)
|
||||
And user "guest" joins room "public room" with 200 (v4)
|
||||
And user "owner" joins room "public room" with 200 (v4)
|
||||
And user "moderator" joins room "public room" with 200 (v4)
|
||||
And user "invited user" joins room "public room" with 200 (v4)
|
||||
And user "not invited but joined user" joins room "public room" with 200 (v4)
|
||||
And user "owner" joins call "public room" with 200 (v4)
|
||||
And user "moderator" joins call "public room" with 200 (v4)
|
||||
And user "invited user" joins call "public room" with 200 (v4)
|
||||
And user "not invited but joined user" joins call "public room" with 200 (v4)
|
||||
And user "guest moderator" joins call "public room" with 200 (v4)
|
||||
And user "guest" joins call "public room" with 200 (v4)
|
||||
When user "owner" updates call flags in room "public room" to "2" with 400 (v4)
|
||||
And user "moderator" updates call flags in room "public room" to "2" with 400 (v4)
|
||||
And user "invited user" updates call flags in room "public room" to "2" with 400 (v4)
|
||||
And user "not invited but joined user" updates call flags in room "public room" to "2" with 400 (v4)
|
||||
And user "guest moderator" updates call flags in room "public room" to "2" with 400 (v4)
|
||||
And user "guest" updates call flags in room "public room" to "2" with 400 (v4)
|
||||
Then user "owner" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 7 |
|
||||
| users | moderator | 7 |
|
||||
| users | invited user | 7 |
|
||||
| users | not invited but joined user | 7 |
|
||||
| guests | "guest moderator" | 7 |
|
||||
| guests | "guest" | 7 |
|
||||
And user "moderator" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 7 |
|
||||
| users | moderator | 7 |
|
||||
| users | invited user | 7 |
|
||||
| users | not invited but joined user | 7 |
|
||||
| guests | "guest moderator" | 7 |
|
||||
| guests | "guest" | 7 |
|
||||
And user "invited user" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 7 |
|
||||
| users | moderator | 7 |
|
||||
| users | invited user | 7 |
|
||||
| users | not invited but joined user | 7 |
|
||||
| guests | "guest moderator" | 7 |
|
||||
| guests | "guest" | 7 |
|
||||
And user "not invited but joined user" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 7 |
|
||||
| users | moderator | 7 |
|
||||
| users | invited user | 7 |
|
||||
| users | not invited but joined user | 7 |
|
||||
| guests | "guest moderator" | 7 |
|
||||
| guests | "guest" | 7 |
|
||||
And user "guest moderator" sees the following attendees in room "public room" with 200 (v4)
|
||||
| actorType | actorId | inCall |
|
||||
| users | owner | 7 |
|
||||
| users | moderator | 7 |
|
||||
| users | invited user | 7 |
|
||||
| users | not invited but joined user | 7 |
|
||||
| guests | "guest moderator" | 7 |
|
||||
| guests | "guest" | 7 |
|
||||
Reference in New Issue
Block a user