snapshot of https://github.com/ory/kratos.git (master, 2026-09-15; blobs > 131072B omitted)
Some checks failed
CI / Run tests and lints (push) Failing after 29s
CI / Build CLI docs (push) Has been skipped
CI / Run Playwright end-to-end tests (mysql) (push) Failing after 3s
CI / Run Playwright end-to-end tests (postgres) (push) Failing after 2s
CI / Run Playwright end-to-end tests (sqlite) (push) Failing after 3s
CodeQL / Analyze (go) (push) Failing after 4s
CodeQL / Analyze (javascript) (push) Failing after 3s
Docker Image Scanners / scanners (push) Failing after 4s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Run end-to-end tests (postgres) (push) Failing after 19s
CI / Run end-to-end tests (sqlite) (push) Failing after 2s
CI / Run Playwright end-to-end tests (cockroach) (push) Failing after 2s
CI / Draft newsletter (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
Some checks failed
CI / Run tests and lints (push) Failing after 29s
CI / Build CLI docs (push) Has been skipped
CI / Run Playwright end-to-end tests (mysql) (push) Failing after 3s
CI / Run Playwright end-to-end tests (postgres) (push) Failing after 2s
CI / Run Playwright end-to-end tests (sqlite) (push) Failing after 3s
CodeQL / Analyze (go) (push) Failing after 4s
CodeQL / Analyze (javascript) (push) Failing after 3s
Docker Image Scanners / scanners (push) Failing after 4s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Run end-to-end tests (postgres) (push) Failing after 19s
CI / Run end-to-end tests (sqlite) (push) Failing after 2s
CI / Run Playwright end-to-end tests (cockroach) (push) Failing after 2s
CI / Draft newsletter (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
This commit is contained in:
61
test/e2e/playwright/actions/login.ts
Normal file
61
test/e2e/playwright/actions/login.ts
Normal file
@@ -0,0 +1,61 @@
|
||||
// Copyright © 2024 Ory Corp
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { APIRequestContext } from "@playwright/test"
|
||||
import { findCsrfToken } from "../lib/helper"
|
||||
import { LoginFlow, LogoutFlow, Session } from "@ory/kratos-client"
|
||||
import { expectJSONResponse } from "../lib/request"
|
||||
import { expect } from "../fixtures"
|
||||
|
||||
export async function loginWithPassword(
|
||||
user: { password: string; traits: { email: string } },
|
||||
r: APIRequestContext,
|
||||
baseUrl: string,
|
||||
): Promise<void> {
|
||||
const { ui } = await expectJSONResponse<LoginFlow>(
|
||||
await r.get(baseUrl + "/self-service/login/browser", {
|
||||
headers: {
|
||||
Accept: "application/json",
|
||||
},
|
||||
}),
|
||||
{
|
||||
message: "Initializing login flow failed",
|
||||
},
|
||||
)
|
||||
|
||||
const res = await r.post(ui.action, {
|
||||
headers: {
|
||||
Accept: "application/json",
|
||||
},
|
||||
data: {
|
||||
identifier: user.traits.email,
|
||||
password: user.password,
|
||||
method: "password",
|
||||
csrf_token: findCsrfToken(ui),
|
||||
},
|
||||
})
|
||||
const { session } = await expectJSONResponse<{ session: Session }>(res)
|
||||
expect(session?.identity?.traits.email).toEqual(user.traits.email)
|
||||
expect(
|
||||
res.headersArray().find(
|
||||
({ name, value }) =>
|
||||
name.toLowerCase() === "set-cookie" &&
|
||||
(value.indexOf("ory_session_") > -1 || // Ory Network
|
||||
value.indexOf("ory_kratos_session") > -1), // Locally hosted
|
||||
),
|
||||
).toBeDefined()
|
||||
}
|
||||
|
||||
export async function logoutUrl(r: APIRequestContext, baseUrl: string) {
|
||||
const { logout_url } = await expectJSONResponse<LogoutFlow>(
|
||||
await r.get(baseUrl + "/self-service/logout/browser", {
|
||||
headers: {
|
||||
Accept: "application/json",
|
||||
},
|
||||
}),
|
||||
{
|
||||
message: "Logout failed",
|
||||
},
|
||||
)
|
||||
return logout_url
|
||||
}
|
||||
Reference in New Issue
Block a user