Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
36 lines
945 B
TypeScript
36 lines
945 B
TypeScript
import { test, expect } from '../../../fixtures/base';
|
|
|
|
test.use({
|
|
capability: 'oidc',
|
|
ignoreHTTPSErrors: true, // Keycloak uses self-signed certs
|
|
});
|
|
|
|
test.describe('OIDC Authentication @capability:oidc', {
|
|
annotation: [
|
|
{ type: 'owner', description: 'Identity & Access' },
|
|
],
|
|
}, () => {
|
|
test('should configure OIDC and login with Keycloak @auth:owner', async ({
|
|
n8n,
|
|
api,
|
|
services,
|
|
}) => {
|
|
const keycloak = services.keycloak;
|
|
await api.enableFeature('oidc');
|
|
await n8n.oidcComposer.configureOidc(
|
|
keycloak.internalDiscoveryUrl,
|
|
keycloak.clientId,
|
|
keycloak.clientSecret,
|
|
);
|
|
|
|
await n8n.sideBar.signOutFromWorkflows();
|
|
await n8n.page.waitForURL('/signin');
|
|
|
|
await n8n.signIn.getSsoButton().click();
|
|
await n8n.keycloakLogin.login(keycloak.testUser.email, keycloak.testUser.password);
|
|
|
|
await expect(n8n.page).toHaveURL(/\/(workflow|home)/);
|
|
await expect(n8n.sideBar.getSettings()).toBeVisible();
|
|
});
|
|
});
|