Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
84c247f
Call start time performance tests
iAmmar7 Aug 12, 2025
3ed10c5
make time 4 seconds
iAmmar7 Aug 12, 2025
70d3604
make time 5 seconds
iAmmar7 Aug 12, 2025
b1a156d
Debug CI
iAmmar7 Aug 13, 2025
4ad51e4
run ci on the temp branch
iAmmar7 Aug 13, 2025
1ca1196
remove catch block for expectToPass
iAmmar7 Aug 13, 2025
b6e8539
run only roomSessionFollowLeader.spec.ts
iAmmar7 Aug 13, 2025
a42553a
expectToPass for the room join
iAmmar7 Aug 13, 2025
920befb
run only roomSessionPromoteDemote.spec.ts
iAmmar7 Aug 13, 2025
ec3a690
set timeout to 10 seconds
iAmmar7 Aug 13, 2025
2f0aa9b
Merge branch 'main' into aa/debug-ci
iAmmar7 Aug 14, 2025
85479ab
remove the temp branch from the CI
iAmmar7 Aug 14, 2025
227c1e8
remove performance tests from this branch
iAmmar7 Aug 14, 2025
ac5d2ff
Merge branch 'main' into aa/debug-ci
iAmmar7 Aug 14, 2025
b3f430e
verto.bye
iAmmar7 Aug 14, 2025
c166842
do not swallow error in expectToPass
iAmmar7 Aug 14, 2025
fae215d
remove expectToPass for leave() promise
iAmmar7 Aug 14, 2025
1a6dd6a
wrap MCU assertion in expectToPass
iAmmar7 Aug 14, 2025
1c1cb21
increase expectToPass timeout to 20 seconds
iAmmar7 Aug 14, 2025
5fc83b7
setState log with debug
iAmmar7 Aug 14, 2025
ae34ec1
log callId when changing the SDK state
iAmmar7 Aug 14, 2025
f96c6ce
log when event is received
iAmmar7 Aug 14, 2025
04a28cd
update expectToPass
iAmmar7 Aug 14, 2025
f46e3d0
remove the expectToPass usage from the roomSessionFollowLeader.spec.ts
iAmmar7 Aug 14, 2025
7af4e94
enable all promote demote and audience tests
iAmmar7 Aug 14, 2025
b8f3251
remove logs
iAmmar7 Aug 15, 2025
97d6ef0
stream check with page reload
iAmmar7 Aug 19, 2025
19d8ebd
Merge branch 'main_video_v3' into aa/debug-ci
iAmmar7 Aug 19, 2025
cc706f8
run the CI on main_video_v3 branch
iAmmar7 Aug 19, 2025
150ba51
refactor roomSessionPromoteDemote.spec.ts with new utilities
iAmmar7 Aug 20, 2025
2c3daa7
revert utilities
iAmmar7 Aug 21, 2025
c3f7ce5
use utility in roomSessionPromoteDemote.spec.ts
iAmmar7 Aug 21, 2025
004067d
run only promote tests
iAmmar7 Aug 21, 2025
ea190af
remove default assertion
iAmmar7 Aug 21, 2025
3cd80d6
use utility in room join
iAmmar7 Aug 21, 2025
2735af7
update layout and member id utility
iAmmar7 Aug 21, 2025
dc2dd74
use getStats with new utility
iAmmar7 Aug 21, 2025
32e906f
enable all tests in CI for browser prod
iAmmar7 Aug 21, 2025
8d62672
introduce 'talking' project in playwright test
iAmmar7 Aug 21, 2025
6b4aac0
use utility in leaveRoom method
iAmmar7 Aug 21, 2025
7a73371
use utility in common utils
iAmmar7 Aug 21, 2025
b5ff99f
remove assertion from the getStats utility
iAmmar7 Aug 21, 2025
c5fa7e1
bug fix: async
iAmmar7 Aug 21, 2025
8ad33eb
remove page.evaluate from the room session bad network
iAmmar7 Aug 22, 2025
87391d9
network down for 5 seconds
iAmmar7 Aug 22, 2025
9021a7c
use the default assertion
iAmmar7 Aug 25, 2025
072eb65
set longer timeout for the media event
iAmmar7 Aug 25, 2025
b239f44
run only badNetwork and streaming tests
iAmmar7 Aug 25, 2025
f413951
resolve race condition in bad network test
iAmmar7 Aug 25, 2025
114e96e
use the expectToPass in streaming API tests
iAmmar7 Aug 25, 2025
14790ef
remove the unnecessary 'as const'
iAmmar7 Aug 25, 2025
e477ef3
enable all the prod CI
iAmmar7 Aug 25, 2025
758143e
make assertion mandatory
iAmmar7 Aug 26, 2025
84e5a47
replace page.evaluate with expectPageEvalToPass in buildVideoElement …
iAmmar7 Aug 26, 2025
344b381
replace page.evaluate with expectPageEvalToPass in buildVideoElement …
iAmmar7 Aug 26, 2025
da5e8ad
add logs in the fabric video tests
iAmmar7 Aug 26, 2025
8344b03
fix the build video tests
iAmmar7 Aug 27, 2025
037f852
remove 'only'
iAmmar7 Aug 27, 2025
a5c88ef
aa/debug-ci
iAmmar7 Aug 27, 2025
d16f11f
fix roomSessionBadNetwork assert
iAmmar7 Aug 27, 2025
df84262
fix roomSessionPromoteDemote assert
iAmmar7 Aug 27, 2025
a3b9c92
use new utility in roomSessionAudienceCount
iAmmar7 Aug 27, 2025
1fa4d90
use new utility in roomSession tests
iAmmar7 Aug 27, 2025
b4ce7a6
use new utility in roomSessionJoinFrom tests
iAmmar7 Aug 27, 2025
912222c
use new utility in roomSessionJoinUntil tests
iAmmar7 Aug 27, 2025
8c7f00d
use new utility in roomSessionLocalStream tests
iAmmar7 Aug 27, 2025
1e3261f
use new utility in roomSessionLockUnlock tests
iAmmar7 Aug 27, 2025
e95294a
use new utility in roomSessionUpdateMedia tests
iAmmar7 Aug 27, 2025
b3b7bfe
use new utility in roomSessionRaiseHand tests
iAmmar7 Aug 27, 2025
3bfe612
use new utility in roomSessionReattach tests
iAmmar7 Aug 27, 2025
8361f8f
use new utility in roomSessionReattachBadAuth tests
iAmmar7 Aug 27, 2025
b762d4c
use new utility in roomSessionReattachMultiple tests
iAmmar7 Aug 27, 2025
be54daf
use new utility in roomSessionReattachScreenshare tests
iAmmar7 Aug 27, 2025
2793a54
use new utility in roomSessionReattachWrongCallId tests
iAmmar7 Aug 27, 2025
48faf8e
use new utility in roomSessionRemoveAfterSecondsElapsed tests
iAmmar7 Aug 27, 2025
cf4ae44
use new utility in roomSessionRemoveAt tests
iAmmar7 Aug 27, 2025
a12a870
use new utility in roomSessionUnauthorized tests
iAmmar7 Aug 27, 2025
d073dc5
use new utility in roomSessionMethodsOnNonExisitingMembers tests
iAmmar7 Aug 27, 2025
bb45bdb
debug roomSessionReattachWrongProtocol.spec.ts
iAmmar7 Aug 27, 2025
f1c565f
increase timeout for room.joined event
iAmmar7 Aug 27, 2025
cc648c5
replace 'expectRoomJoinWithDefaults' with 'joinRoom' and 'expectRoomJ…
iAmmar7 Aug 28, 2025
260c105
replace util in roomSessionAudienceCount
iAmmar7 Aug 28, 2025
fc34123
replace the utility in other tests
iAmmar7 Aug 28, 2025
6d195a9
enable room session reattach with wrong protocol
iAmmar7 Aug 28, 2025
aaba69e
introduce new test projects
iAmmar7 Aug 28, 2025
41477c1
add timeout to stream visibility
iAmmar7 Aug 28, 2025
b465253
rely on the expectToPass timeout for stream
iAmmar7 Aug 28, 2025
b1ec2cb
increase timeout to 60 seconds
iAmmar7 Aug 28, 2025
7b92c98
increate default timeout to 20 seconds
iAmmar7 Aug 28, 2025
22018b3
set default utility timeout to 20 seconds
iAmmar7 Aug 28, 2025
2b5aa76
update MCU locator with timeout
iAmmar7 Aug 29, 2025
d5d7323
add debugging logs
iAmmar7 Aug 29, 2025
ae30de6
add debugging logs
iAmmar7 Aug 29, 2025
e765071
increase mcu visibility timeout to 30 seconds
iAmmar7 Aug 29, 2025
1f63acc
fallback to the previous MCU assertions
iAmmar7 Aug 29, 2025
6d115f7
fallback to 10 seconds in utils
iAmmar7 Sep 1, 2025
ea4d3c8
increase room.joined after reattach
iAmmar7 Sep 1, 2025
1bc7493
add logs in roomSession.spec.ts
iAmmar7 Sep 1, 2025
ebc5cac
enable all tests in the CI
iAmmar7 Sep 1, 2025
0626460
add loga
iAmmar7 Sep 1, 2025
91f1350
remove ts issues
iAmmar7 Sep 1, 2025
5991e3d
add more logs in the room.joined util
iAmmar7 Sep 2, 2025
f4bd29c
refactor room join utils
iAmmar7 Sep 2, 2025
9d21fcd
remove logs
iAmmar7 Sep 2, 2025
24ad272
refactor return value from evaluateFn
iAmmar7 Sep 3, 2025
4cd099f
update timeout and intervals
iAmmar7 Sep 3, 2025
db19bd5
add a roomObj check
iAmmar7 Sep 3, 2025
9387929
add logs
iAmmar7 Sep 3, 2025
48c9397
debug: add logs
iAmmar7 Sep 3, 2025
abc8f38
assertions inside the expectRoomJoinedEvent util
iAmmar7 Sep 3, 2025
ebc25ec
assert based on conditions in the roomSessionLocalStream
iAmmar7 Sep 3, 2025
ce5577b
include test.step in roomSessionStreamingAPI
iAmmar7 Sep 4, 2025
0194fff
use polling for stream check
iAmmar7 Sep 4, 2025
d796dce
use Promise.allSettled in test fixture cleanup
iAmmar7 Sep 4, 2025
64e12fc
await the stream check step
iAmmar7 Sep 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/workflows/browser-js-production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,17 @@ jobs:
project:
[
default,
chatPubSub,
streaming,
badNetwork,
promote,
demote,
audience,
talking,
removeMember,
joinFlow,
devices,
interactions,
reattach,
callfabric,
renegotiation,
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/browser-js-staging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,17 @@ jobs:
node-version: [20.x]
project: [
default,
chatPubSub,
# streaming,
# badNetwork,
# promote,
# demote,
# audience,
talking,
removeMember,
joinFlow,
devices,
interactions,
# reattach,
callfabric,
renegotiation,
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: Tests

on:
push:
branches: [main]
branches: [main, main_video_v3]
pull_request:
branches: [main, dev]
branches: [main, main_video_v3]
workflow_dispatch:

concurrency:
Expand Down
6 changes: 1 addition & 5 deletions internal/e2e-js/fixtures.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,7 @@ const test = baseTest.extend<CustomFixture>({
* Invoke `.leave()` only if we have a valid `roomSessionId`.
* Then double check the SDK elements got properly removed from the DOM.
*/
const results = await Promise.all(context.pages().map(leaveRoom))
results.forEach((row) => {
expect(row.videos).toBe(0)
expect(row.rootEl).toBe(0)
})
await Promise.all(context.pages().map(leaveRoom))

/**
* The Call Fabric SDK does not destory the client when the call is finished.
Expand Down
69 changes: 64 additions & 5 deletions internal/e2e-js/playwright.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ require('dotenv').config()

import { PlaywrightTestConfig, devices } from '@playwright/test'

const chatPubSubTests = ['chat.spec.ts', 'pubSub.spec.ts']
const streamingTests = [
'roomSessionStreamingAPI.spec.ts',
'roomSessionStreaming.spec.ts',
Expand All @@ -27,6 +28,28 @@ const audienceTests = [
'roomSessionTalkingEventsToAudience.spec.ts',
'roomSessionUnauthorized.spec.ts',
]
const joinFlowTests = [
'roomSessionJoinFrom.spec.ts',
'roomSessionJoinUntil.spec.ts',
]
const talkingTests = [
'roomSessionTalkingEventsParticipant.spec.ts',
'roomSessionTalkingEventsToAudience.spec.ts',
]
const removeMemberTests = [
'roomSessionRemoveAfterSecondsElapsed.spec.ts',
'roomSessionRemoveAllMembers.spec.ts',
'roomSessionRemoveAt.spec.ts',
]
const deviceTests = [
'roomSessionDevices.spec.ts',
'roomSessionLocalStream.spec.ts',
]
const interactionTests = [
'roomSessionLockUnlock.spec.ts',
'roomSessionRaiseHand.spec.ts',
'roomSessionMethodsOnNonExistingMembers.spec.ts',
]
const reattachTests = [
'roomSessionReattach.spec.ts',
'roomSessionReattachBadAuth.spec.ts',
Expand Down Expand Up @@ -61,7 +84,7 @@ const videoElementTests = [
'buildVideoWithVideoSDK.spec.ts',
'buildVideoWithFabricSDK.spec.ts',
]
const v2WebRTC = ['v2WebrtcFromRest.spec.ts', 'webrtcCalling.spec.ts']
const v2WebRTCTests = ['v2WebrtcFromRest.spec.ts', 'webrtcCalling.spec.ts']

const useDesktopChrome: PlaywrightTestConfig['use'] = {
...devices['Desktop Chrome'],
Expand All @@ -77,14 +100,14 @@ const useDesktopChrome: PlaywrightTestConfig['use'] = {

const config: PlaywrightTestConfig = {
testDir: 'tests',
reporter: process.env.CI ? [['github'], ['line']] : [['list'], ['line']],
reporter: process.env.CI ? [['github'], ['line']] : [['list']],
globalSetup: require.resolve('./global-setup'),
testMatch: undefined,
testIgnore: undefined,
timeout: 120_000,
expect: {
// Default is 5000
timeout: 10_000,
timeout: 20_000,
},
// Forbid test.only on CI
forbidOnly: !!process.env.CI,
Expand All @@ -95,18 +118,29 @@ const config: PlaywrightTestConfig = {
name: 'default',
use: useDesktopChrome,
testIgnore: [
...chatPubSubTests,
...badNetworkTests,
...streamingTests,
...promoteTests,
...demoteTests,
...audienceTests,
...talkingTests,
...removeMemberTests,
...joinFlowTests,
...deviceTests,
...interactionTests,
...reattachTests,
...callfabricTests,
...renegotiationTests,
...videoElementTests,
...v2WebRTC,
...v2WebRTCTests,
],
},
{
name: 'chatPubSub',
use: useDesktopChrome,
testMatch: chatPubSubTests,
},
{
name: 'streaming',
use: useDesktopChrome,
Expand All @@ -132,6 +166,31 @@ const config: PlaywrightTestConfig = {
use: useDesktopChrome,
testMatch: audienceTests,
},
{
name: 'talking',
use: useDesktopChrome,
testMatch: talkingTests,
},
{
name: 'removeMember',
use: useDesktopChrome,
testMatch: removeMemberTests,
},
{
name: 'joinFlow',
use: useDesktopChrome,
testMatch: joinFlowTests,
},
{
name: 'devices',
use: useDesktopChrome,
testMatch: deviceTests,
},
{
name: 'interactions',
use: useDesktopChrome,
testMatch: interactionTests,
},
{
name: 'reattach',
use: useDesktopChrome,
Expand All @@ -155,7 +214,7 @@ const config: PlaywrightTestConfig = {
{
name: 'v2WebRTC',
use: useDesktopChrome,
testMatch: v2WebRTC,
testMatch: v2WebRTCTests,
},
],
}
Expand Down
Loading
Loading