DPoP: Refresh token created with DPoP can be refreshed without proof #26777
js-ci.yml
on: pull_request
8000
div>
Admin Client
32s
UI Shared
46s
Account UI
57s
<
8000
span class="css-truncate css-truncate-overflow" data-target="streaming-graph-job.name">
Admin UI
1m 45s
Matrix: Admin UI E2E
Annotations
10 errors, 29 warnings, and 1 notice
[chromium] › test/clients/authorization.spec.ts:159:3 › Client authentication subtab › Should copy auth details:
js/apps/admin-ui/test/clients/authorization.ts#L131
1) [chromium] › test/clients/authorization.spec.ts:159:3 › Client authentication subtab › Should copy auth details
Error: expect(locator).toHaveText(expected)
Locator: getByTestId('authorization-export-code-editor')
Expected string: "{
\"allowRemoteResourceManagement\": true,
\"policyEnforcementMode\": \"DISABLED\",
\"resources\": [
{
\"name\": \"Default Resource\",
\"type\": \"urn:client-authentication-bfd9616b-7447-43c0-9d47-374bfc2e6bb9:resources:default\",
\"ownerManagedAccess\": false,
\"displayName\": \"updated\",
\"attributes\": {},
\"uris\": [
\"/*\"
],
\"icon_uri\": \"\"
},
{
\"name\": \"Resource\",
\"type\": \"type\",
\"ownerManagedAccess\": false,
\"displayName\": \"The display name\",
\"attributes\": {},
\"uris\": [
\"one\",
\"two\"
],
\"icon_uri\": \"\"
}
],
\"policies\": [
{
\"name\": \"Regex policy\",
\"description\": \"Policy for regex\",
\"type\": \"regex\",
\"logic\": \"POSITIVE\",
\"decisionStrategy\": \"UNANIMOUS\",
\"config\": {
\"targetContextAttributes\": \"false\",
\"pattern\": \".*?\",
\"targetClaim\": \"I don't know\"
}
},
{
\"name\": \"Client policy\",
\"description\": \"Extra client field\",
\"type\": \"client\",
\"logic\": \"POSITIVE\",
\"decisionStrategy\": \"UNANIMOUS\",
\"config\": {
\"clients\": \"[\\\"master-realm\\\"]\"
}
},
{
\"name\": \"Permission name\",
\"description\": \"Something describing this permission\",
\"type\": \"resource\",
\"logic\": \"POSITIVE\",
\"decisionStrategy\": \"UNANIMOUS\",
\"config\": {
\"resources\": \"[\\\"Default Resource\\\"]\"
}
}
],
\"scopes\": [
{
\"name\": \"The scope\",
\"iconUri\": \"res://something\",
\"displayName\": \"Display something\"
}
],
\"decisionStrategy\": \"UNANIMOUS\"
}"
Received string: ""
Call log:
- expect.toHaveText with timeout 5000ms
- waiting for getByTestId('authorization-export-code-editor')
at clients/authorization.ts:131
129 | navigator.clipboard.readText(),
130 | );
> 131 | expect(page.getByTestId("authorization-export-code-editor")).toHaveText(
| ^
132 | await clipboardText.jsonValue(),
133 | );
134 | }
at assertClipboardHasText (/home/runner/work/keycloak/keycloak/js/apps/admin-ui/test/clients/authorization.ts:131:64)
at /home/runner/work/keycloak/keycloak/js/apps/admin-ui/test/clients/authorization.spec.ts:163:5
|
[chromium] › test/organization/main.spec.ts:81:5 › Organization CRUD › Existing organization › should delete from list:
js/apps/admin-ui/test/organization/main.spec.ts#L1
2) [chromium] › test/organization/main.spec.ts:81:5 › Organization CRUD › Existing organization › should delete from list
Test timeout of 30000ms exceeded.
|
[chromium] › test/organization/main.spec.ts:81:5 › Organization CRUD › Existing organization › should delete from list:
js/apps/admin-ui/test/utils/table.ts#L33
2) [chromium] › test/organization/main.spec.ts:81:5 › Organization CRUD › Existing organization › should delete from list
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
- waiting for getByRole('row', { name: 'org-edit-36608aa1-789d-4799-911a-c2147110bfe3' }).getByLabel('Kebab toggle')
at utils/table.ts:33
31 | .getByRole("row", { name: itemName })
32 | .getByLabel("Kebab toggle")
> 33 | .click();
| ^
34 | await page.getByRole("menuitem", { name: action }).click();
35 | }
36 |
at clickRowKebabItem (/home/runner/work/keycloak/keycloak/js/apps/admin-ui/test/utils/table.ts:33:6)
at /home/runner/work/keycloak/keycloak/js/apps/admin-ui/test/organization/main.spec.ts:82:13
|
[chromium] › test/organization/main.spec.ts:90:5 › Organization CRUD › Existing organization › should delete from details page:
js/apps/admin-ui/test/organization/main.spec.ts#L66
3) [chromium] › test/organization/main.spec.ts:90:5 › Organization CRUD › Existing organization › should delete from details page
Test timeout of 30000ms exceeded while running "beforeEach" hook.
64 | });
65 |
> 66 | test.beforeEach(async ({ page }) => {
| ^
67 | await page.getByTestId("refresh").click();
68 | });
69 |
at /home/runner/work/keycloak/keycloak/js/apps/admin-ui/test/organization/main.spec.ts:66:10
|
[chromium] › test/organization/main.spec.ts:90:5 › Organization CRUD › Existing organization › should delete from details page:
js/apps/admin-ui/test/organization/main.spec.ts#L67
3) [chromium] › test/organization/main.spec.ts:90:5 › Organization CRUD › Existing organization › should delete from details page
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
- waiting for getByTestId('refresh')
65 |
66 | test.beforeEach(async ({ page }) => {
> 67 | await page.getByTestId("refresh").click();
| ^
68 | });
69 |
70 | test("should modify existing organization", async ({ page }) => {
at /home/runner/work/keycloak/keycloak/js/apps/admin-ui/test/organization/main.spec.ts:67:41
|
|
[chromium] › test/realm-settings/client-policies.spec.ts:118:5 › Realm settings client policies tab tests › Editing client policy › Should edit the client-roles condition of a client profile:
js/apps/admin-ui/test/realm-settings/client-policies.ts#L95
5) [chromium] › test/realm-settings/client-policies.spec.ts:118:5 › Realm settings client policies tab tests › Editing client policy › Should edit the client-roles condition of a client profile
Error: locator.click: Error: strict mode violation: getByTestId('client-roles-condition-link') resolved to 2 elements:
1) <a class="kc-condition-link" data-testid="client-roles-condition-link" href="http://localhost:8080/admin/master/console/#/realm-settings-client-policies_2e459aac-fc7a-429c-a2bb-e30cb3299c56/realm-settings/client-policies/Test/edit-policy/client-roles/edit-condition">client-roles</a> aka getByTestId('client-roles-condition-link').first()
2) <a class="kc-condition-link" data-testid="client-roles-condition-link" href="http://localhost:8080/admin/master/console/#/realm-settings-client-policies_2e459aac-fc7a-429c-a2bb-e30cb3299c56/realm-settings/client-policies/Test/edit-policy/client-roles/edit-condition">client-roles</a> aka getByTestId('client-roles-condition-link').nth(1)
Call log:
- waiting for getByTestId('client-roles-condition-link')
at realm-settings/client-policies.ts:95
93 |
94 | export async function selectCondition(page: Page, condition: string) {
> 95 | await page.getByTestId(`${condition}-condition-link`).click();
| ^
96 | }
97 |
98 | export async function assertRoles(page: Page, role: string) {
at selectCondition (/home/runner/work/keycloak/keycloak/js/apps/admin-ui/test/realm-settings/client-policies.ts:95:57)
at /home/runner/work/keycloak/keycloak/js/apps/admin-ui/test/realm-settings/client-policies.spec.ts:128:13
|
[chromium] › test/realm-settings/client-policies.spec.ts:135:5 › Realm settings client policies tab tests › Editing client policy › Should cancel deleting condition from a client profile:
js/apps/admin-ui/test/realm-settings/client-policies.ts#L128
6) [chromium] › test/realm-settings/client-policies.spec.ts:135:5 › Realm settings client policies tab tests › Editing client policy › Should cancel deleting condition from a client profile
Error: locator.click: Error: strict mode violation: getByTestId('delete-client-roles-condition') resolved to 2 elements:
1) <svg role="img" width="1em" height="1em" aria-hidden="true" fill="currentColor" viewBox="0 0 448 512" data-testid="delete-client-roles-condition" class="pf-v5-svg kc-conditionType-trash-icon">…</svg> aka getByRole('button', { name: 'remove-condition' }).first()
2) <svg role="img" width="1em" height="1em" aria-hidden="true" fill="currentColor" viewBox="0 0 448 512" data-testid="delete-client-roles-condition" class="pf-v5-svg kc-conditionType-trash-icon">…</svg> aka getByRole('button', { name: 'remove-condition' }).nth(1)
Call log:
- waiting for getByTestId('delete-client-roles-condition')
at realm-settings/client-policies.ts:128
126 |
127 | export async function deleteClientRolesCondition(page: Page, name: string) {
> 128 | await page.getByTestId(`delete-${name}-condition`).click();
| ^
129 | }
130 |
131 | export async function checkConditionsListContains(
at deleteClientRolesCondition (/home/runner/work/keycloak/keycloak/js/apps/admin-ui/test/realm-settings/client-policies.ts:128:54)
at /home/runner/work/keycloak/keycloak/js/apps/admin-ui/test/realm-settings/client-policies.spec.ts:143:13
|
[chromium] › test/realm-settings/client-policies.spec.ts:166:5 › Realm settings client policies tab tests › Editing client policy › Should not create duplicate client profile:
js/apps/admin-ui/test/realm-settings/client-policies.spec.ts#L81
7) [chromium] › test/realm-settings/client-policies.spec.ts:166:5 › Realm settings client policies tab tests › Editing client policy › Should not create duplicate client profile
Test timeout of 30000ms exceeded while running "beforeEach" hook.
79 |
80 | test.afterAll(() => adminClient.deleteClientPolicy("Test", realmName));
> 81 | test.beforeEach(async ({ page }) => {
| ^
82 | await goToClientPoliciesList(page);
83 | await clickTableRowItem(page, "Test");
84 | });
at /home/runner/work/keycloak/keycloak/js/apps/admin-ui/test/realm-settings/client-policies.spec.ts:81:10
|
[chromium] › test/realm-settings/client-policies.spec.ts:166:5 › Realm settings client policies tab tests › Editing client policy › Should not create duplicate client profile:
js/apps/admin-ui/test/utils/table.ts#L18
7) [chromium] › test/realm-settings/client-policies.spec.ts:166:5 › Realm settings client policies tab tests › Editing client policy › Should not create duplicate client profile
Error: locator.click: Test timeout of 30000ms exceeded.
Call log:
- waiting for getByRole('link', { name: 'Test' }).first()
at utils/table.ts:18
16 |
17 | export async function clickTableRowItem(page: Page, itemName: string) {
> 18 | await page.getByRole("link", { name: itemName }).first().click();
| ^
19 | }
20 |
21 | export function getRowByCellText(page: Page, cellText: string): Locator {
at clickTableRowItem (/home/runner/work/keycloak/keycloak/js/apps/admin-ui/test/utils/table.ts:18:60)
at /home/runner/work/keycloak/keycloak/js/apps/admin-ui/test/realm-settings/client-policies.spec.ts:83:13
|
UI Shared:
js/libs/ui-shared/src/context/KeycloakContext.tsx#L46
Unexpected reassignment of a variable which was defined outside of the component. Components and hooks should be pure and side-effect free, but variable reassignment is a form of side-effect. If this variable is used in rendering, use useState instead. (https://react.dev/reference/rules/components-and-hooks-must-be-pure#side-effects-must-run-outside-of-render)
|
UI Shared:
js/libs/ui-shared/src/context/KeycloakContext.tsx#L81
React Hook useEffect has a missing dependency: 'environment.scope'. Either include it or remove the dependency array
|
UI Shared:
js/libs/ui-shared/src/controls/table/KeycloakDataTable.tsx#L151
React Hook useEffect has a missing dependency: 'rowsSelectedOnPage.length'. Either include it or remove the dependency array
|
UI Shared:
js/libs/ui-shared/src/controls/table/KeycloakDataTable.tsx#L481
React Hook useMemo has missing dependencies: 'convertToColumns', 'getNodeText', 'isPaginated', and 'unPaginatedData'. Either include them or remove the dependency array
|
UI Shared:
js/libs/ui-shared/src/select/SingleSelect.tsx#L52
This function accesses a ref value (the `current` property), which may not be accessed during render. (https://react.dev/reference/react/useRef)
|
UI Shared:
js/libs/ui-shared/src/select/SingleSelect.tsx#L52
Ref values (the `current` property) may not be accessed during render. (https://react.dev/reference/react/useRef)
|
UI Shared:
js/libs/ui-shared/src/user-profile/MultiInputComponent.tsx#L72
React Hook useMemo has a missing dependency: 'defaultValue'. Either include it or remove the dependency array
|
UI Shared:
js/libs/ui-shared/src/user-profile/MultiInputComponent.tsx#L99
React Hook useEffect has a missing dependency: 'name'. Either include it or remove the dependency array
|
UI Shared:
js/libs/ui-shared/src/utils/useFetch.ts#L43
React Hook useEffect was passed a dependency list that is not an array literal. This means we can't statically verify whether you've passed the correct dependencies
|
UI Shared:
js/libs/ui-shared/src/utils/useFetch.ts#L43
React Hook useEffect has missing dependencies: 'adminClientCall', 'callback', and 'showBoundary'. Either include them or remove the dependency array. If 'adminClientCall' changes too often, find the parent component that defines it and wrap that definition in useCallback
|
Account UI:
js/apps/account-ui/src/oid4vci/Oid4Vci.tsx#L69
React Hook useEffect has missing dependencies: 'context', 'credentialsIssuer', 'initialSelected', and 'selectOptions'. Either include them or remove the dependency array
|
Account UI:
js/apps/account-ui/src/resources/EditTheResource.tsx#L42
React Hook useEffect has missing dependencies: 'permissions' and 'reset'. Either include them or remove the dependency array
|
Account UI:
js/apps/account-ui/src/resources/ShareTheResource.tsx#L72
React Hook useEffect has a missing dependency: 'append'. Either include it or remove the dependency array
|
Account UI:
js/apps/account-ui/src/utils/usePromise.ts#L73
React Hook useEffect was passed a dependency list that is not an array literal. This means we can't statically verify whether you've passed the correct dependencies
|
Account UI:
js/apps/account-ui/src/utils/usePromise.ts#L73
React Hook useEffect has missing dependencies: 'callback' and 'factory'. Either include them or remove the dependency array. If 'callback' changes too often, find the parent component that defines it and wrap that definition in useCallback
|
Account UI:
js/apps/account-ui/test/oid4vci/oid4vci.spec.ts#L7
Unexpected use of the `.skip()` annotation
|
Account UI:
js/apps/account-ui/test/personal-info/personal-info.spec.ts#L70
Unexpected use of page.waitForSelector()
|
Account UI:
js/apps/account-ui/test/personal-info/personal-info.spec.ts#L84
Unexpected use of page.waitForSelector()
|
Admin UI:
js/apps/admin-ui/src/App.tsx#L56
React Hook useEffect has missing dependencies: 'environment' and 'keycloak'. Either include them or remove the dependency array
|
Admin UI:
js/apps/admin-ui/src/authentication/AuthenticationSection.tsx#L102
Hooks must be called at the top level in the body of a function component or custom hook, and may not be called within function expressions. See the Rules of Hooks (https://react.dev/warnings/invalid-hook-call-warning)
|
Admin UI:
js/apps/admin-ui/src/authentication/AuthenticationSection.tsx#L104
Hooks must be the same function on every render, but this value may change over time to a different function. See https://react.dev/reference/rules/react-calls-components-and-hooks#dont-dynamically-use-hooks
|
Admin UI:
js/apps/admin-ui/src/authentication/AuthenticationSection.tsx#L105
Hooks must be the same function on every render, but this value may change over time to a different function. See https://react.dev/reference/rules/react-calls-components-and-hooks#dont-dynamically-use-hooks
|
Admin UI:
js/apps/admin-ui/src/authentication/AuthenticationSection.tsx#L106
Hooks must be the same function on every render, but this value may change over time to a different function. See https://react.dev/reference/rules/react-calls-components-and-hooks#dont-dynamically-use-hooks
|
Admin UI:
js/apps/admin-ui/src/authentication/DuplicateFlowModal.tsx#L45
React Hook useEffect has missing dependencies: 'setValue' and 't'. Either include them or remove the dependency array
|
Admin UI:
js/apps/admin-ui/src/authentication/EditFlowModal.tsx#L31
React Hook useEffect has a m
93D7
issing dependency: 'reset'. Either include it or remove the dependency array
|
Admin UI:
js/apps/admin-ui/src/authentication/components/DraggableTable.tsx#L62
React Hook useMemo has a missing dependency: 'keyField'. Either include it or remove the dependency array
|
Admin UI:
js/apps/admin-ui/src/authentication/components/EditFlow.tsx#L32
React Hook useEffect has a missing dependency: 'form'. Either include it or remove the dependency array
|
Admin UI:
js/apps/admin-ui/src/authentication/components/ExecutionConfigModal.tsx#L110
React Hook useEffect has a missing dependency: 'setupForm'. Either include it or remove the dependency array
|
Account UI E2E
No files were found with the provided path: js/apps/account-ui/playwright-report. No artifacts will be uploaded.
|
🎭 Playwright Run Summary
12 flaky
[chromium] › test/clients/authorization.spec.ts:159:3 › Client authentication subtab › Should copy auth details
[chromium] › test/organization/main.spec.ts:81:5 › Organization CRUD › Existing organization › should delete from list
[chromium] › test/organization/main.spec.ts:90:5 › Organization CRUD › Existing organization › should delete from details page
[chromium] › test/realm-settings/client-policies.spec.ts:86:5 › Realm settings client policies tab tests › Editing client policy › Should perform client profile search by profile name
[chromium] › test/realm-settings/client-policies.spec.ts:118:5 › Realm settings client policies tab tests › Editing client policy › Should edit the client-roles condition of a client profile
[chromium] › test/realm-settings/client-policies.spec.ts:135:5 › Realm settings client policies tab tests › Editing client policy › Should cancel deleting condition from a client profile
[chromium] › test/realm-settings/client-policies.spec.ts:166:5 › Realm settings client policies tab tests › Editing client policy › Should not create duplicate client profile
[chromium] › test/realm-settings/userprofile.spec.ts:179:3 › User profile tabs › Checks that not required attribute with permissions to view/edit is present when user is created
[chromium] › test/user-federation/kerberos.spec.ts:180:5 › User Fed Kerberos tests › Edit Kerberos provider › Should edit existing Kerberos provider and cancel
[chromium] › test/user-federation/ldap-mapper.spec.ts:105:3 › User Fed LDAP mapper tests › Create hardcoded attribute mapper
[chromium] › test/user-federation/ldap-mapper.spec.ts:165:3 › User Fed LDAP mapper tests › Create role ldap mapper
[chromium] › test/users/main.spec.ts:184:5 › User creation › Existing users › User attributes with multiple values test
1 skipped
322 passed (14.9m)
|
Artifacts
Produced during runtime
Name | Size | Digest | |
---|---|---|---|
account-ui-server-log
Expired
|
1.3 KB |
sha256:e8ba04ad173376fd8966d001f12fb7e37d889d7723532ac432b2c026eb91db24
|
|
admin-ui-playwright-report
Expired
|
19.3 MB |
sha256:d2a43d0b2c55c94adccc65dfd5ee79b6bf4f595eac4c467e3baf7085fab08c18
|
|
admin-ui-server-log--chrome
Expired
|
7.05 KB |
sha256:2cf1b34d341522b6cdf38859b2f900a4b6a77c8ed7011acada03abc21de2f41d
|
|
keycloak
Expired
|
153 MB |
sha256:a5efb2127c66ed6e34a188dfee182290908124b3c01ccb7d065adf142355d497
|
|
m2-keycloak.tzts
Expired
|
373 MB |
sha256:b3a15a3da402e754a3e52d8aabc38886bd999719128d5d275f93d369043e0169
|
|