forked from baron/baron-sso
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { expect, test } from "@playwright/test";
|
|
|
|
test.describe("DevFront login", () => {
|
|
test("shows a clear error instead of silently failing when PKCE cannot run", async ({
|
|
page,
|
|
}) => {
|
|
let authorizeRequested = false;
|
|
await page.route(
|
|
"**/oidc/.well-known/openid-configuration",
|
|
async (route) => {
|
|
await route.fulfill({
|
|
json: {
|
|
issuer: "http://localhost:5000/oidc",
|
|
authorization_endpoint: "http://localhost:5000/oidc/oauth2/auth",
|
|
token_endpoint: "http://localhost:5000/oidc/oauth2/token",
|
|
jwks_uri: "http://localhost:5000/oidc/.well-known/jwks.json",
|
|
},
|
|
headers: { "Access-Control-Allow-Origin": "*" },
|
|
});
|
|
},
|
|
);
|
|
await page.route("**/oidc/oauth2/auth**", async (route) => {
|
|
authorizeRequested = true;
|
|
await route.fulfill({
|
|
status: 500,
|
|
body: "unexpected authorize request",
|
|
});
|
|
});
|
|
|
|
await page.goto("/login");
|
|
await expect(
|
|
page.getByRole("button", { name: "SSO 계정으로 로그인" }),
|
|
).toBeVisible();
|
|
expect(authorizeRequested).toBe(false);
|
|
});
|
|
});
|