import type { IKeycloakTokenClaims, IKeycloakUser } from '../../keycloak/keycloak.types.js'; import type { ITokenValidationResult } from '../../keycloak/services/keycloak-token-validation.service.js'; /** * Configurable stub for KeycloakTokenValidationService. * * By default returns a valid token result with sensible test defaults. * Override behaviour per-test using the setter methods. * * @example * ```typescript * const mock = moduleRef.get(MockKeycloakTokenValidationService); * mock.SetValidateTokenResult({ valid: false, error: 'token_inactive' }); * ``` */ export declare class MockKeycloakTokenValidationService { private ValidateResult; private ExtractResult; /** * Validate a token (mock stub). * * Returns the result configured via `SetValidateTokenResult()`, or defaults to a valid token. * * @param _token - The JWT token to validate (unused; returns the configured result) * @returns ITokenValidationResult with the configured validation result * * @example * ```typescript * const mock = moduleRef.get(MockKeycloakTokenValidationService); * const result = await mock.ValidateToken('token-string'); * // result.valid === true (default) * ``` */ ValidateToken(_token: string): Promise; /** * Extract user identity from token claims (mock stub). * * Returns the user configured via `SetExtractUserResult()`, or defaults to a test user. * * @param _claims - The token claims (unused; returns the configured user) * @returns IKeycloakUser with the configured user data * * @example * ```typescript * const mock = moduleRef.get(MockKeycloakTokenValidationService); * const user = mock.ExtractUser(claims); * // user.id === 'test-user-id' (default) * ``` */ ExtractUser(_claims: IKeycloakTokenClaims): IKeycloakUser; /** * Override the result returned by validateToken() for subsequent calls. * * @param result - The ITokenValidationResult to return * @returns Nothing * @example * ```typescript * const mock = moduleRef.get(MockKeycloakTokenValidationService); * mock.SetValidateTokenResult({ valid: false, error: 'token_expired' }); * // Subsequent ValidateToken() calls will return the configured result * ``` */ SetValidateTokenResult(result: ITokenValidationResult): void; /** * Override the result returned by extractUser() for subsequent calls. * * @param user - The IKeycloakUser to return * @returns Nothing * @example * ```typescript * const mock = moduleRef.get(MockKeycloakTokenValidationService); * mock.SetExtractUserResult({ * id: 'custom-user-id', * email: 'custom@example.com', * username: 'custom-user', * name: 'Custom User', * realmRoles: ['admin'], * clientRoles: [] * }); * // Subsequent ExtractUser() calls will return the configured user * ``` */ SetExtractUserResult(user: IKeycloakUser): void; /** * Reset validateToken and extractUser results to their defaults. * * @returns Nothing * @example * ```typescript * const mock = moduleRef.get(MockKeycloakTokenValidationService); * mock.SetValidateTokenResult({ valid: false, error: 'invalid_token' }); * // Later in test cleanup: * mock.Reset(); * // ValidateToken() and ExtractUser() now return their default values * ``` */ Reset(): void; } //# sourceMappingURL=keycloak-token-validation.mock.d.ts.map