32 lines · 1.2 KB · TypeScript
RawDownload
import { verifyDpopProof } from "@t3tools/shared/dpop";import * as Effect from "effect/Effect";import { describe, expect, it, vi } from "vite-plus/test"; import { browserCryptoLayer, createBrowserDpopProof, generateBrowserDpopKey } from "./dpop"; describe("browser DPoP proofs", () => {  it("signs relay resource proofs with an access-token hash", async () => {    vi.stubGlobal("indexedDB", undefined);    const issuedAt = Math.floor(Date.now() / 1_000);    const proofKey = await Effect.runPromise(generateBrowserDpopKey);    const proof = await Effect.runPromise(      createBrowserDpopProof({        method: "POST",        url: "https://relay.example.test/v1/environments/env-1/connect?ignored=true",        accessToken: "relay-access-token",        proofKey,      }).pipe(Effect.provide(browserCryptoLayer)),    );     expect(      verifyDpopProof({        proof: proof.proof,        method: "POST",        url: "https://relay.example.test/v1/environments/env-1/connect",        expectedThumbprint: proof.thumbprint,        expectedAccessToken: "relay-access-token",        nowEpochSeconds: issuedAt,      }),    ).toMatchObject({ ok: true });  });});

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t