UNPKG

testcontainers-keycloak

Version:
42 lines (41 loc) 2.51 kB
import { GenericContainer, StartedTestContainer, AbstractStartedContainer } from 'testcontainers'; import { ClientSecret, KeycloakClient, KeycloakRealm, KeycloakUser } from './types'; export declare class KeycloakContainer extends GenericContainer { private waitingLog; private adminUsername; private adminPassword; constructor(image?: string); withWaitingLog(log: string): void; withAdminUsername(username: string): this; withAdminPassword(password: string): this; start(): Promise<StartedKeycloakContainer>; } export declare class StartedKeycloakContainer extends AbstractStartedContainer { private readonly adminUsername; private readonly adminPassword; private KCADM; private SERVER; constructor(startedTestContainer: StartedTestContainer, adminUsername: string, adminPassword: string); getAdminUsername(): string; getAdminPassword(): string; private runCmd; /** * Start an authenticated session on this keycloak server * @params realmName th3 realm name you want to config * @params user the user who starting this session, usually the username of admin * @params user password, usually is the password of admin */ configCredentials(realmName: string, user: string, password: string): Promise<string>; createRealm(realmName: string, enabled?: boolean): Promise<string>; getRealm(realmName: string): Promise<KeycloakRealm>; createUser(realmName: string, username: string, firstName: string, lastName: string, enabled?: boolean): Promise<string>; getUserById(realmName: string, userId: string): Promise<KeycloakUser>; getUserIdByUsername(realmName: string, username: string): Promise<string>; setUserPassword(realmName: string, username: string, password: string): Promise<string>; createClient(realmName: string, clientId: string, clientSecret: string, redirectUris?: Array<string>, webOrigins?: Array<string>, directAccessGrantsEnabled?: boolean, enabled?: boolean): Promise<string>; getCidByClientId(realmName: string, clientId: string): Promise<string>; getClientByCid(realmName: string, cid: string): Promise<KeycloakClient>; getClientSecretByCid(realmName: string, cid: string): Promise<ClientSecret>; getAccessToken(realmName: string, username: string, password: string, clientId: string, clientSecret: string): Promise<string>; getIdToken(realmName: string, username: string, password: string, clientId: string, clientSecret: string): Promise<string>; }