From 3b1f0adb43d816e960c0d6ca21b2a887cb65a1d9 Mon Sep 17 00:00:00 2001 From: "fryorcraken.eth" Date: Tue, 27 Jun 2023 17:06:27 +1000 Subject: [PATCH 1/3] test: bump nwaku to v0.18.0 --- .github/workflows/ci.yml | 2 +- packages/tests/src/node/node.ts | 2 +- packages/tests/src/run-tests.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ea0530434c..bbeb2fd93b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,7 +57,7 @@ jobs: node: runs-on: ubuntu-latest env: - WAKUNODE_IMAGE: "statusteam/nim-waku:v0.17.0" + WAKUNODE_IMAGE: "statusteam/nim-waku:v0.18.0" steps: - uses: actions/checkout@v3 diff --git a/packages/tests/src/node/node.ts b/packages/tests/src/node/node.ts index fe269eb125..e2cc8f4b97 100644 --- a/packages/tests/src/node/node.ts +++ b/packages/tests/src/node/node.ts @@ -27,7 +27,7 @@ const WAKU_SERVICE_NODE_PARAMS = const NODE_READY_LOG_LINE = "Node setup complete"; const DOCKER_IMAGE_NAME = - process.env.WAKUNODE_IMAGE || "statusteam/nim-waku:v0.17.0"; + process.env.WAKUNODE_IMAGE || "statusteam/nim-waku:v0.18.0"; const isGoWaku = DOCKER_IMAGE_NAME.includes("go-waku"); diff --git a/packages/tests/src/run-tests.js b/packages/tests/src/run-tests.js index 9cd1e144f7..86cb17153a 100644 --- a/packages/tests/src/run-tests.js +++ b/packages/tests/src/run-tests.js @@ -4,7 +4,7 @@ import { promisify } from "util"; const execAsync = promisify(exec); const WAKUNODE_IMAGE = - process.env.WAKUNODE_IMAGE || "statusteam/nim-waku:v0.17.0"; + process.env.WAKUNODE_IMAGE || "statusteam/nim-waku:v0.18.0"; async function main() { try { From fff5d66d2f21b66f49f114869e75573c4554455d Mon Sep 17 00:00:00 2001 From: "fryorcraken.eth" Date: Wed, 28 Jun 2023 11:32:56 +1000 Subject: [PATCH 2/3] test: do not run two set of nodes `runNodes` was called twice for custom pubsub test. --- packages/tests/tests/light_push.node.spec.ts | 69 +++++++++++++------- 1 file changed, 44 insertions(+), 25 deletions(-) diff --git a/packages/tests/tests/light_push.node.spec.ts b/packages/tests/tests/light_push.node.spec.ts index 81b534055e..fa94b2990c 100644 --- a/packages/tests/tests/light_push.node.spec.ts +++ b/packages/tests/tests/light_push.node.spec.ts @@ -23,34 +23,36 @@ const TestEncoder = createEncoder({ contentTopic: TestContentTopic, }); +async function runNodes( + context: Mocha.Context, + pubSubTopic?: string +): Promise<[NimGoNode, LightNode]> { + const nwakuOptional = pubSubTopic ? { topics: pubSubTopic } : {}; + const nwaku = new NimGoNode(makeLogFileName(context)); + await nwaku.start({ + lightpush: true, + relay: true, + ...nwakuOptional, + }); + + const waku = await createLightNode({ + pubSubTopic, + staticNoiseKey: NOISE_KEY_1, + }); + await waku.start(); + await waku.dial(await nwaku.getMultiaddrWithId()); + await waitForRemotePeer(waku, [Protocols.LightPush]); + + return [nwaku, waku]; +} + describe("Waku Light Push [node only]", () => { let waku: LightNode; let nwaku: NimGoNode; - const runNodes = async ( - context: Mocha.Context, - pubSubTopic?: string - ): Promise => { - const nwakuOptional = pubSubTopic ? { topics: pubSubTopic } : {}; - nwaku = new NimGoNode(makeLogFileName(context)); - await nwaku.start({ - lightpush: true, - relay: true, - ...nwakuOptional, - }); - - waku = await createLightNode({ - pubSubTopic, - staticNoiseKey: NOISE_KEY_1, - }); - await waku.start(); - await waku.dial(await nwaku.getMultiaddrWithId()); - await waitForRemotePeer(waku, [Protocols.LightPush]); - }; - beforeEach(async function () { this.timeout(15_000); - await runNodes(this); + [nwaku, waku] = await runNodes(this); }); afterEach(async function () { @@ -108,12 +110,29 @@ describe("Waku Light Push [node only]", () => { expect(pushResponse.recipients.length).to.eq(0); expect(pushResponse.error).to.eq(SendError.SIZE_TOO_BIG); }); +}); - it("Push on custom pubsub topic", async function () { +describe("Waku Light Push [node only] - custom pubsub topic", () => { + let waku: LightNode; + let nwaku: NimGoNode; + const customPubSubTopic = "/waku/2/custom-dapp/proto"; + + beforeEach(async function () { this.timeout(15_000); + [nwaku, waku] = await runNodes(this, customPubSubTopic); + }); - const customPubSubTopic = "/waku/2/custom-dapp/proto"; - await runNodes(this, customPubSubTopic); + afterEach(async function () { + try { + nwaku?.stop(); + waku?.stop(); + } catch (e) { + console.error("Failed to stop nodes: ", e); + } + }); + + it("Push message", async function () { + this.timeout(15_000); const nimPeerId = await nwaku.getPeerId(); const messageText = "Light Push works!"; From 008bb6ca2e07f76b71633c51a36349cdc844c5a2 Mon Sep 17 00:00:00 2001 From: "fryorcraken.eth" Date: Wed, 28 Jun 2023 13:27:57 +1000 Subject: [PATCH 3/3] test: `topics` arg renamed to `topic` in nwaku --- packages/tests/src/node/interfaces.ts | 2 +- packages/tests/tests/light_push.node.spec.ts | 2 +- packages/tests/tests/store.node.spec.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/tests/src/node/interfaces.ts b/packages/tests/src/node/interfaces.ts index dceb75427f..62fc205a94 100644 --- a/packages/tests/src/node/interfaces.ts +++ b/packages/tests/src/node/interfaces.ts @@ -14,7 +14,7 @@ export interface Args { peerExchange?: boolean; discv5Discovery?: boolean; storeMessageDbUrl?: string; - topics?: string; + topic?: string; rpcPrivate?: boolean; websocketSupport?: boolean; tcpPort?: number; diff --git a/packages/tests/tests/light_push.node.spec.ts b/packages/tests/tests/light_push.node.spec.ts index fa94b2990c..153edc6642 100644 --- a/packages/tests/tests/light_push.node.spec.ts +++ b/packages/tests/tests/light_push.node.spec.ts @@ -27,7 +27,7 @@ async function runNodes( context: Mocha.Context, pubSubTopic?: string ): Promise<[NimGoNode, LightNode]> { - const nwakuOptional = pubSubTopic ? { topics: pubSubTopic } : {}; + const nwakuOptional = pubSubTopic ? { topic: pubSubTopic } : {}; const nwaku = new NimGoNode(makeLogFileName(context)); await nwaku.start({ lightpush: true, diff --git a/packages/tests/tests/store.node.spec.ts b/packages/tests/tests/store.node.spec.ts index e4410f5d6f..59cb0c84da 100644 --- a/packages/tests/tests/store.node.spec.ts +++ b/packages/tests/tests/store.node.spec.ts @@ -575,7 +575,7 @@ describe("Waku Store, custom pubsub topic", () => { nwaku = new NimGoNode(makeLogFileName(this)); await nwaku.start({ store: true, - topics: customPubSubTopic, + topic: customPubSubTopic, relay: true, }); });