From e2108005452c44bc464499ee57dca65d78874b2e Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 26 Feb 2024 01:25:27 +0100 Subject: [PATCH] backend-test-utils: update mockCredentials for cookie auth Signed-off-by: Patrik Oldsberg --- .../src/next/services/mockCredentials.test.ts | 12 +++------ .../src/next/services/mockCredentials.ts | 26 +++++++++---------- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/packages/backend-test-utils/src/next/services/mockCredentials.test.ts b/packages/backend-test-utils/src/next/services/mockCredentials.test.ts index 3d72f362cd..ed0071d4b8 100644 --- a/packages/backend-test-utils/src/next/services/mockCredentials.test.ts +++ b/packages/backend-test-utils/src/next/services/mockCredentials.test.ts @@ -81,7 +81,6 @@ describe('mockCredentials', () => { }); it('creates limited user tokens and headers', () => { - expect(mockCredentials.limitedUser.token()).toBe('mock-limited-user-token'); expect(mockCredentials.limitedUser.token('user:default/other')).toBe( 'mock-limited-user-token:{"sub":"user:default/other"}', ); @@ -89,14 +88,11 @@ describe('mockCredentials', () => { 'mock-invalid-limited-user-token', ); - expect(mockCredentials.limitedUser.header()).toBe( - 'Bearer mock-limited-user-token', + expect(mockCredentials.limitedUser.cookie('user:default/other')).toBe( + 'backstage-auth=mock-limited-user-token:{"sub":"user:default/other"}', ); - expect(mockCredentials.limitedUser.header('user:default/other')).toBe( - 'Bearer mock-limited-user-token:{"sub":"user:default/other"}', - ); - expect(mockCredentials.limitedUser.invalidHeader()).toBe( - 'Bearer mock-invalid-limited-user-token', + expect(mockCredentials.limitedUser.invalidCookie()).toBe( + 'backstage-auth=mock-invalid-limited-user-token', ); }); diff --git a/packages/backend-test-utils/src/next/services/mockCredentials.ts b/packages/backend-test-utils/src/next/services/mockCredentials.ts index 72ffbc7af2..16d2381c73 100644 --- a/packages/backend-test-utils/src/next/services/mockCredentials.ts +++ b/packages/backend-test-utils/src/next/services/mockCredentials.ts @@ -24,13 +24,14 @@ import { export const DEFAULT_MOCK_USER_ENTITY_REF = 'user:default/mock'; export const DEFAULT_MOCK_SERVICE_SUBJECT = 'external:test-service'; +export const MOCK_AUTH_COOKIE = 'backstage-auth'; + export const MOCK_NONE_TOKEN = 'mock-none-token'; export const MOCK_USER_TOKEN = 'mock-user-token'; export const MOCK_USER_TOKEN_PREFIX = 'mock-user-token:'; export const MOCK_INVALID_USER_TOKEN = 'mock-invalid-user-token'; -export const MOCK_USER_LIMITED_TOKEN = 'mock-limited-user-token'; export const MOCK_USER_LIMITED_TOKEN_PREFIX = 'mock-limited-user-token:'; export const MOCK_INVALID_USER_LIMITED_TOKEN = 'mock-invalid-limited-user-token'; @@ -171,14 +172,13 @@ export namespace mockCredentials { * encoded into the token and forwarded to the credentials object when * authenticated by the mock auth service. */ - export function token(userEntityRef?: string): string { - if (userEntityRef) { - validateUserEntityRef(userEntityRef); - return `${MOCK_USER_LIMITED_TOKEN_PREFIX}${JSON.stringify({ - sub: userEntityRef, - } satisfies UserTokenPayload)}`; - } - return MOCK_USER_LIMITED_TOKEN; + export function token( + userEntityRef: string = DEFAULT_MOCK_USER_ENTITY_REF, + ): string { + validateUserEntityRef(userEntityRef); + return `${MOCK_USER_LIMITED_TOKEN_PREFIX}${JSON.stringify({ + sub: userEntityRef, + } satisfies UserTokenPayload)}`; } /** @@ -186,16 +186,16 @@ export namespace mockCredentials { * payload is provided it will be encoded into the token and forwarded to * the credentials object when authenticated by the mock auth service. */ - export function header(userEntityRef?: string): string { - return `Bearer ${token(userEntityRef)}`; + export function cookie(userEntityRef?: string): string { + return `${MOCK_AUTH_COOKIE}=${token(userEntityRef)}`; } export function invalidToken(): string { return MOCK_INVALID_USER_LIMITED_TOKEN; } - export function invalidHeader(): string { - return `Bearer ${invalidToken()}`; + export function invalidCookie(): string { + return `${MOCK_AUTH_COOKIE}=${invalidToken()}`; } }