forked from Kieran/snort
76 lines
2.2 KiB
TypeScript
76 lines
2.2 KiB
TypeScript
import { assert } from "chai"
|
|
import { defined } from "../src/common"
|
|
import { EventKind } from "../src/event"
|
|
import { createSetMetadata } from "../src/event/set-metadata"
|
|
import { setup } from "./setup"
|
|
|
|
describe("internet-identifier", () => {
|
|
it("present", (done) => {
|
|
setup(done, ({ publisher, publisherSecret, subscriber, done }) => {
|
|
subscriber.on("event", async ({ event }) => {
|
|
// Assert that the internet identifier can be verified.
|
|
assert.strictEqual(event.kind, EventKind.SetMetadata)
|
|
if (event.kind === EventKind.SetMetadata) {
|
|
const identifier = await event.verifyInternetIdentifier({
|
|
https: false,
|
|
})
|
|
assert.ok(identifier)
|
|
const { name, relays } = defined(identifier)
|
|
assert.strictEqual(name, "bob")
|
|
assert.deepStrictEqual(relays, ["ws://example.com"])
|
|
}
|
|
done()
|
|
})
|
|
|
|
subscriber.subscribe([])
|
|
|
|
// After the subscription event sync is done, publish the test event.
|
|
subscriber.on("eose", async () => {
|
|
publisher.publish({
|
|
...(await createSetMetadata(
|
|
{
|
|
about: "",
|
|
name: "",
|
|
picture: "",
|
|
nip05: "bob@localhost:12647",
|
|
},
|
|
publisherSecret,
|
|
)),
|
|
})
|
|
})
|
|
})
|
|
})
|
|
|
|
it("missing", (done) => {
|
|
setup(done, ({ publisher, publisherSecret, subscriber, done }) => {
|
|
subscriber.on("event", async ({ event }) => {
|
|
// Assert that undefined is returned if the internet identifier is missing.
|
|
assert.strictEqual(event.kind, EventKind.SetMetadata)
|
|
if (event.kind === EventKind.SetMetadata) {
|
|
const identifier = await event.verifyInternetIdentifier({
|
|
https: false,
|
|
})
|
|
assert.strictEqual(identifier, undefined)
|
|
}
|
|
done()
|
|
})
|
|
|
|
subscriber.subscribe([])
|
|
|
|
// After the subscription event sync is done, publish the test event.
|
|
subscriber.on("eose", async () => {
|
|
publisher.publish({
|
|
...(await createSetMetadata(
|
|
{
|
|
about: "",
|
|
name: "",
|
|
picture: "",
|
|
},
|
|
publisherSecret,
|
|
)),
|
|
})
|
|
})
|
|
})
|
|
})
|
|
})
|