mirror of https://github.com/OpenVidu/openvidu.git
2.4 KiB
2.4 KiB
MODIFIED Requirements
Requirement: Egress document
Edition: CE and PRO. An egresses document SHALL describe one egress: room reference, type, source,
lifecycle status with history, timestamps, error, a sanitized request summary, the request in raw payload encoding and
its outputs, with the field list of the shared contract. statusHistory SHALL hold one entry per status, at its first
report. roomNameLower SHALL be the lower-cased roomName, written together with it.
Scenario: Fields of an egress document
- WHEN an egress document is read
- THEN it has
roomSid,roomName,roomNameLower,type(room_composite|web|participant|track_composite|track),sourceType,status(starting|active|ending|complete|failed|aborted|limit_reached),closedBy,startedAt,updatedAt,endedAt,durationMs,error,errorCode,request(sanitized),rawRequest?,outputs[] { kind, name or url, location, size, durationMs, status, error, startedAt, endedAt },statusHistory[]with at most 50 entries,retryCount,backupStorageUsed,schemaVersion,expiresAt
Scenario: Egress completes
- GIVEN
EGRESS_STARTED, twoEGRESS_UPDATEDandEGRESS_ENDEDwith status COMPLETE and one file result - WHEN all are processed
- THEN the document has
status: "complete", one output of kindfilewith its filename, location, size and duration, and fourstatusHistoryentries
Scenario: Status reported twice
- GIVEN an egress with a file and a stream output whose two
EGRESS_UPDATEDreportactiveat 09:06:49.336 and 09:06:49.349 - WHEN they are processed, in either order
- THEN
statusHistoryholds oneactiveentry, at 09:06:49.336
Scenario: Credentials are never stored
- GIVEN an egress request with S3 credentials and a stream URL containing a key
- WHEN the egress is projected
- THEN neither
requestnorrawRequestcontains a credential field, and the stream output URL has its key redacted
Scenario: Room name search field
- GIVEN an egress of room
Demo-Room - WHEN its document is read
- THEN it has
roomName: "Demo-Room"androomNameLower: "demo-room"
Scenario: Web egress without room
- GIVEN a web egress, which has no room
- WHEN its document is read
- THEN it has neither
roomNamenorroomNameLower