From b7389be5c7857d242916750f78fbd8bb596c14e3 Mon Sep 17 00:00:00 2001 From: jiftechnify Date: Wed, 20 Dec 2023 23:15:33 +0900 Subject: [PATCH] correctly wait until connection to a relay is established --- relay.test.ts | 20 ++++++++++++-------- relay.ts | 4 ++-- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/relay.test.ts b/relay.test.ts index 4376b79..c165f67 100644 --- a/relay.test.ts +++ b/relay.test.ts @@ -1,15 +1,10 @@ -import { test, expect, afterEach, beforeEach } from 'bun:test' +import { afterEach, expect, test } from 'bun:test' -import { finalizeEvent } from './pure.ts' -import { generateSecretKey, getPublicKey } from './pure.ts' -import { Relay } from './relay.ts' +import { finalizeEvent, generateSecretKey, getPublicKey } from './pure.ts' +import { Relay, relayConnect } from './relay.ts' let relay = new Relay('wss://public.relaying.io') -beforeEach(() => { - relay.connect() -}) - afterEach(() => { relay.close() }) @@ -19,7 +14,14 @@ test('connectivity', async () => { expect(relay.connected).toBeTrue() }) +test('connectivity, with relayConnect()', async () => { + const relay = await relayConnect('wss://public.relaying.io') + expect(relay.connected).toBeTrue() +}) + test('querying', async () => { + await relay.connect() + let resolve1: () => void let resolve2: () => void @@ -57,6 +59,8 @@ test('querying', async () => { }, 10000) test('listening and publishing and closing', async () => { + await relay.connect() + let sk = generateSecretKey() let pk = getPublicKey(sk) var resolve1: (_: void) => void diff --git a/relay.ts b/relay.ts index d7e3c33..9d7fd7d 100644 --- a/relay.ts +++ b/relay.ts @@ -7,9 +7,9 @@ import { Queue, normalizeURL } from './utils.ts' import { nip42 } from './index.ts' import { yieldThread } from './helpers.ts' -export function relayConnect(url: string) { +export async function relayConnect(url: string) { const relay = new Relay(url) - relay.connect() + await relay.connect() return relay }