mirror of
https://github.com/nbd-wtf/nostr-tools.git
synced 2025-12-09 00:28:51 +00:00
fix things so relays tests work.
This commit is contained in:
@@ -102,7 +102,7 @@ export class AbstractRelay {
|
|||||||
this._connected = false
|
this._connected = false
|
||||||
}
|
}
|
||||||
|
|
||||||
this.ws.onmessage = this._onmessage
|
this.ws.onmessage = this._onmessage.bind(this)
|
||||||
})
|
})
|
||||||
|
|
||||||
return this.connectionPromise
|
return this.connectionPromise
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { afterEach, expect, test } from 'bun:test'
|
import { afterEach, expect, test } from 'bun:test'
|
||||||
|
|
||||||
import { finalizeEvent, generateSecretKey, getPublicKey } from './pure.ts'
|
import { NostrEvent, finalizeEvent, generateSecretKey, getPublicKey } from './pure.ts'
|
||||||
import { Relay } from './relay.ts'
|
import { Relay } from './relay.ts'
|
||||||
|
|
||||||
let relay = new Relay('wss://public.relaying.io')
|
let relay = new Relay('wss://relay.nostr.bg')
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
relay.close()
|
relay.close()
|
||||||
@@ -64,17 +64,20 @@ test('listening and publishing and closing', async () => {
|
|||||||
|
|
||||||
let sk = generateSecretKey()
|
let sk = generateSecretKey()
|
||||||
let pk = getPublicKey(sk)
|
let pk = getPublicKey(sk)
|
||||||
var resolve1: (_: void) => void
|
let resolveEose: (_: void) => void
|
||||||
var resolve2: (_: void) => void
|
let resolveEvent: (_: void) => void
|
||||||
|
let resolveClose: (_: void) => void
|
||||||
|
let eventReceived: NostrEvent | undefined
|
||||||
|
|
||||||
let waiting = Promise.all([
|
const eosed = new Promise(resolve => {
|
||||||
new Promise(resolve => {
|
resolveEose = resolve
|
||||||
resolve1 = resolve
|
})
|
||||||
}),
|
const evented = new Promise(resolve => {
|
||||||
new Promise(resolve => {
|
resolveEvent = resolve
|
||||||
resolve2 = resolve
|
})
|
||||||
}),
|
const closed = new Promise(resolve => {
|
||||||
])
|
resolveClose = resolve
|
||||||
|
})
|
||||||
|
|
||||||
let sub = relay.subscribe(
|
let sub = relay.subscribe(
|
||||||
[
|
[
|
||||||
@@ -85,17 +88,20 @@ test('listening and publishing and closing', async () => {
|
|||||||
],
|
],
|
||||||
{
|
{
|
||||||
onevent(event) {
|
onevent(event) {
|
||||||
expect(event).toHaveProperty('pubkey', pk)
|
eventReceived = event
|
||||||
expect(event).toHaveProperty('kind', 23571)
|
resolveEvent()
|
||||||
expect(event).toHaveProperty('content', 'nostr-tools test suite')
|
},
|
||||||
resolve1()
|
oneose() {
|
||||||
|
resolveEose()
|
||||||
},
|
},
|
||||||
onclose() {
|
onclose() {
|
||||||
resolve2()
|
resolveClose()
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
await eosed
|
||||||
|
|
||||||
let event = finalizeEvent(
|
let event = finalizeEvent(
|
||||||
{
|
{
|
||||||
kind: 23571,
|
kind: 23571,
|
||||||
@@ -107,9 +113,12 @@ test('listening and publishing and closing', async () => {
|
|||||||
)
|
)
|
||||||
|
|
||||||
await relay.publish(event)
|
await relay.publish(event)
|
||||||
|
await evented
|
||||||
sub.close()
|
sub.close()
|
||||||
|
await closed
|
||||||
|
|
||||||
let [t1, t2] = await waiting
|
expect(eventReceived).toBeDefined()
|
||||||
expect(t1).toBeUndefined()
|
expect(eventReceived).toHaveProperty('pubkey', pk)
|
||||||
expect(t2).toBeUndefined()
|
expect(eventReceived).toHaveProperty('kind', 23571)
|
||||||
|
expect(eventReceived).toHaveProperty('content', 'nostr-tools test suite')
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user