mirror of
https://github.com/vector-im/element-call.git
synced 2026-08-29 21:15:19 +00:00
fixup tests
This commit is contained in:
@@ -6,6 +6,7 @@ Please see LICENSE in the repository root for full details.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { expect, test } from "@playwright/test";
|
import { expect, test } from "@playwright/test";
|
||||||
|
import { createJTWToken } from "./fixtures/jwt-token";
|
||||||
|
|
||||||
test("Should show error screen if fails to get JWT token", async ({ page }) => {
|
test("Should show error screen if fails to get JWT token", async ({ page }) => {
|
||||||
await page.goto("/");
|
await page.goto("/");
|
||||||
@@ -93,7 +94,7 @@ test("Should show error screen if call creation is restricted", async ({
|
|||||||
contentType: "application/json",
|
contentType: "application/json",
|
||||||
body: JSON.stringify({
|
body: JSON.stringify({
|
||||||
url: "wss://badurltotricktest/livekit/sfu",
|
url: "wss://badurltotricktest/livekit/sfu",
|
||||||
jwt: "FAKE",
|
jwt: createJTWToken("@fake:user", "!fake:room"),
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|||||||
15
playwright/fixtures/jwt-token.ts
Normal file
15
playwright/fixtures/jwt-token.ts
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
export function createJTWToken(sub: string, room: string) {
|
||||||
|
return [
|
||||||
|
{}, // header
|
||||||
|
{
|
||||||
|
// payload
|
||||||
|
sub,
|
||||||
|
video: {
|
||||||
|
room,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{}, // signature
|
||||||
|
]
|
||||||
|
.map((d) => global.btoa(JSON.stringify(d)))
|
||||||
|
.join(".");
|
||||||
|
}
|
||||||
@@ -68,11 +68,6 @@ test("When creator left, avoid reconnect to the same SFU", async ({
|
|||||||
reducedMotion: "reduce",
|
reducedMotion: "reduce",
|
||||||
});
|
});
|
||||||
const guestCPage = await guestC.newPage();
|
const guestCPage = await guestC.newPage();
|
||||||
let sfuGetCallCount = 0;
|
|
||||||
await guestCPage.route("**/livekit/jwt/sfu/get", async (route) => {
|
|
||||||
sfuGetCallCount++;
|
|
||||||
await route.continue();
|
|
||||||
});
|
|
||||||
// Track WebSocket connections
|
// Track WebSocket connections
|
||||||
let wsConnectionCount = 0;
|
let wsConnectionCount = 0;
|
||||||
await guestCPage.routeWebSocket("**", (ws) => {
|
await guestCPage.routeWebSocket("**", (ws) => {
|
||||||
@@ -100,5 +95,4 @@ test("When creator left, avoid reconnect to the same SFU", async ({
|
|||||||
// https://github.com/element-hq/element-call/issues/3344
|
// https://github.com/element-hq/element-call/issues/3344
|
||||||
// The app used to request a new jwt token then to reconnect to the SFU
|
// The app used to request a new jwt token then to reconnect to the SFU
|
||||||
expect(wsConnectionCount).toBe(1);
|
expect(wsConnectionCount).toBe(1);
|
||||||
expect(sfuGetCallCount).toBe(2 /* the first one is for the warmup */);
|
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user