This commit is contained in:
Elio Bischof
2025-06-20 14:22:42 +02:00
parent 74923f798c
commit 28e0cbf278
29 changed files with 174 additions and 164 deletions

View File

@@ -24,7 +24,6 @@ public/dist
Makefile
docker-bake.hcl
docker-bake-ci.hcl
*.md
.gitignore
_temp
**/*.md
**/*.gitignore
.git

View File

@@ -47,6 +47,9 @@ login-test-unit:
login-test-integration-build:
$(BAKE_CLI_WITH_COMMON_ARGS) core-mock login-test-integration login-standalone
login-test-integration-dev:
$(BAKE_CLI_WITH_COMMON_ARGS) core-mock && docker compose --file ./apps/login-test-integration/docker-compose.yaml run --service-ports --rm core-mock
login-test-integration-run: login-test-integration-cleanup
docker compose --file ./apps/login-test-integration/docker-compose.yaml run --rm integration

View File

@@ -0,0 +1,6 @@
*
!idp
!oidcrp
!samlsp
!setup
!sink

View File

@@ -32,11 +32,11 @@ export default defineConfig({
baseURL: process.env.LOGIN_BASE_URL || "http://127.0.0.1:3000",
trace: "retain-on-failure",
headless: true,
screenshot: 'only-on-failure',
video: 'retain-on-failure',
screenshot: "only-on-failure",
video: "retain-on-failure",
ignoreHTTPSErrors: true,
},
outputDir: 'test-results',
outputDir: "test-results",
/* Configure projects for major browsers */
projects: [

View File

@@ -4,7 +4,7 @@
import test from "@playwright/test";
test("login with Apple IDP", async ({ page }) => {
test.skip()
test.skip();
// Given an Apple IDP is configured on the organization
// Given the user has an Apple added as auth method
// User authenticates with Apple
@@ -13,7 +13,7 @@ test("login with Apple IDP", async ({ page }) => {
});
test("login with Apple IDP - error", async ({ page }) => {
test.skip()
test.skip();
// Given an Apple IDP is configured on the organization
// Given the user has an Apple added as auth method
// User is redirected to Apple
@@ -23,7 +23,7 @@ test("login with Apple IDP - error", async ({ page }) => {
});
test("login with Apple IDP, no user existing - auto register", async ({ page }) => {
test.skip()
test.skip();
// Given idp Apple is configure on the organization as only authencation method
// Given idp Apple is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -35,7 +35,7 @@ test("login with Apple IDP, no user existing - auto register", async ({ page })
});
test("login with Apple IDP, no user existing - auto register not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp Apple is configure on the organization as only authencation method
// Given idp Apple is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -53,7 +53,7 @@ test("login with Apple IDP, no user existing - auto register not possible", asyn
test("login with Apple IDP, no user existing - auto register enabled - manual creation disabled, creation not possible", async ({
page,
}) => {
test.skip()
test.skip();
// Given idp Apple is configure on the organization as only authencation method
// Given idp Apple is configure with account creation not allowed, and automatic creation enabled
// Given no user exists yet
@@ -65,7 +65,7 @@ test("login with Apple IDP, no user existing - auto register enabled - manual cr
});
test("login with Apple IDP, no user linked - auto link", async ({ page }) => {
test.skip()
test.skip();
// Given idp Apple is configure on the organization as only authencation method
// Given idp Apple is configure with account linking allowed, and linking set to existing email
// Given user with email address user@zitadel.com exists
@@ -77,7 +77,7 @@ test("login with Apple IDP, no user linked - auto link", async ({ page }) => {
});
test("login with Apple IDP, no user linked, linking not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp Apple is configure on the organization as only authencation method
// Given idp Apple is configure with manually account linking not allowed, and linking set to existing email
// Given user with email address user@zitadel.com doesn't exists
@@ -89,7 +89,7 @@ test("login with Apple IDP, no user linked, linking not possible", async ({ page
});
test("login with Apple IDP, no user linked, user link successful", async ({ page }) => {
test.skip()
test.skip();
// Given idp Apple is configure on the organization as only authencation method
// Given idp Apple is configure with manually account linking allowed, and linking set to existing email
// Given user with email address user@zitadel.com doesn't exists

View File

@@ -1,7 +1,7 @@
import test from "@playwright/test";
test("login with Generic JWT IDP", async ({ page }) => {
test.skip()
test.skip();
// Given a Generic JWT IDP is configured on the organization
// Given the user has Generic JWT IDP added as auth method
// User authenticates with the Generic JWT IDP
@@ -10,7 +10,7 @@ test("login with Generic JWT IDP", async ({ page }) => {
});
test("login with Generic JWT IDP - error", async ({ page }) => {
test.skip()
test.skip();
// Given the Generic JWT IDP is configured on the organization
// Given the user has Generic JWT IDP added as auth method
// User is redirected to the Generic JWT IDP
@@ -20,7 +20,7 @@ test("login with Generic JWT IDP - error", async ({ page }) => {
});
test("login with Generic JWT IDP, no user existing - auto register", async ({ page }) => {
test.skip()
test.skip();
// Given idp Generic JWT is configure on the organization as only authencation method
// Given idp Generic JWT is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -32,7 +32,7 @@ test("login with Generic JWT IDP, no user existing - auto register", async ({ pa
});
test("login with Generic JWT IDP, no user existing - auto register not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp Generic JWT is configure on the organization as only authencation method
// Given idp Generic JWT is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -50,7 +50,7 @@ test("login with Generic JWT IDP, no user existing - auto register not possible"
test("login with Generic JWT IDP, no user existing - auto register enabled - manual creation disabled, creation not possible", async ({
page,
}) => {
test.skip()
test.skip();
// Given idp Generic JWT is configure on the organization as only authencation method
// Given idp Generic JWT is configure with account creation not allowed, and automatic creation enabled
// Given no user exists yet
@@ -62,7 +62,7 @@ test("login with Generic JWT IDP, no user existing - auto register enabled - man
});
test("login with Generic JWT IDP, no user linked - auto link", async ({ page }) => {
test.skip()
test.skip();
// Given idp Generic JWT is configure on the organization as only authencation method
// Given idp Generic JWT is configure with account linking allowed, and linking set to existing email
// Given user with email address user@zitadel.com exists
@@ -74,7 +74,7 @@ test("login with Generic JWT IDP, no user linked - auto link", async ({ page })
});
test("login with Generic JWT IDP, no user linked, linking not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp Generic JWT is configure on the organization as only authencation method
// Given idp Generic JWT is configure with manually account linking not allowed, and linking set to existing email
// Given user with email address user@zitadel.com doesn't exists
@@ -86,7 +86,7 @@ test("login with Generic JWT IDP, no user linked, linking not possible", async (
});
test("login with Generic JWT IDP, no user linked, linking successful", async ({ page }) => {
test.skip()
test.skip();
// Given idp Generic JWT is configure on the organization as only authencation method
// Given idp Generic JWT is configure with manually account linking allowed, and linking set to existing email
// Given user with email address user@zitadel.com doesn't exists

View File

@@ -1,7 +1,7 @@
import test from "@playwright/test";
test("login with Generic OAuth IDP", async ({ page }) => {
test.skip()
test.skip();
// Given a Generic OAuth IDP is configured on the organization
// Given the user has Generic OAuth IDP added as auth method
// User authenticates with the Generic OAuth IDP
@@ -10,7 +10,7 @@ test("login with Generic OAuth IDP", async ({ page }) => {
});
test("login with Generic OAuth IDP - error", async ({ page }) => {
test.skip()
test.skip();
// Given the Generic OAuth IDP is configured on the organization
// Given the user has Generic OAuth IDP added as auth method
// User is redirected to the Generic OAuth IDP
@@ -20,7 +20,7 @@ test("login with Generic OAuth IDP - error", async ({ page }) => {
});
test("login with Generic OAuth IDP, no user existing - auto register", async ({ page }) => {
test.skip()
test.skip();
// Given idp Generic OAuth is configure on the organization as only authencation method
// Given idp Generic OAuth is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -32,7 +32,7 @@ test("login with Generic OAuth IDP, no user existing - auto register", async ({
});
test("login with Generic OAuth IDP, no user existing - auto register not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp Generic OAuth is configure on the organization as only authencation method
// Given idp Generic OAuth is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -50,7 +50,7 @@ test("login with Generic OAuth IDP, no user existing - auto register not possibl
test("login with Generic OAuth IDP, no user existing - auto register enabled - manual creation disabled, creation not possible", async ({
page,
}) => {
test.skip()
test.skip();
// Given idp Generic OAuth is configure on the organization as only authencation method
// Given idp Generic OAuth is configure with account creation not allowed, and automatic creation enabled
// Given no user exists yet
@@ -62,7 +62,7 @@ test("login with Generic OAuth IDP, no user existing - auto register enabled - m
});
test("login with Generic OAuth IDP, no user linked - auto link", async ({ page }) => {
test.skip()
test.skip();
// Given idp Generic OAuth is configure on the organization as only authencation method
// Given idp Generic OAuth is configure with account linking allowed, and linking set to existing email
// Given user with email address user@zitadel.com exists
@@ -74,7 +74,7 @@ test("login with Generic OAuth IDP, no user linked - auto link", async ({ page }
});
test("login with Generic OAuth IDP, no user linked, linking not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp Generic OAuth is configure on the organization as only authencation method
// Given idp Generic OAuth is configure with manually account linking not allowed, and linking set to existing email
// Given user with email address user@zitadel.com doesn't exists
@@ -86,7 +86,7 @@ test("login with Generic OAuth IDP, no user linked, linking not possible", async
});
test("login with Generic OAuth IDP, no user linked, linking successful", async ({ page }) => {
test.skip()
test.skip();
// Given idp Generic OAuth is configure on the organization as only authencation method
// Given idp Generic OAuth is configure with manually account linking allowed, and linking set to existing email
// Given user with email address user@zitadel.com doesn't exists

View File

@@ -3,7 +3,7 @@
import test from "@playwright/test";
test("login with Generic OIDC IDP", async ({ page }) => {
test.skip()
test.skip();
// Given a Generic OIDC IDP is configured on the organization
// Given the user has Generic OIDC IDP added as auth method
// User authenticates with the Generic OIDC IDP
@@ -12,7 +12,7 @@ test("login with Generic OIDC IDP", async ({ page }) => {
});
test("login with Generic OIDC IDP - error", async ({ page }) => {
test.skip()
test.skip();
// Given the Generic OIDC IDP is configured on the organization
// Given the user has Generic OIDC IDP added as auth method
// User is redirected to the Generic OIDC IDP
@@ -22,7 +22,7 @@ test("login with Generic OIDC IDP - error", async ({ page }) => {
});
test("login with Generic OIDC IDP, no user existing - auto register", async ({ page }) => {
test.skip()
test.skip();
// Given idp Generic OIDC is configure on the organization as only authencation method
// Given idp Generic OIDC is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -34,7 +34,7 @@ test("login with Generic OIDC IDP, no user existing - auto register", async ({ p
});
test("login with Generic OIDC IDP, no user existing - auto register not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp Generic OIDC is configure on the organization as only authencation method
// Given idp Generic OIDC is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -52,7 +52,7 @@ test("login with Generic OIDC IDP, no user existing - auto register not possible
test("login with Generic OIDC IDP, no user existing - auto register enabled - manual creation disabled, creation not possible", async ({
page,
}) => {
test.skip()
test.skip();
// Given idp Generic OIDC is configure on the organization as only authencation method
// Given idp Generic OIDC is configure with account creation not allowed, and automatic creation enabled
// Given no user exists yet
@@ -64,7 +64,7 @@ test("login with Generic OIDC IDP, no user existing - auto register enabled - ma
});
test("login with Generic OIDC IDP, no user linked - auto link", async ({ page }) => {
test.skip()
test.skip();
// Given idp Generic OIDC is configure on the organization as only authencation method
// Given idp Generic OIDC is configure with account linking allowed, and linking set to existing email
// Given user with email address user@zitadel.com exists
@@ -76,7 +76,7 @@ test("login with Generic OIDC IDP, no user linked - auto link", async ({ page })
});
test("login with Generic OIDC IDP, no user linked, linking not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp Generic OIDC is configure on the organization as only authencation method
// Given idp Generic OIDC is configure with manually account linking not allowed, and linking set to existing email
// Given user with email address user@zitadel.com doesn't exists
@@ -88,7 +88,7 @@ test("login with Generic OIDC IDP, no user linked, linking not possible", async
});
test("login with Generic OIDC IDP, no user linked, linking successful", async ({ page }) => {
test.skip()
test.skip();
// Given idp Generic OIDC is configure on the organization as only authencation method
// Given idp Generic OIDC is configure with manually account linking allowed, and linking set to existing email
// Given user with email address user@zitadel.com doesn't exists

View File

@@ -1,7 +1,7 @@
import test from "@playwright/test";
test("login with GitHub Enterprise IDP", async ({ page }) => {
test.skip()
test.skip();
// Given a GitHub Enterprise IDP is configured on the organization
// Given the user has GitHub Enterprise IDP added as auth method
// User authenticates with the GitHub Enterprise IDP
@@ -10,7 +10,7 @@ test("login with GitHub Enterprise IDP", async ({ page }) => {
});
test("login with GitHub Enterprise IDP - error", async ({ page }) => {
test.skip()
test.skip();
// Given the GitHub Enterprise IDP is configured on the organization
// Given the user has GitHub Enterprise IDP added as auth method
// User is redirected to the GitHub Enterprise IDP
@@ -20,7 +20,7 @@ test("login with GitHub Enterprise IDP - error", async ({ page }) => {
});
test("login with GitHub Enterprise IDP, no user existing - auto register", async ({ page }) => {
test.skip()
test.skip();
// Given idp GitHub Enterprise is configure on the organization as only authencation method
// Given idp GitHub Enterprise is configure with account creation alloweed, and automatic creation enabled
// Given ZITADEL Action is added to autofill missing user information
@@ -33,7 +33,7 @@ test("login with GitHub Enterprise IDP, no user existing - auto register", async
});
test("login with GitHub Enterprise IDP, no user existing - auto register not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp GitHub Enterprise is configure on the organization as only authencation method
// Given idp GitHub Enterprise is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -51,7 +51,7 @@ test("login with GitHub Enterprise IDP, no user existing - auto register not pos
test("login with GitHub Enterprise IDP, no user existing - auto register enabled - manual creation disabled, creation not possible", async ({
page,
}) => {
test.skip()
test.skip();
// Given idp GitHub Enterprise is configure on the organization as only authencation method
// Given idp GitHub Enterprise is configure with account creation not allowed, and automatic creation enabled
// Given no user exists yet
@@ -63,7 +63,7 @@ test("login with GitHub Enterprise IDP, no user existing - auto register enabled
});
test("login with GitHub Enterprise IDP, no user linked - auto link", async ({ page }) => {
test.skip()
test.skip();
// Given idp GitHub Enterprise is configure on the organization as only authencation method
// Given idp GitHub Enterprise is configure with account linking allowed, and linking set to existing email
// Given ZITADEL Action is added to autofill missing user information
@@ -76,7 +76,7 @@ test("login with GitHub Enterprise IDP, no user linked - auto link", async ({ pa
});
test("login with GitHub Enterprise IDP, no user linked, linking not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp GitHub Enterprise is configure on the organization as only authencation method
// Given idp GitHub Enterprise is configure with manually account linking not allowed, and linking set to existing email
// Given ZITADEL Action is added to autofill missing user information
@@ -89,7 +89,7 @@ test("login with GitHub Enterprise IDP, no user linked, linking not possible", a
});
test("login with GitHub Enterprise IDP, no user linked, linking successful", async ({ page }) => {
test.skip()
test.skip();
// Given idp GitHub Enterprise is configure on the organization as only authencation method
// Given idp GitHub Enterprise is configure with manually account linking allowed, and linking set to existing email
// Given ZITADEL Action is added to autofill missing user information

View File

@@ -1,7 +1,7 @@
import test from "@playwright/test";
test("login with GitHub IDP", async ({ page }) => {
test.skip()
test.skip();
// Given a GitHub IDP is configured on the organization
// Given the user has GitHub IDP added as auth method
// User authenticates with the GitHub IDP
@@ -10,7 +10,7 @@ test("login with GitHub IDP", async ({ page }) => {
});
test("login with GitHub IDP - error", async ({ page }) => {
test.skip()
test.skip();
// Given the GitHub IDP is configured on the organization
// Given the user has GitHub IDP added as auth method
// User is redirected to the GitHub IDP
@@ -20,7 +20,7 @@ test("login with GitHub IDP - error", async ({ page }) => {
});
test("login with GitHub IDP, no user existing - auto register", async ({ page }) => {
test.skip()
test.skip();
// Given idp GitHub is configure on the organization as only authencation method
// Given idp GitHub is configure with account creation alloweed, and automatic creation enabled
// Given ZITADEL Action is added to autofill missing user information
@@ -33,7 +33,7 @@ test("login with GitHub IDP, no user existing - auto register", async ({ page })
});
test("login with GitHub IDP, no user existing - auto register not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp GitHub is configure on the organization as only authencation method
// Given idp GitHub is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -51,7 +51,7 @@ test("login with GitHub IDP, no user existing - auto register not possible", asy
test("login with GitHub IDP, no user existing - auto register enabled - manual creation disabled, creation not possible", async ({
page,
}) => {
test.skip()
test.skip();
// Given idp GitHub is configure on the organization as only authencation method
// Given idp GitHub is configure with account creation not allowed, and automatic creation enabled
// Given no user exists yet
@@ -63,7 +63,7 @@ test("login with GitHub IDP, no user existing - auto register enabled - manual c
});
test("login with GitHub IDP, no user linked - auto link", async ({ page }) => {
test.skip()
test.skip();
// Given idp GitHub is configure on the organization as only authencation method
// Given idp GitHub is configure with account linking allowed, and linking set to existing email
// Given ZITADEL Action is added to autofill missing user information
@@ -76,7 +76,7 @@ test("login with GitHub IDP, no user linked - auto link", async ({ page }) => {
});
test("login with GitHub IDP, no user linked, linking not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp GitHub is configure on the organization as only authencation method
// Given idp GitHub is configure with manually account linking not allowed, and linking set to existing email
// Given ZITADEL Action is added to autofill missing user information
@@ -89,7 +89,7 @@ test("login with GitHub IDP, no user linked, linking not possible", async ({ pag
});
test("login with GitHub IDP, no user linked, linking successful", async ({ page }) => {
test.skip()
test.skip();
// Given idp GitHub is configure on the organization as only authencation method
// Given idp GitHub is configure with manually account linking allowed, and linking set to existing email
// Given ZITADEL Action is added to autofill missing user information

View File

@@ -1,7 +1,7 @@
import test from "@playwright/test";
test("login with GitLab Self-Hosted IDP", async ({ page }) => {
test.skip()
test.skip();
// Given a GitLab Self-Hosted IDP is configured on the organization
// Given the user has GitLab Self-Hosted IDP added as auth method
// User authenticates with the GitLab Self-Hosted IDP
@@ -10,7 +10,7 @@ test("login with GitLab Self-Hosted IDP", async ({ page }) => {
});
test("login with GitLab Self-Hosted IDP - error", async ({ page }) => {
test.skip()
test.skip();
// Given the GitLab Self-Hosted IDP is configured on the organization
// Given the user has GitLab Self-Hosted IDP added as auth method
// User is redirected to the GitLab Self-Hosted IDP
@@ -20,7 +20,7 @@ test("login with GitLab Self-Hosted IDP - error", async ({ page }) => {
});
test("login with Gitlab Self-Hosted IDP, no user existing - auto register", async ({ page }) => {
test.skip()
test.skip();
// Given idp Gitlab Self-Hosted is configure on the organization as only authencation method
// Given idp Gitlab Self-Hosted is configure with account creation alloweed, and automatic creation enabled
// Given ZITADEL Action is added to autofill missing user information
@@ -33,7 +33,7 @@ test("login with Gitlab Self-Hosted IDP, no user existing - auto register", asyn
});
test("login with Gitlab Self-Hosted IDP, no user existing - auto register not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp Gitlab Self-Hosted is configure on the organization as only authencation method
// Given idp Gitlab Self-Hosted is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -51,7 +51,7 @@ test("login with Gitlab Self-Hosted IDP, no user existing - auto register not po
test("login with Gitlab Self-Hosted IDP, no user existing - auto register enabled - manual creation disabled, creation not possible", async ({
page,
}) => {
test.skip()
test.skip();
// Given idp Gitlab Self-Hosted is configure on the organization as only authencation method
// Given idp Gitlab Self-Hosted is configure with account creation not allowed, and automatic creation enabled
// Given no user exists yet
@@ -63,7 +63,7 @@ test("login with Gitlab Self-Hosted IDP, no user existing - auto register enable
});
test("login with Gitlab Self-Hosted IDP, no user linked - auto link", async ({ page }) => {
test.skip()
test.skip();
// Given idp Gitlab Self-Hosted is configure on the organization as only authencation method
// Given idp Gitlab Self-Hosted is configure with account linking allowed, and linking set to existing email
// Given ZITADEL Action is added to autofill missing user information
@@ -76,7 +76,7 @@ test("login with Gitlab Self-Hosted IDP, no user linked - auto link", async ({ p
});
test("login with Gitlab Self-Hosted IDP, no user linked, linking not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp Gitlab Self-Hosted is configure on the organization as only authencation method
// Given idp Gitlab Self-Hosted is configure with manually account linking not allowed, and linking set to existing email
// Given ZITADEL Action is added to autofill missing user information
@@ -89,7 +89,7 @@ test("login with Gitlab Self-Hosted IDP, no user linked, linking not possible",
});
test("login with Gitlab Self-Hosted IDP, no user linked, linking successful", async ({ page }) => {
test.skip()
test.skip();
// Given idp Gitlab Self-Hosted is configure on the organization as only authencation method
// Given idp Gitlab Self-Hosted is configure with manually account linking allowed, and linking set to existing email
// Given ZITADEL Action is added to autofill missing user information

View File

@@ -1,7 +1,7 @@
import test from "@playwright/test";
test("login with GitLab IDP", async ({ page }) => {
test.skip()
test.skip();
// Given a GitLab IDP is configured on the organization
// Given the user has GitLab IDP added as auth method
// User authenticates with the GitLab IDP
@@ -10,7 +10,7 @@ test("login with GitLab IDP", async ({ page }) => {
});
test("login with GitLab IDP - error", async ({ page }) => {
test.skip()
test.skip();
// Given the GitLab IDP is configured on the organization
// Given the user has GitLab IDP added as auth method
// User is redirected to the GitLab IDP
@@ -20,7 +20,7 @@ test("login with GitLab IDP - error", async ({ page }) => {
});
test("login with Gitlab IDP, no user existing - auto register", async ({ page }) => {
test.skip()
test.skip();
// Given idp Gitlab is configure on the organization as only authencation method
// Given idp Gitlab is configure with account creation alloweed, and automatic creation enabled
// Given ZITADEL Action is added to autofill missing user information
@@ -33,7 +33,7 @@ test("login with Gitlab IDP, no user existing - auto register", async ({ page })
});
test("login with Gitlab IDP, no user existing - auto register not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp Gitlab is configure on the organization as only authencation method
// Given idp Gitlab is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -51,7 +51,7 @@ test("login with Gitlab IDP, no user existing - auto register not possible", asy
test("login with Gitlab IDP, no user existing - auto register enabled - manual creation disabled, creation not possible", async ({
page,
}) => {
test.skip()
test.skip();
// Given idp Gitlab is configure on the organization as only authencation method
// Given idp Gitlab is configure with account creation not allowed, and automatic creation enabled
// Given no user exists yet
@@ -63,7 +63,7 @@ test("login with Gitlab IDP, no user existing - auto register enabled - manual c
});
test("login with Gitlab IDP, no user linked - auto link", async ({ page }) => {
test.skip()
test.skip();
// Given idp Gitlab is configure on the organization as only authencation method
// Given idp Gitlab is configure with account linking allowed, and linking set to existing email
// Given ZITADEL Action is added to autofill missing user information
@@ -76,7 +76,7 @@ test("login with Gitlab IDP, no user linked - auto link", async ({ page }) => {
});
test("login with Gitlab IDP, no user linked, linking not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp Gitlab is configure on the organization as only authencation method
// Given idp Gitlab is configure with manually account linking not allowed, and linking set to existing email
// Given ZITADEL Action is added to autofill missing user information
@@ -89,7 +89,7 @@ test("login with Gitlab IDP, no user linked, linking not possible", async ({ pag
});
test("login with Gitlab IDP, no user linked, linking successful", async ({ page }) => {
test.skip()
test.skip();
// Given idp Gitlab is configure on the organization as only authencation method
// Given idp Gitlab is configure with manually account linking allowed, and linking set to existing email
// Given ZITADEL Action is added to autofill missing user information

View File

@@ -1,7 +1,7 @@
import test from "@playwright/test";
test("login with Google IDP", async ({ page }) => {
test.skip()
test.skip();
// Given a Google IDP is configured on the organization
// Given the user has Google IDP added as auth method
// User authenticates with the Google IDP
@@ -10,7 +10,7 @@ test("login with Google IDP", async ({ page }) => {
});
test("login with Google IDP - error", async ({ page }) => {
test.skip()
test.skip();
// Given the Google IDP is configured on the organization
// Given the user has Google IDP added as auth method
// User is redirected to the Google IDP
@@ -20,7 +20,7 @@ test("login with Google IDP - error", async ({ page }) => {
});
test("login with Google IDP, no user existing - auto register", async ({ page }) => {
test.skip()
test.skip();
// Given idp Google is configure on the organization as only authencation method
// Given idp Google is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -32,7 +32,7 @@ test("login with Google IDP, no user existing - auto register", async ({ page })
});
test("login with Google IDP, no user existing - auto register not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp Google is configure on the organization as only authencation method
// Given idp Google is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -50,7 +50,7 @@ test("login with Google IDP, no user existing - auto register not possible", asy
test("login with Google IDP, no user existing - auto register enabled - manual creation disabled, creation not possible", async ({
page,
}) => {
test.skip()
test.skip();
// Given idp Google is configure on the organization as only authencation method
// Given idp Google is configure with account creation not allowed, and automatic creation enabled
// Given no user exists yet
@@ -62,7 +62,7 @@ test("login with Google IDP, no user existing - auto register enabled - manual c
});
test("login with Google IDP, no user linked - auto link", async ({ page }) => {
test.skip()
test.skip();
// Given idp Google is configure on the organization as only authencation method
// Given idp Google is configure with account linking allowed, and linking set to existing email
// Given user with email address user@zitadel.com exists
@@ -74,7 +74,7 @@ test("login with Google IDP, no user linked - auto link", async ({ page }) => {
});
test("login with Google IDP, no user linked, linking not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp Google is configure on the organization as only authencation method
// Given idp Google is configure with manually account linking not allowed, and linking set to existing email
// Given user with email address user@zitadel.com doesn't exists
@@ -86,7 +86,7 @@ test("login with Google IDP, no user linked, linking not possible", async ({ pag
});
test("login with Google IDP, no user linked, linking successful", async ({ page }) => {
test.skip()
test.skip();
// Given idp Google is configure on the organization as only authencation method
// Given idp Google is configure with manually account linking allowed, and linking set to existing email
// Given user with email address user@zitadel.com doesn't exists

View File

@@ -1,7 +1,7 @@
import test from "@playwright/test";
test("login with LDAP IDP", async ({ page }) => {
test.skip()
test.skip();
// Given a LDAP IDP is configured on the organization
// Given the user has LDAP IDP added as auth method
// User authenticates with the LDAP IDP
@@ -10,7 +10,7 @@ test("login with LDAP IDP", async ({ page }) => {
});
test("login with LDAP IDP - error", async ({ page }) => {
test.skip()
test.skip();
// Given the LDAP IDP is configured on the organization
// Given the user has LDAP IDP added as auth method
// User is redirected to the LDAP IDP
@@ -20,7 +20,7 @@ test("login with LDAP IDP - error", async ({ page }) => {
});
test("login with LDAP IDP, no user existing - auto register", async ({ page }) => {
test.skip()
test.skip();
// Given idp LDAP is configure on the organization as only authencation method
// Given idp LDAP is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -32,7 +32,7 @@ test("login with LDAP IDP, no user existing - auto register", async ({ page }) =
});
test("login with LDAP IDP, no user existing - auto register not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp LDAP is configure on the organization as only authencation method
// Given idp LDAP is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -50,7 +50,7 @@ test("login with LDAP IDP, no user existing - auto register not possible", async
test("login with LDAP IDP, no user existing - auto register enabled - manual creation disabled, creation not possible", async ({
page,
}) => {
test.skip()
test.skip();
// Given idp LDAP is configure on the organization as only authencation method
// Given idp LDAP is configure with account creation not allowed, and automatic creation enabled
// Given no user exists yet
@@ -62,7 +62,7 @@ test("login with LDAP IDP, no user existing - auto register enabled - manual cre
});
test("login with LDAP IDP, no user linked - auto link", async ({ page }) => {
test.skip()
test.skip();
// Given idp LDAP is configure on the organization as only authencation method
// Given idp LDAP is configure with account linking allowed, and linking set to existing email
// Given user with email address user@zitadel.com exists
@@ -74,7 +74,7 @@ test("login with LDAP IDP, no user linked - auto link", async ({ page }) => {
});
test("login with LDAP IDP, no user linked, linking not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp LDAP is configure on the organization as only authencation method
// Given idp LDAP is configure with manually account linking not allowed, and linking set to existing email
// Given user with email address user@zitadel.com doesn't exists
@@ -86,7 +86,7 @@ test("login with LDAP IDP, no user linked, linking not possible", async ({ page
});
test("login with LDAP IDP, no user linked, linking successful", async ({ page }) => {
test.skip()
test.skip();
// Given idp LDAP is configure on the organization as only authencation method
// Given idp LDAP is configure with manually account linking allowed, and linking set to existing email
// Given user with email address user@zitadel.com doesn't exists

View File

@@ -4,7 +4,7 @@
import test from "@playwright/test";
test("login with Microsoft IDP", async ({ page }) => {
test.skip()
test.skip();
// Given a Microsoft IDP is configured on the organization
// Given the user has Microsoft IDP added as auth method
// User authenticates with the Microsoft IDP
@@ -13,7 +13,7 @@ test("login with Microsoft IDP", async ({ page }) => {
});
test("login with Microsoft IDP - error", async ({ page }) => {
test.skip()
test.skip();
// Given the Microsoft IDP is configured on the organization
// Given the user has Microsoft IDP added as auth method
// User is redirected to the Microsoft IDP
@@ -23,7 +23,7 @@ test("login with Microsoft IDP - error", async ({ page }) => {
});
test("login with Microsoft IDP, no user existing - auto register", async ({ page }) => {
test.skip()
test.skip();
// Given idp Microsoft is configure on the organization as only authencation method
// Given idp Microsoft is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -35,7 +35,7 @@ test("login with Microsoft IDP, no user existing - auto register", async ({ page
});
test("login with Microsoft IDP, no user existing - auto register not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp Microsoft is configure on the organization as only authencation method
// Given idp Microsoft is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -53,7 +53,7 @@ test("login with Microsoft IDP, no user existing - auto register not possible",
test("login with Microsoft IDP, no user existing - auto register enabled - manual creation disabled, creation not possible", async ({
page,
}) => {
test.skip()
test.skip();
// Given idp Microsoft is configure on the organization as only authencation method
// Given idp Microsoft is configure with account creation not allowed, and automatic creation enabled
// Given no user exists yet
@@ -65,7 +65,7 @@ test("login with Microsoft IDP, no user existing - auto register enabled - manua
});
test("login with Microsoft IDP, no user linked - auto link", async ({ page }) => {
test.skip()
test.skip();
// Given idp Microsoft is configure on the organization as only authencation method
// Given idp Microsoft is configure with account linking allowed, and linking set to existing email
// Given user with email address user@zitadel.com exists
@@ -77,7 +77,7 @@ test("login with Microsoft IDP, no user linked - auto link", async ({ page }) =>
});
test("login with Microsoft IDP, no user linked, linking not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp Microsoft is configure on the organization as only authencation method
// Given idp Microsoft is configure with manually account linking not allowed, and linking set to existing email
// Given user with email address user@zitadel.com doesn't exists
@@ -89,7 +89,7 @@ test("login with Microsoft IDP, no user linked, linking not possible", async ({
});
test("login with Microsoft IDP, no user linked, linking successful", async ({ page }) => {
test.skip()
test.skip();
// Given idp Microsoft is configure on the organization as only authencation method
// Given idp Microsoft is configure with manually account linking allowed, and linking set to existing email
// Given user with email address user@zitadel.com doesn't exists

View File

@@ -1,7 +1,7 @@
import test from "@playwright/test";
test("login with SAML IDP", async ({ page }) => {
test.skip()
test.skip();
// Given a SAML IDP is configured on the organization
// Given the user has SAML IDP added as auth method
// User authenticates with the SAML IDP
@@ -10,7 +10,7 @@ test("login with SAML IDP", async ({ page }) => {
});
test("login with SAML IDP - error", async ({ page }) => {
test.skip()
test.skip();
// Given the SAML IDP is configured on the organization
// Given the user has SAML IDP added as auth method
// User is redirected to the SAML IDP
@@ -20,7 +20,7 @@ test("login with SAML IDP - error", async ({ page }) => {
});
test("login with SAML IDP, no user existing - auto register", async ({ page }) => {
test.skip()
test.skip();
// Given idp SAML is configure on the organization as only authencation method
// Given idp SAML is configure with account creation alloweed, and automatic creation enabled
// Given ZITADEL Action is added to autofill missing user information
@@ -33,7 +33,7 @@ test("login with SAML IDP, no user existing - auto register", async ({ page }) =
});
test("login with SAML IDP, no user existing - auto register not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp SAML is configure on the organization as only authencation method
// Given idp SAML is configure with account creation alloweed, and automatic creation enabled
// Given no user exists yet
@@ -51,7 +51,7 @@ test("login with SAML IDP, no user existing - auto register not possible", async
test("login with SAML IDP, no user existing - auto register enabled - manual creation disabled, creation not possible", async ({
page,
}) => {
test.skip()
test.skip();
// Given idp SAML is configure on the organization as only authencation method
// Given idp SAML is configure with account creation not allowed, and automatic creation enabled
// Given no user exists yet
@@ -63,7 +63,7 @@ test("login with SAML IDP, no user existing - auto register enabled - manual cre
});
test("login with SAML IDP, no user linked - auto link", async ({ page }) => {
test.skip()
test.skip();
// Given idp SAML is configure on the organization as only authencation method
// Given idp SAML is configure with account linking allowed, and linking set to existing email
// Given ZITADEL Action is added to autofill missing user information
@@ -76,7 +76,7 @@ test("login with SAML IDP, no user linked - auto link", async ({ page }) => {
});
test("login with SAML IDP, no user linked, linking not possible", async ({ page }) => {
test.skip()
test.skip();
// Given idp SAML is configure on the organization as only authencation method
// Given idp SAML is configure with manually account linking not allowed, and linking set to existing email
// Given ZITADEL Action is added to autofill missing user information
@@ -89,7 +89,7 @@ test("login with SAML IDP, no user linked, linking not possible", async ({ page
});
test("login with SAML IDP, no user linked, linking successful", async ({ page }) => {
test.skip()
test.skip();
// Given idp SAML is configure on the organization as only authencation method
// Given idp SAML is configure with manually account linking allowed, and linking set to existing email
// Given ZITADEL Action is added to autofill missing user information

View File

@@ -1,7 +1,7 @@
import test from "@playwright/test";
test("login with mfa setup, mfa setup prompt", async ({ page }) => {
test.skip()
test.skip();
// Given the organization has enabled at least one mfa types
// Given the user has a password but no mfa registered
// User authenticates with login name and password
@@ -9,7 +9,7 @@ test("login with mfa setup, mfa setup prompt", async ({ page }) => {
});
test("login with mfa setup, no mfa setup prompt", async ({ page }) => {
test.skip()
test.skip();
// Given the organization has set "multifactor init check time" to 0
// Given the organization has enabled mfa types
// Given the user has a password but no mfa registered
@@ -18,7 +18,7 @@ test("login with mfa setup, no mfa setup prompt", async ({ page }) => {
});
test("login with mfa setup, force mfa for local authenticated users", async ({ page }) => {
test.skip()
test.skip();
// Given the organization has enabled force mfa for local authentiacted users
// Given the organization has enabled all possible mfa types
// Given the user has a password but no mfa registered
@@ -27,7 +27,7 @@ test("login with mfa setup, force mfa for local authenticated users", async ({ p
});
test("login with mfa setup, force mfa - local user", async ({ page }) => {
test.skip()
test.skip();
// Given the organization has enabled force mfa for local authentiacted users
// Given the organization has enabled all possible mfa types
// Given the user has a password but no mfa registered
@@ -36,7 +36,7 @@ test("login with mfa setup, force mfa - local user", async ({ page }) => {
});
test("login with mfa setup, force mfa - external user", async ({ page }) => {
test.skip()
test.skip();
// Given the organization has enabled force mfa
// Given the organization has enabled all possible mfa types
// Given the user has an idp but no mfa registered
@@ -46,7 +46,7 @@ test("login with mfa setup, force mfa - external user", async ({ page }) => {
});
test("login with mfa setup, force mfa - local user, wrong password", async ({ page }) => {
test.skip()
test.skip();
// Given the organization has a password lockout policy set to 1 on the max password attempts
// Given the user has only a password as auth methos
// enter login name

View File

@@ -1,10 +1,10 @@
import { expect, Page } from "@playwright/test";
import dotenv from "dotenv";
import path from "path";
import { code, otpFromSink } from "./code";
import { loginname } from "./loginname";
import { password } from "./password";
import { totp } from "./zitadel";
import dotenv from "dotenv";
import path from "path";
dotenv.config({ path: path.resolve(__dirname, "../.env-file/.env") });

View File

@@ -37,7 +37,7 @@ test("register with passkey", async ({ page }) => {
});
test("register with username and password - only password enabled", async ({ page }) => {
test.skip()
test.skip();
// Given on the default organization "username and password is allowed" is enabled
// Given on the default organization "username registeration allowed" is enabled
// Given on the default organization no idp is configured and enabled
@@ -51,7 +51,7 @@ test("register with username and password - only password enabled", async ({ pag
});
test("register with username and password - wrong password not enough characters", async ({ page }) => {
test.skip()
test.skip();
// Given on the default organization "username and password is allowed" is enabled
// Given on the default organization "username registeration allowed" is enabled
// Given on the default organization no idp is configured and enabled
@@ -66,7 +66,7 @@ test("register with username and password - wrong password not enough characters
});
test("register with username and password - wrong password number missing", async ({ page }) => {
test.skip()
test.skip();
// Given on the default organization "username and password is allowed" is enabled
// Given on the default organization "username registeration allowed" is enabled
// Given on the default organization no idp is configured and enabled
@@ -81,7 +81,7 @@ test("register with username and password - wrong password number missing", asyn
});
test("register with username and password - wrong password upper case missing", async ({ page }) => {
test.skip()
test.skip();
// Given on the default organization "username and password is allowed" is enabled
// Given on the default organization "username registeration allowed" is enabled
// Given on the default organization no idp is configured and enabled
@@ -96,7 +96,7 @@ test("register with username and password - wrong password upper case missing",
});
test("register with username and password - wrong password lower case missing", async ({ page }) => {
test.skip()
test.skip();
// Given on the default organization "username and password is allowed" is enabled
// Given on the default organization "username registeration allowed" is enabled
// Given on the default organization no idp is configured and enabled
@@ -111,7 +111,7 @@ test("register with username and password - wrong password lower case missing",
});
test("register with username and password - wrong password symboo missing", async ({ page }) => {
test.skip()
test.skip();
// Given on the default organization "username and password is allowed" is enabled
// Given on the default organization "username registeration allowed" is enabled
// Given on the default organization no idp is configured and enabled
@@ -126,7 +126,7 @@ test("register with username and password - wrong password symboo missing", asyn
});
test("register with username and password - password and passkey enabled", async ({ page }) => {
test.skip()
test.skip();
// Given on the default organization "username and password is allowed" is enabled
// Given on the default organization "username registeration allowed" is enabled
// Given on the default organization no idp is configured and enabled
@@ -142,7 +142,7 @@ test("register with username and password - password and passkey enabled", async
});
test("register with username and passkey - password and passkey enabled", async ({ page }) => {
test.skip()
test.skip();
// Given on the default organization "username and password is allowed" is enabled
// Given on the default organization "username registeration allowed" is enabled
// Given on the default organization no idp is configured and enabled
@@ -159,7 +159,7 @@ test("register with username and passkey - password and passkey enabled", async
});
test("register with username and password - registration disabled", async ({ page }) => {
test.skip()
test.skip();
// Given on the default organization "username and password is allowed" is enabled
// Given on the default organization "username registeration allowed" is enabled
// Given on the default organization no idp is configured and enabled
@@ -168,7 +168,7 @@ test("register with username and password - registration disabled", async ({ pag
});
test("register with username and password - multiple registration options", async ({ page }) => {
test.skip()
test.skip();
// Given on the default organization "username and password is allowed" is enabled
// Given on the default organization "username registeration allowed" is enabled
// Given on the default organization one idp is configured and enabled

View File

@@ -31,7 +31,7 @@ test("username and passkey login", async ({ user, page }) => {
});
test("username and passkey login, multiple auth methods", async ({ page }) => {
test.skip()
test.skip();
// Given passkey and password is enabled on the organization of the user
// Given the user has password and passkey registered
// enter username

View File

@@ -44,7 +44,7 @@ test.skip("DOESN'T WORK: username, password and email otp login, enter code manu
});
test("username, password and email otp login, click link in email", async ({ page }) => {
base.skip()
base.skip();
// Given email otp is enabled on the organization of the user
// Given the user has only email otp configured as second factor
// User enters username
@@ -85,7 +85,7 @@ test("username, password and email otp login, wrong code", async ({ user, page }
});
test("username, password and email otp login, multiple mfa options", async ({ page }) => {
base.skip()
base.skip();
// Given email otp and sms otp is enabled on the organization of the user
// Given the user has email and sms otp configured as second factor
// User enters username

View File

@@ -57,7 +57,7 @@ test("username, password and totp otp login, wrong code", async ({ user, page })
});
test("username, password and totp login, multiple mfa options", async ({ page }) => {
test.skip()
test.skip();
// Given totp and email otp is enabled on the organization of the user
// Given the user has totp and email otp configured as second factor
// User enters username

View File

@@ -1,7 +1,7 @@
import { test } from "@playwright/test";
test("username, password and u2f login", async ({ page }) => {
test.skip()
test.skip();
// Given u2f is enabled on the organization of the user
// Given the user has only u2f configured as second factor
// User enters username
@@ -12,7 +12,7 @@ test("username, password and u2f login", async ({ page }) => {
});
test("username, password and u2f login, multiple mfa options", async ({ page }) => {
test.skip()
test.skip();
// Given u2f and semailms otp is enabled on the organization of the user
// Given the user has u2f and email otp configured as second factor
// User enters username

View File

@@ -51,7 +51,7 @@ test("username and password login, wrong password", async ({ user, page }) => {
});
test("username and password login, wrong username, ignore unknown usernames", async ({ user, page }) => {
test.skip()
test.skip();
// Given user doesn't exist but ignore unknown usernames setting is set to true
// Given username password login is enabled on the users organization
// enter login name
@@ -60,7 +60,7 @@ test("username and password login, wrong username, ignore unknown usernames", as
});
test("username and password login, initial password change", async ({ user, page }) => {
test.skip()
test.skip();
// Given user is created and has changePassword set to true
// Given username password login is enabled on the users organization
// enter login name
@@ -69,7 +69,7 @@ test("username and password login, initial password change", async ({ user, page
});
test("username and password login, reset password hidden", async ({ user, page }) => {
test.skip()
test.skip();
// Given the organization has enabled "Password reset hidden" in the login policy
// Given username password login is enabled on the users organization
// enter login name
@@ -77,7 +77,7 @@ test("username and password login, reset password hidden", async ({ user, page }
});
test("username and password login, reset password - enter code manually", async ({ user, page }) => {
test.skip()
test.skip();
// Given user has forgotten password and clicks the forgot password button
// Given username password login is enabled on the users organization
// enter login name
@@ -87,7 +87,7 @@ test("username and password login, reset password - enter code manually", async
});
test("username and password login, reset password - click link", async ({ user, page }) => {
test.skip()
test.skip();
// Given user has forgotten password and clicks the forgot password button, and then the link in the email
// Given username password login is enabled on the users organization
// enter login name
@@ -98,7 +98,7 @@ test("username and password login, reset password - click link", async ({ user,
});
test("username and password login, reset password, resend code", async ({ user, page }) => {
test.skip()
test.skip();
// Given user has forgotten password and clicks the forgot password button and then resend code
// Given username password login is enabled on the users organization
// enter login name
@@ -109,7 +109,7 @@ test("username and password login, reset password, resend code", async ({ user,
});
test("email login enabled", async ({ user, page }) => {
test.skip()
test.skip();
// Given user with the username "testuser", email test@zitadel.com and phone number 0711111111 exists
// Given no other user with the same email address exists
// enter email address "test@zitadel.com " in login screen
@@ -117,7 +117,7 @@ test("email login enabled", async ({ user, page }) => {
});
test("email login disabled", async ({ user, page }) => {
test.skip()
test.skip();
// Given user with the username "testuser", email test@zitadel.com and phone number 0711111111 exists
// Given no other user with the same email address exists
// enter email address "test@zitadel.com" in login screen
@@ -125,7 +125,7 @@ test("email login disabled", async ({ user, page }) => {
});
test("email login enabled - multiple users", async ({ user, page }) => {
test.skip()
test.skip();
// Given user with the username "testuser", email test@zitadel.com and phone number 0711111111 exists
// Given a second user with the username "testuser2", email test@zitadel.com and phone number 0711111111 exists
// enter email address "test@zitadel.com" in login screen
@@ -133,7 +133,7 @@ test("email login enabled - multiple users", async ({ user, page }) => {
});
test("phone login enabled", async ({ user, page }) => {
test.skip()
test.skip();
// Given user with the username "testuser", email test@zitadel.com and phone number 0711111111 exists
// Given no other user with the same phon number exists
// enter phone number "0711111111" in login screen
@@ -141,7 +141,7 @@ test("phone login enabled", async ({ user, page }) => {
});
test("phone login disabled", async ({ user, page }) => {
test.skip()
test.skip();
// Given user with the username "testuser", email test@zitadel.com and phone number 0711111111 exists
// Given no other user with the same phone number exists
// enter phone number "0711111111" in login screen
@@ -149,7 +149,7 @@ test("phone login disabled", async ({ user, page }) => {
});
test("phone login enabled - multiple users", async ({ user, page }) => {
test.skip()
test.skip();
// Given user with the username "testuser", email test@zitadel.com and phone number 0711111111 exists
// Given a second user with the username "testuser2", email test@zitadel.com and phone number 0711111111 exists
// enter phone number "0711111111" in login screen

View File

@@ -2,10 +2,9 @@ import { Authenticator } from "@otplib/core";
import { createDigest, createRandomBytes } from "@otplib/plugin-crypto";
import { keyDecoder, keyEncoder } from "@otplib/plugin-thirty-two"; // use your chosen base32 plugin
import axios from "axios";
import { OtpType, userProps } from "./user";
import dotenv from "dotenv";
import path from "path";
import fs from "node:fs";
import { OtpType, userProps } from "./user";
dotenv.config({ path: path.resolve(__dirname, "../.env-file/.env") });

View File

@@ -7,8 +7,8 @@
"test:integration:watch:open": "pnpm exec concurrently --names 'mock,test' --kill-others 'pnpm:mock' 'env-cmd -f ./.env.integration start-server-and-test dev http://localhost:3000 \"pnpm nodemon -e js,jsx,ts,tsx,css,scss --ignore \\\"__test__/**\\\" --exec \\\"pnpm test:integration:open\\\"\"'",
"test:integration:run": "pnpm exec cypress run --quiet",
"test:integration:open": "pnpm exec cypress open",
"mock": "pnpm mock:stop && docker run --rm --name zitadel-mock-grpc-server --publish 22220:22220 --publish 22222:22222 ${CORE_MOCK_TAG:-zitadel-core-mock:local}",
"mock:stop": "docker rm --force zitadel-mock-grpc-server 2>/dev/null || true"
"mock": "make login-test-integration-build-dev",
"mock:stop": "docker compose down core-mock"
},
"devDependencies": {
"@types/node": "^22.14.1",

View File

@@ -1,10 +1,8 @@
FROM login-dev-base AS login-lint
COPY .prettierrc .prettierignore ./
COPY packages/zitadel-tsconfig packages/zitadel-tsconfig
COPY packages/zitadel-prettier-config packages/zitadel-prettier-config
COPY packages/zitadel-eslint-config packages/zitadel-eslint-config
COPY apps/login/package.json apps/login/
RUN --mount=type=cache,id=pnpm,target=/pnpm/store \
pnpm install --frozen-lockfile --workspace-root --filter apps/login
COPY apps/login apps/login
RUN pnpm lint && pnpm format --check
COPY . .
RUN find . -type f -not -path "./node_modules/*" -not -path "./apps/login/node_modules/*"
RUN pnpm lint && pnpm format

View File

@@ -1,17 +1,22 @@
*
!apps/login
apps/login/.next
apps/login/screenshots
!apps/login-test-integration
!apps/login-test-acceptance
apps/login-test-acceptance/test-results
!/packages/zitadel-tsconfig/*
!/packages/zitadel-prettier-config
!/packages/zitadel-eslint-config
!/.prettierrc
!/.prettierignore
!/packages/zitadel-tsconfig/*.json
!/packages/zitadel-prettier-config/*.js
!/packages/zitadel-prettier-config/*.json
!/packages/zitadel-eslint-config/*.js
!/packages/zitadel-eslint-config/*.json
!/apps/login/src
!/apps/login/public
!/apps/login/locales
!/apps/login/constants
!/apps/login/*.json
!/apps/login/*.d.ts
!/apps/login/*.cjs
!/apps/login/*.mjs
!/apps/login/*.mts
**/*.md
**/*.png
**/node_modules
**/.turbo