forked from baron/baron-sso
custom claim 권한체크 확인
This commit is contained in:
@@ -1,4 +1,10 @@
|
||||
import { expect, type Page, type Route, test } from "@playwright/test";
|
||||
import {
|
||||
expect,
|
||||
type Page,
|
||||
type Route,
|
||||
test,
|
||||
type TestInfo,
|
||||
} from "@playwright/test";
|
||||
|
||||
async function seedTokenLogin(page: Page): Promise<void> {
|
||||
await page.addInitScript(() => {
|
||||
@@ -156,133 +162,157 @@ async function mockInventoryApis(page: Page): Promise<void> {
|
||||
});
|
||||
}
|
||||
|
||||
async function expectRouteUrl(
|
||||
page: Page,
|
||||
expected: RegExp,
|
||||
testInfo: TestInfo,
|
||||
): Promise<void> {
|
||||
await expect(page).toHaveURL(expected, {
|
||||
timeout: testInfo.project.name.includes("webkit") ? 15_000 : 5_000,
|
||||
});
|
||||
}
|
||||
|
||||
test.describe("UserFront WASM route inventory (unauth)", () => {
|
||||
test.beforeEach(async ({ page }) => {
|
||||
await mockInventoryApis(page);
|
||||
});
|
||||
|
||||
test("route: /", async ({ page }) => {
|
||||
test("route: /", async ({ page }, testInfo) => {
|
||||
await page.goto("/");
|
||||
await expect(page).toHaveURL(/\/(ko|en)\/signin(?:\?.*)?$/);
|
||||
await expectRouteUrl(page, /\/(ko|en)\/signin(?:\?.*)?$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko", async ({ page }) => {
|
||||
test("route: /ko", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko");
|
||||
await expect(page).toHaveURL(/\/ko\/signin(?:\?.*)?$/);
|
||||
await expectRouteUrl(page, /\/ko\/signin(?:\?.*)?$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/dashboard", async ({ page }) => {
|
||||
test("route: /ko/dashboard", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/dashboard");
|
||||
await expect(page).toHaveURL(/\/ko\/signin$/);
|
||||
await expectRouteUrl(page, /\/ko\/signin$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/profile", async ({ page }) => {
|
||||
test("route: /ko/profile", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/profile");
|
||||
await expect(page).toHaveURL(/\/ko\/signin$/);
|
||||
await expectRouteUrl(page, /\/ko\/signin$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/admin/users", async ({ page }) => {
|
||||
test("route: /ko/admin/users", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/admin/users");
|
||||
await expect(page).toHaveURL(/\/ko\/signin$/);
|
||||
await expectRouteUrl(page, /\/ko\/signin$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/scan", async ({ page }) => {
|
||||
test("route: /ko/scan", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/scan");
|
||||
await expect(page).toHaveURL(/\/ko\/signin$/);
|
||||
await expectRouteUrl(page, /\/ko\/signin$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/signin", async ({ page }) => {
|
||||
test("route: /ko/signin", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/signin");
|
||||
await expect(page).toHaveURL(/\/ko\/signin$/);
|
||||
await expectRouteUrl(page, /\/ko\/signin$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/login", async ({ page }) => {
|
||||
test("route: /ko/login", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/login");
|
||||
await expect(page).toHaveURL(/\/ko\/login$/);
|
||||
await expectRouteUrl(page, /\/ko\/login$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/signup", async ({ page }) => {
|
||||
test("route: /ko/signup", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/signup");
|
||||
await expect(page).toHaveURL(/\/ko\/signup$/);
|
||||
await expectRouteUrl(page, /\/ko\/signup$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/registration", async ({ page }) => {
|
||||
test("route: /ko/registration", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/registration");
|
||||
await expect(page).toHaveURL(/\/ko\/registration$/);
|
||||
await expectRouteUrl(page, /\/ko\/registration$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/verify", async ({ page }) => {
|
||||
test("route: /ko/verify", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/verify");
|
||||
await expect(page).toHaveURL(/\/ko\/verify$/);
|
||||
await expectRouteUrl(page, /\/ko\/verify$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/verify/:token", async ({ page }) => {
|
||||
test("route: /ko/verify/:token", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/verify/e2e-token");
|
||||
await expect(page).toHaveURL(/\/ko\/verify\/e2e-token$/);
|
||||
await expectRouteUrl(page, /\/ko\/verify\/e2e-token$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/verification", async ({ page }) => {
|
||||
test("route: /ko/verification", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/verification");
|
||||
await expect(page).toHaveURL(/\/ko\/verification$/);
|
||||
await expectRouteUrl(page, /\/ko\/verification$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/verify-complete", async ({ page }) => {
|
||||
test("route: /ko/verify-complete", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/verify-complete");
|
||||
await expect(page).toHaveURL(/\/ko\/verify-complete$/);
|
||||
await expectRouteUrl(page, /\/ko\/verify-complete$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/l/:shortCode", async ({ page }) => {
|
||||
test("route: /ko/l/:shortCode", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/l/AB123456");
|
||||
await expect(page).toHaveURL(/\/ko\/l\/AB123456$/);
|
||||
await expectRouteUrl(page, /\/ko\/l\/AB123456$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/forgot-password", async ({ page }) => {
|
||||
test("route: /ko/forgot-password", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/forgot-password");
|
||||
await expect(page).toHaveURL(/\/ko\/forgot-password$/);
|
||||
await expectRouteUrl(page, /\/ko\/forgot-password$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/recovery", async ({ page }) => {
|
||||
test("route: /ko/recovery", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/recovery");
|
||||
await expect(page).toHaveURL(/\/ko\/recovery$/);
|
||||
await expectRouteUrl(page, /\/ko\/recovery$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/reset-password", async ({ page }) => {
|
||||
test("route: /ko/reset-password", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/reset-password?token=e2e-reset-token");
|
||||
await expect(page).toHaveURL(
|
||||
await expectRouteUrl(
|
||||
page,
|
||||
/\/ko\/reset-password\?token=e2e-reset-token$/,
|
||||
testInfo,
|
||||
);
|
||||
});
|
||||
|
||||
test("route: /ko/error", async ({ page }) => {
|
||||
test("route: /ko/error", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/error?error=invalid_request");
|
||||
await expect(page).toHaveURL(/\/ko\/error\?error=invalid_request$/);
|
||||
await expectRouteUrl(page, /\/ko\/error\?error=invalid_request$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/settings", async ({ page }) => {
|
||||
test("route: /ko/settings", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/settings");
|
||||
await expect(page).toHaveURL(/\/ko\/settings$/);
|
||||
await expectRouteUrl(page, /\/ko\/settings$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/consent (missing challenge)", async ({ page }) => {
|
||||
test("route: /ko/consent (missing challenge)", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/consent");
|
||||
await expect(page).toHaveURL(/\/ko\/consent$/);
|
||||
await expectRouteUrl(page, /\/ko\/consent$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/consent?consent_challenge=...", async ({ page }) => {
|
||||
test("route: /ko/consent?consent_challenge=...", async ({
|
||||
page,
|
||||
}, testInfo) => {
|
||||
await page.goto("/ko/consent?consent_challenge=e2e-consent");
|
||||
await expect(page).toHaveURL(
|
||||
await expectRouteUrl(
|
||||
page,
|
||||
/\/ko\/consent\?consent_challenge=e2e-consent$/,
|
||||
testInfo,
|
||||
);
|
||||
});
|
||||
|
||||
test("route: /ko/approve?ref=...", async ({ page }) => {
|
||||
test("route: /ko/approve?ref=...", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/approve?ref=e2e-ref");
|
||||
await expect(page).toHaveURL(/\/ko\/signin\?notice=qr_login_required$/);
|
||||
await expectRouteUrl(
|
||||
page,
|
||||
/\/ko\/signin\?notice=qr_login_required$/,
|
||||
testInfo,
|
||||
);
|
||||
});
|
||||
|
||||
test("route: /ko/ql/:ref", async ({ page }) => {
|
||||
test("route: /ko/ql/:ref", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/ql/e2e-ref");
|
||||
await expect(page).toHaveURL(/\/ko\/signin\?notice=qr_login_required$/);
|
||||
await expectRouteUrl(
|
||||
page,
|
||||
/\/ko\/signin\?notice=qr_login_required$/,
|
||||
testInfo,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -292,44 +322,40 @@ test.describe("UserFront WASM route inventory (authed)", () => {
|
||||
await mockInventoryApis(page);
|
||||
});
|
||||
|
||||
test("route: /ko -> /ko/dashboard", async ({ page }) => {
|
||||
test("route: /ko -> /ko/dashboard", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko");
|
||||
await expect(page).toHaveURL(/\/ko\/dashboard$/);
|
||||
await expectRouteUrl(page, /\/ko\/dashboard$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/dashboard", async ({ page }) => {
|
||||
test("route: /ko/dashboard", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/dashboard");
|
||||
await expect(page).toHaveURL(/\/ko\/dashboard$/);
|
||||
await expectRouteUrl(page, /\/ko\/dashboard$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/profile", async ({ page }) => {
|
||||
test("route: /ko/profile", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/profile");
|
||||
await expect(page).toHaveURL(/\/ko\/profile$/);
|
||||
await expectRouteUrl(page, /\/ko\/profile$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/admin/users", async ({ page }) => {
|
||||
test("route: /ko/admin/users", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/admin/users");
|
||||
await expect(page).toHaveURL(/\/ko\/admin\/users$/);
|
||||
await expectRouteUrl(page, /\/ko\/admin\/users$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/scan", async ({ page }) => {
|
||||
test("route: /ko/scan", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/scan");
|
||||
await expect(page).toHaveURL(/\/ko\/scan$/);
|
||||
await expectRouteUrl(page, /\/ko\/scan$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/approve?ref=... -> /ko/dashboard", async ({
|
||||
page,
|
||||
}, testInfo) => {
|
||||
await page.goto("/ko/approve?ref=e2e-ref");
|
||||
await expect(page).toHaveURL(/\/ko\/dashboard$/, {
|
||||
timeout: testInfo.project.name === "webkit-desktop" ? 15_000 : 5_000,
|
||||
});
|
||||
await expectRouteUrl(page, /\/ko\/dashboard$/, testInfo);
|
||||
});
|
||||
|
||||
test("route: /ko/ql/:ref -> /ko/dashboard", async ({ page }, testInfo) => {
|
||||
await page.goto("/ko/ql/e2e-ref");
|
||||
await expect(page).toHaveURL(/\/ko\/dashboard$/, {
|
||||
timeout: testInfo.project.name === "webkit-desktop" ? 15_000 : 5_000,
|
||||
});
|
||||
await expectRouteUrl(page, /\/ko\/dashboard$/, testInfo);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user