Jon Koops 5cbba8f984
Automatically dispose of realms created by createTestBed() (#43299)
Closes #43298

Signed-off-by: Jon Koops <jonkoops@gmail.com>
2025-10-10 10:22:21 -04:00

23 lines
559 B
TypeScript

import type RealmRepresentation from "@keycloak/keycloak-admin-client/lib/defs/realmRepresentation.js";
import adminClient from "../utils/AdminClient.ts";
export interface TestBed extends AsyncDisposable {
realm: string;
}
export async function createTestBed(
overrides?: RealmRepresentation,
): Promise<TestBed> {
const { realmName: realm } = await adminClient.createRealm(
crypto.randomUUID(),
overrides,
);
const deleteRealm = () => adminClient.deleteRealm(realm);
return {
realm,
[Symbol.asyncDispose]: deleteRealm,
};
}