Add optional Cloudflare TURN credentials and secure profile sharing

This commit is contained in:
vorotamoroz
2026-09-15 16:20:03 +00:00
parent ba297d1233
commit 93bc161f20
40 changed files with 1855 additions and 182 deletions
@@ -52,6 +52,29 @@ Deno.test({
assertEquals(await page.getByPlaceholder("Enter TURN username").inputValue(), "browser-turn-user");
assertEquals(await page.getByPlaceholder("Enter TURN credential").inputValue(), "browser-turn-credential");
assertEquals(await page.getByRole("button", { name: "Connect", exact: true }).isVisible(), true);
await page.getByLabel("TURN configuration", { exact: true }).selectOption("cloudflare");
assertEquals(await saveTurn.isDisabled(), true);
await page.getByLabel("TURN Key ID", { exact: true }).fill("browser-turn-key");
const tokenField = page.getByLabel("TURN Key API Token", { exact: true });
assertEquals(await tokenField.getAttribute("type"), "password");
await tokenField.fill("browser-api-token");
await saveTurn.click();
await waitFor(async () => await saveTurn.isDisabled(), "WebPeer did not save its managed TURN profile");
assertEquals(await page.getByPlaceholder("anything-you-like").inputValue(), "browser-e2e-room");
await page.reload();
await page.getByRole("heading", { name: "Peer to Peer Replicator", exact: true }).waitFor();
assertEquals(await page.getByPlaceholder("anything-you-like").inputValue(), "browser-e2e-room");
await page.getByText("Optional TURN server settings", { exact: true }).click();
assertEquals(await page.getByLabel("TURN configuration", { exact: true }).inputValue(), "cloudflare");
assertEquals(await page.getByLabel("TURN Key ID", { exact: true }).inputValue(), "browser-turn-key");
assertEquals(
await page.getByLabel("TURN Key API Token", { exact: true }).inputValue(),
"browser-api-token"
);
await page.getByLabel("TURN configuration", { exact: true }).selectOption("manual");
assertEquals(await page.getByPlaceholder("Enter TURN username").inputValue(), "browser-turn-user");
assertEquals(await page.getByPlaceholder("Enter TURN credential").inputValue(), "browser-turn-credential");
assertNoPageFailures();
} finally {
await browser.close();