@fedify/fedify
Version:
An ActivityPub server framework
59 lines (55 loc) • 2.57 kB
JavaScript
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