UNPKG

@fedify/fedify

Version:

An ActivityPub server framework

59 lines (55 loc) 2.57 kB
import { Temporal } from "@js-temporal/polyfill"; import { URLPattern } from "urlpattern-polyfill"; globalThis.addEventListener = () => {}; import { assertEquals } from "../assert_equals-CTYbeopb.js"; import { assert } from "../assert-DmFG7ppO.js"; import "../assert_instance_of-CF09JHYM.js"; import "../docloader-C8mmLN-Y.js"; import "../url-kTAI6_KP.js"; import "../multibase-DeCHcK8L.js"; import { Create } from "../vocab-dDpPQ0fF.js"; import "../langstr-DbWheeIS.js"; import "../lookup-Ozuw-rxN.js"; import "../type-D2s5lmbZ.js"; import "../actor-BP-NTJ2m.js"; import "../key-CPSlDkCj.js"; import { doesActorOwnKey, getKeyOwner } from "../owner-DF6Fg4-s.js"; import { lookupObject } from "../lookup-DNXR408t.js"; import { test } from "../testing-BZ0dJ4qn.js"; import "../std__assert-vp0TKMS1.js"; import { assertFalse } from "../assert_rejects-C-sxEMM5.js"; import "../assert_is_error-nrwA1GeT.js"; import "../assert_not_equals-Dc7y-V5Q.js"; import "../assert_throws-Cn9C6Jur.js"; import { mockDocumentLoader } from "../docloader-09nVWLAZ.js"; import { rsaPublicKey1, rsaPublicKey2 } from "../keys-CtFc865v.js"; //#region sig/owner.test.ts test("doesActorOwnKey()", async () => { const options = { documentLoader: mockDocumentLoader, contextLoader: mockDocumentLoader }; const activity = new Create({ actor: new URL("https://example.com/person") }); assert(await doesActorOwnKey(activity, rsaPublicKey1, options)); assert(await doesActorOwnKey(activity, rsaPublicKey2, options)); const activity2 = new Create({ actor: new URL("https://example.com/hong-gildong") }); assertFalse(await doesActorOwnKey(activity2, rsaPublicKey1, options)); assertFalse(await doesActorOwnKey(activity2, rsaPublicKey2, options)); }); test("getKeyOwner()", async () => { const options = { documentLoader: mockDocumentLoader, contextLoader: mockDocumentLoader }; const owner = await getKeyOwner(new URL("https://example.com/users/handle#main-key"), options); assertEquals(owner, await lookupObject("https://example.com/users/handle", options)); const owner2 = await getKeyOwner(new URL("https://example.com/key"), options); assertEquals(owner2, await lookupObject("https://example.com/person", options)); const owner3 = await getKeyOwner(rsaPublicKey1, options); assertEquals(owner3, owner2); const noOwner = await getKeyOwner(new URL("https://example.com/key2"), options); assertEquals(noOwner, null); const noOwner2 = await getKeyOwner(new URL("https://example.com/object"), options); assertEquals(noOwner2, null); }); //#endregion