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:
137
test/e2e/playwright/setup/default_config.ts
Normal file
137
test/e2e/playwright/setup/default_config.ts
Normal file
@@ -0,0 +1,137 @@
|
||||
// Copyright © 2023 Ory Corp
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { OryKratosConfiguration } from "../../shared/config"
|
||||
|
||||
export const default_config: OryKratosConfiguration = {
|
||||
dsn: "",
|
||||
identity: {
|
||||
schemas: [
|
||||
{
|
||||
id: "default",
|
||||
url: "file://test/e2e/profiles/oidc/identity.traits.schema.json",
|
||||
},
|
||||
{
|
||||
id: "email",
|
||||
url: "file://test/e2e/profiles/email/identity.traits.schema.json",
|
||||
},
|
||||
],
|
||||
},
|
||||
serve: {
|
||||
public: {
|
||||
base_url: "http://localhost:4455/",
|
||||
cors: {
|
||||
enabled: true,
|
||||
allowed_origins: ["http://localhost:3000", "http://localhost:19006"],
|
||||
allowed_headers: [
|
||||
"Authorization",
|
||||
"Content-Type",
|
||||
"Max-Age",
|
||||
"X-Session-Token",
|
||||
"X-XSRF-TOKEN",
|
||||
"X-CSRF-TOKEN",
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
log: {
|
||||
level: "trace",
|
||||
leak_sensitive_values: true,
|
||||
},
|
||||
secrets: {
|
||||
cookie: ["PLEASE-CHANGE-ME-I-AM-VERY-INSECURE"],
|
||||
cipher: ["secret-thirty-two-character-long"],
|
||||
},
|
||||
selfservice: {
|
||||
default_browser_return_url: "http://localhost:4455/welcome",
|
||||
allowed_return_urls: [
|
||||
"http://localhost:4455",
|
||||
"http://localhost:19006",
|
||||
"https://www.ory.sh/",
|
||||
"https://example.org/",
|
||||
"https://www.example.org/",
|
||||
"exp://example.com/my-app",
|
||||
"https://example.com/my-app",
|
||||
],
|
||||
methods: {
|
||||
link: {
|
||||
config: {
|
||||
lifespan: "1h",
|
||||
},
|
||||
},
|
||||
code: {
|
||||
config: {
|
||||
lifespan: "1h",
|
||||
},
|
||||
},
|
||||
oidc: {
|
||||
enabled: true,
|
||||
config: {
|
||||
providers: [
|
||||
{
|
||||
id: "hydra",
|
||||
label: "Ory",
|
||||
provider: "generic",
|
||||
client_id: process.env["OIDC_HYDRA_CLIENT_ID"],
|
||||
client_secret: process.env["OIDC_HYDRA_CLIENT_SECRET"],
|
||||
issuer_url: "http://localhost:4444/",
|
||||
scope: ["offline"],
|
||||
mapper_url: "file://test/e2e/profiles/oidc/hydra.jsonnet",
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
flows: {
|
||||
settings: {
|
||||
privileged_session_max_age: "5m",
|
||||
ui_url: "http://localhost:4455/settings",
|
||||
},
|
||||
logout: {
|
||||
after: {
|
||||
default_browser_return_url: "http://localhost:4455/login",
|
||||
},
|
||||
},
|
||||
registration: {
|
||||
ui_url: "http://localhost:4455/registration",
|
||||
after: {
|
||||
password: {
|
||||
hooks: [
|
||||
{
|
||||
hook: "session",
|
||||
},
|
||||
],
|
||||
},
|
||||
oidc: {
|
||||
hooks: [
|
||||
{
|
||||
hook: "session",
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
login: {
|
||||
ui_url: "http://localhost:4455/login",
|
||||
},
|
||||
error: {
|
||||
ui_url: "http://localhost:4455/error",
|
||||
},
|
||||
verification: {
|
||||
ui_url: "http://localhost:4455/verify",
|
||||
},
|
||||
recovery: {
|
||||
enabled: true,
|
||||
ui_url: "http://localhost:4455/recovery",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
courier: {
|
||||
smtp: {
|
||||
connection_uri: "smtp://localhost:8026/?disable_starttls=true",
|
||||
},
|
||||
},
|
||||
}
|
||||
40
test/e2e/playwright/setup/hydra-global-setup.ts
Normal file
40
test/e2e/playwright/setup/hydra-global-setup.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
// Copyright © 2024 Ory Corp
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { request } from "@playwright/test"
|
||||
|
||||
/**
|
||||
* Creates a Hydra OAuth2 client and exposes its credentials via process.env so
|
||||
* that test workers see the generated client_id / client_secret when they load
|
||||
* the oidcConfig constants. Playwright propagates process.env mutations from
|
||||
* globalSetup to all worker processes.
|
||||
*/
|
||||
async function globalSetup() {
|
||||
const context = await request.newContext()
|
||||
try {
|
||||
const resp = await context.post("http://localhost:4445/admin/clients", {
|
||||
data: {
|
||||
grant_types: ["authorization_code", "refresh_token"],
|
||||
response_types: ["code", "id_token"],
|
||||
scope: "openid offline",
|
||||
redirect_uris: [
|
||||
"http://localhost:4455/self-service/methods/oidc/callback/hydra",
|
||||
],
|
||||
},
|
||||
})
|
||||
|
||||
if (resp.status() !== 201) {
|
||||
throw new Error(
|
||||
`Failed to create Hydra OAuth2 client: ${resp.status()} ${await resp.text()}`,
|
||||
)
|
||||
}
|
||||
|
||||
const client = await resp.json()
|
||||
process.env["OIDC_HYDRA_CLIENT_ID"] = client.client_id
|
||||
process.env["OIDC_HYDRA_CLIENT_SECRET"] = client.client_secret
|
||||
} finally {
|
||||
await context.dispose()
|
||||
}
|
||||
}
|
||||
|
||||
export default globalSetup
|
||||
Reference in New Issue
Block a user