@eigeninteractive/server/testing
@eigeninteractive/server/testing — the test-auth recipe, for the engine's own
suite and for implementor test workers alike:
// test/worker.ts — your production entry with explicit Firebase fakes:
export default createEngine({
...sameConfig,
testing: {
auth: testVerifier(),
firebaseAdmin: () => testFirebaseAdmin,
},
});
// a spec:
import { exports } from "cloudflare:workers";
await exports.default.fetch(url, { headers: await testBearer({ uid: "alice" }) });
(exports.default is the loopback binding to the test worker's default
export — the supported replacement for the deprecated SELF fetcher. It
needs Cloudflare.GlobalProps to declare mainModule; see the engine's
own test/env.d.ts for the hand-rolled version, or use wrangler types.)
Tokens are verified through the SAME jose code path production uses — only
the JWKS is local. The RS256 keypair below is a public fixture (checked in,
shipped in the package); it protects nothing and must never reach a
production config: pass testing ONLY in test workers.
Interfaces
TestTokenOptions
Defined in: eigen-server/packages/server/src/testing.ts:70
Properties
anonymous?
optional anonymous?: boolean;
Defined in: eigen-server/packages/server/src/testing.ts:72
claims?
optional claims?: Record<string, unknown>;
Defined in: eigen-server/packages/server/src/testing.ts:77
Override any registered claim (e.g. an expired exp, a wrong aud).
email?
optional email?: string;
Defined in: eigen-server/packages/server/src/testing.ts:73
name?
optional name?: string;
Defined in: eigen-server/packages/server/src/testing.ts:74
picture?
optional picture?: string;
Defined in: eigen-server/packages/server/src/testing.ts:75
uid
uid: string;
Defined in: eigen-server/packages/server/src/testing.ts:71
Variables
TEST_PROJECT_ID
const TEST_PROJECT_ID: "eigen-test" = "eigen-test";
Defined in: eigen-server/packages/server/src/testing.ts:36
testFirebaseAdmin
const testFirebaseAdmin: FirebaseAdminEffects;
Defined in: eigen-server/packages/server/src/testing.ts:60
No-op Firebase Admin effects for test workers and test Durable Objects.
Functions
mintTestToken()
function mintTestToken(opts): Promise<string>;
Defined in: eigen-server/packages/server/src/testing.ts:80
Parameters
| Parameter | Type |
|---|---|
opts | TestTokenOptions |
Returns
Promise<string>
testBearer()
function testBearer(opts): Promise<Record<string, string>>;
Defined in: eigen-server/packages/server/src/testing.ts:99
Authorization header for a minted token.
Parameters
| Parameter | Type |
|---|---|
opts | TestTokenOptions |
Returns
Promise<Record<string, string>>
testVerifier()
function testVerifier(): TokenVerifier;
Defined in: eigen-server/packages/server/src/testing.ts:66
The verifier a test worker passes under createEngine({ testing }).