Skip to main content

@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

ParameterType
optsTestTokenOptions

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

ParameterType
optsTestTokenOptions

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 }).

Returns

TokenVerifier