From a23d2be461b710c9ee3e315081337d47abb74582 Mon Sep 17 00:00:00 2001 From: Franck Royer Date: Mon, 7 Mar 2022 20:43:46 +1100 Subject: [PATCH 1/8] Upgrade nim-waku to 0.8 --- .github/workflows/ci.yml | 2 +- nim-waku | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b0a6e7f7e8..42c4b587d4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: build_and_test: env: BUF_VERSION: '0.56.0' - NIM_WAKU_VERSION: 'v0.7' + NIM_WAKU_VERSION: 'v0.8' strategy: matrix: node: [16] diff --git a/nim-waku b/nim-waku index dba82b6c9c..cf27190317 160000 --- a/nim-waku +++ b/nim-waku @@ -1 +1 @@ -Subproject commit dba82b6c9c9a8982608f52955356a2df8efcaf9e +Subproject commit cf2719031765f8cad6a1b32c042c1f9393c24dd7 From c07396c30b4755dad4e15a5591446ca91afe585f Mon Sep 17 00:00:00 2001 From: Franck Royer Date: Thu, 24 Feb 2022 12:21:24 +1100 Subject: [PATCH 2/8] Update nwaku RPC with nanoseconds timestamp --- src/test_utils/nim_waku.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/test_utils/nim_waku.ts b/src/test_utils/nim_waku.ts index d93fe14ea7..608beed562 100644 --- a/src/test_utils/nim_waku.ts +++ b/src/test_utils/nim_waku.ts @@ -64,7 +64,7 @@ export interface KeyPair { export interface WakuRelayMessage { payload: string; contentTopic?: string; - timestamp?: number; // Float in seconds + timestamp?: number; // Integer in seconds } export class NimWaku { @@ -194,12 +194,7 @@ export class NimWaku { } let timestamp; if (message.timestamp) { - timestamp = message.timestamp.valueOf() / 1000; - if (Number.isInteger(timestamp)) { - // Add a millisecond to ensure it's not an integer - // Until https://github.com/status-im/nim-waku/issues/691 is done - timestamp += 0.001; - } + timestamp = message.timestamp.valueOf() * 1000; } const rpcMessage = { From d95d773f45ed95acf7f138f4b3d87e66d63169f9 Mon Sep 17 00:00:00 2001 From: Franck Royer Date: Wed, 9 Mar 2022 12:59:47 +1100 Subject: [PATCH 3/8] Send nanoseconds timestamp in nim-waku RPC --- src/lib/waku_relay/index.node.spec.ts | 2 +- src/lib/waku_store/index.node.spec.ts | 28 ++++++++++++----- src/test_utils/nim_waku.ts | 43 ++++++++++++++++----------- 3 files changed, 46 insertions(+), 27 deletions(-) diff --git a/src/lib/waku_relay/index.node.spec.ts b/src/lib/waku_relay/index.node.spec.ts index f6d9b5ac47..b5840cfcb1 100644 --- a/src/lib/waku_relay/index.node.spec.ts +++ b/src/lib/waku_relay/index.node.spec.ts @@ -379,7 +379,7 @@ describe("Waku Relay [node only]", () => { } ); - await nimWaku.sendMessage(message); + await nimWaku.sendMessage(NimWaku.toWakuRelayMessage(message)); const receivedMsg = await receivedMsgPromise; diff --git a/src/lib/waku_store/index.node.spec.ts b/src/lib/waku_store/index.node.spec.ts index dd6b148782..e0d42c7d19 100644 --- a/src/lib/waku_store/index.node.spec.ts +++ b/src/lib/waku_store/index.node.spec.ts @@ -40,7 +40,9 @@ describe("Waku Store", () => { for (let i = 0; i < 2; i++) { expect( await nimWaku.sendMessage( - await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic) + NimWaku.toWakuRelayMessage( + await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic) + ) ) ).to.be.true; } @@ -70,7 +72,9 @@ describe("Waku Store", () => { for (let i = 0; i < totalMsgs; i++) { expect( await nimWaku.sendMessage( - await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic) + NimWaku.toWakuRelayMessage( + await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic) + ) ) ).to.be.true; } @@ -107,7 +111,9 @@ describe("Waku Store", () => { for (let i = 0; i < availMsgs; i++) { expect( await nimWaku.sendMessage( - await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic) + NimWaku.toWakuRelayMessage( + await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic) + ) ) ).to.be.true; } @@ -141,7 +147,9 @@ describe("Waku Store", () => { for (let i = 0; i < 15; i++) { expect( await nimWaku.sendMessage( - await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic) + NimWaku.toWakuRelayMessage( + await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic) + ) ) ).to.be.true; } @@ -176,7 +184,9 @@ describe("Waku Store", () => { for (let i = 0; i < 2; i++) { expect( await nimWaku.sendMessage( - await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic), + NimWaku.toWakuRelayMessage( + await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic) + ), customPubSubTopic ) ).to.be.true; @@ -453,9 +463,11 @@ describe("Waku Store", () => { for (let i = 0; i < 2; i++) { expect( await nimWaku.sendMessage( - await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic, { - timestamp: messageTimestamps[i], - }) + NimWaku.toWakuRelayMessage( + await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic, { + timestamp: messageTimestamps[i], + }) + ) ) ).to.be.true; if (!firstMessageTime) firstMessageTime = Date.now() / 1000; diff --git a/src/test_utils/nim_waku.ts b/src/test_utils/nim_waku.ts index 608beed562..0894916841 100644 --- a/src/test_utils/nim_waku.ts +++ b/src/test_utils/nim_waku.ts @@ -62,9 +62,9 @@ export interface KeyPair { } export interface WakuRelayMessage { - payload: string; + payload: string; // Hex encoded data string without `0x` prefix. contentTopic?: string; - timestamp?: number; // Integer in seconds + timestamp?: number; // Unix epoch time in nanoseconds as a 64-bits integer value. } export class NimWaku { @@ -75,6 +75,27 @@ export class NimWaku { private readonly logPath: string; private rpcPort?: number; + /** + * Convert a [[WakuMessage]] to a [[WakuRelayMessage]]. The latter is used + * by the nwaku JSON-RPC API. + */ + static toWakuRelayMessage(message: WakuMessage): WakuRelayMessage { + if (!message.payload) { + throw "Attempting to convert empty message"; + } + + let timestamp; + if (message.proto.timestamp) { + timestamp = message.proto.timestamp.toNumber(); + } + + return { + payload: bytesToHex(message.payload), + contentTopic: message.contentTopic, + timestamp, + }; + } + constructor(logName: string) { this.logPath = `${LOG_DIR}/nim-waku_${logName}.log`; } @@ -184,28 +205,14 @@ export class NimWaku { } async sendMessage( - message: WakuMessage, + message: WakuRelayMessage, pubSubTopic?: string ): Promise { this.checkProcess(); - if (!message.payload) { - throw "Attempting to send empty message"; - } - let timestamp; - if (message.timestamp) { - timestamp = message.timestamp.valueOf() * 1000; - } - - const rpcMessage = { - payload: bytesToHex(message.payload), - contentTopic: message.contentTopic, - timestamp, - }; - return this.rpcCall("post_waku_v2_relay_v1_message", [ pubSubTopic ? pubSubTopic : DefaultPubSubTopic, - rpcMessage, + message, ]); } From dc6d37a94e656ac7a5349c72b45d356c6fcf61d7 Mon Sep 17 00:00:00 2001 From: Franck Royer Date: Wed, 9 Mar 2022 12:59:05 +1100 Subject: [PATCH 4/8] test: Only use timestamps in the past for a more realistic test --- src/lib/waku_store/index.node.spec.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/lib/waku_store/index.node.spec.ts b/src/lib/waku_store/index.node.spec.ts index e0d42c7d19..fc6e3c24fe 100644 --- a/src/lib/waku_store/index.node.spec.ts +++ b/src/lib/waku_store/index.node.spec.ts @@ -448,18 +448,25 @@ describe("Waku Store", () => { nimWaku = new NimWaku(makeLogFileName(this)); await nimWaku.start({ persistMessages: true }); + const now = new Date(); + const startTime = new Date(); + // Set start time 5 minutes in the past + startTime.setTime(now.getTime() - 5 * 60 * 1000); const message1Timestamp = new Date(); - message1Timestamp.setTime(startTime.getTime() + 60 * 1000); + // Set first message was 4 minutes in the past + message1Timestamp.setTime(now.getTime() - 4 * 60 * 1000); + const message2Timestamp = new Date(); - message2Timestamp.setTime(startTime.getTime() + 2 * 60 * 1000); + // Set second message 2 minutes in the past + message2Timestamp.setTime(now.getTime() - 2 * 60 * 1000); const messageTimestamps = [message1Timestamp, message2Timestamp]; const endTime = new Date(); - endTime.setTime(startTime.getTime() + 3 * 60 * 1000); + // Set end time 1 minute in the past + endTime.setTime(now.getTime() - 60 * 1000); - let firstMessageTime; for (let i = 0; i < 2; i++) { expect( await nimWaku.sendMessage( @@ -470,7 +477,6 @@ describe("Waku Store", () => { ) ) ).to.be.true; - if (!firstMessageTime) firstMessageTime = Date.now() / 1000; } waku = await Waku.create({ From ecd2445bf97aaa4bb0f92842baa5348b4beeebb0 Mon Sep 17 00:00:00 2001 From: Franck Date: Thu, 31 Mar 2022 22:31:33 +1100 Subject: [PATCH 5/8] Update nim-waku to v0.9 --- .github/workflows/ci.yml | 2 +- nim-waku | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 42c4b587d4..e0bd7b30fe 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: build_and_test: env: BUF_VERSION: '0.56.0' - NIM_WAKU_VERSION: 'v0.8' + NIM_WAKU_VERSION: 'v0.9' strategy: matrix: node: [16] diff --git a/nim-waku b/nim-waku index cf27190317..97f23cd5fa 160000 --- a/nim-waku +++ b/nim-waku @@ -1 +1 @@ -Subproject commit cf2719031765f8cad6a1b32c042c1f9393c24dd7 +Subproject commit 97f23cd5fa89220912819fc5868c5162d222e72e From dc9027990506e043cb8341c8c06e5c59f7d2814c Mon Sep 17 00:00:00 2001 From: Franck Date: Fri, 1 Apr 2022 12:19:51 +1100 Subject: [PATCH 6/8] Rename nim-waku to nwaku --- .cspell.json | 1 + src/lib/discovery/predefined.ts | 2 +- src/lib/waku.node.spec.ts | 58 ++++++------ src/lib/waku_light_push/index.node.spec.ts | 26 +++--- src/lib/waku_message/index.node.spec.ts | 52 +++++------ src/lib/waku_relay/index.node.spec.ts | 42 ++++----- src/lib/waku_store/index.node.spec.ts | 90 +++++++++---------- src/test_utils/index.ts | 2 +- src/test_utils/log_file.ts | 2 +- ...m_waku.node.spec.ts => nwaku.node.spec.ts} | 4 +- src/test_utils/{nim_waku.ts => nwaku.ts} | 36 ++++---- 11 files changed, 157 insertions(+), 158 deletions(-) rename src/test_utils/{nim_waku.node.spec.ts => nwaku.node.spec.ts} (96%) rename src/test_utils/{nim_waku.ts => nwaku.ts} (91%) diff --git a/.cspell.json b/.cspell.json index 85ac69bf95..2edaefd0a9 100644 --- a/.cspell.json +++ b/.cspell.json @@ -61,6 +61,7 @@ "muxer", "mvps", "nodekey", + "nwaku", "opendns", "peerhave", "portfinder", diff --git a/src/lib/discovery/predefined.ts b/src/lib/discovery/predefined.ts index de74409ad3..e3c5e2bdc6 100644 --- a/src/lib/discovery/predefined.ts +++ b/src/lib/discovery/predefined.ts @@ -12,7 +12,7 @@ export enum Fleet { /** * Return list of pre-defined (hardcoded) bootstrap nodes. * - * Default behavior is to return nodes of the nim-waku Status Prod fleet. + * Default behavior is to return nodes of the nwaku Status Prod fleet. * * @param fleet The fleet to be returned. Defaults to production fleet. * @param wantedNumber The number of connections desired. Defaults to [[DefaultWantedNumber]]. diff --git a/src/lib/waku.node.spec.ts b/src/lib/waku.node.spec.ts index d6e714b7e6..437573bb99 100644 --- a/src/lib/waku.node.spec.ts +++ b/src/lib/waku.node.spec.ts @@ -4,9 +4,9 @@ import PeerId from "peer-id"; import { makeLogFileName, - NimWaku, NOISE_KEY_1, NOISE_KEY_2, + Nwaku, } from "../test_utils/"; import { Protocols, Waku } from "./waku"; @@ -18,20 +18,20 @@ const dbg = debug("waku:test"); const TestContentTopic = "/test/1/waku/utf8"; describe("Waku Dial [node only]", function () { - describe("Interop: Nim", function () { + describe("Interop: nwaku", function () { let waku: Waku; - let nimWaku: NimWaku; + let nwaku: Nwaku; afterEach(async function () { - !!nimWaku && nimWaku.stop(); + !!nwaku && nwaku.stop(); !!waku && waku.stop().catch((e) => console.log("Waku failed to stop", e)); }); - it("js connects to nim", async function () { + it("connects to nwaku", async function () { this.timeout(20_000); - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start(); - const multiAddrWithId = await nimWaku.getMultiaddrWithId(); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start(); + const multiAddrWithId = await nwaku.getMultiaddrWithId(); waku = await Waku.create({ staticNoiseKey: NOISE_KEY_1, @@ -39,26 +39,26 @@ describe("Waku Dial [node only]", function () { await waku.dial(multiAddrWithId); await waku.waitForRemotePeer([Protocols.Relay]); - const nimPeerId = await nimWaku.getPeerId(); + const nimPeerId = await nwaku.getPeerId(); expect(await waku.libp2p.peerStore.has(nimPeerId)).to.be.true; }); }); describe("Bootstrap", function () { let waku: Waku; - let nimWaku: NimWaku; + let nwaku: Nwaku; afterEach(async function () { - !!nimWaku && nimWaku.stop(); + !!nwaku && nwaku.stop(); !!waku && waku.stop().catch((e) => console.log("Waku failed to stop", e)); }); it("Passing an array", async function () { this.timeout(10_000); - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start(); - const multiAddrWithId = await nimWaku.getMultiaddrWithId(); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start(); + const multiAddrWithId = await nwaku.getMultiaddrWithId(); waku = await Waku.create({ staticNoiseKey: NOISE_KEY_1, @@ -77,14 +77,14 @@ describe("Waku Dial [node only]", function () { it("Passing a function", async function () { this.timeout(10_000); - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start(); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start(); waku = await Waku.create({ staticNoiseKey: NOISE_KEY_1, bootstrap: { getPeers: async () => { - return [await nimWaku.getMultiaddrWithId()]; + return [await nwaku.getMultiaddrWithId()]; }, }, }); @@ -95,7 +95,7 @@ describe("Waku Dial [node only]", function () { }); }); - const multiAddrWithId = await nimWaku.getMultiaddrWithId(); + const multiAddrWithId = await nwaku.getMultiaddrWithId(); expect(connectedPeerID.toB58String()).to.eq(multiAddrWithId.getPeerId()); }); }); @@ -168,18 +168,18 @@ describe("Decryption Keys", () => { describe("Wait for remote peer / get peers", function () { let waku: Waku; - let nimWaku: NimWaku; + let nwaku: Nwaku; afterEach(async function () { - !!nimWaku && nimWaku.stop(); + !!nwaku && nwaku.stop(); !!waku && waku.stop().catch((e) => console.log("Waku failed to stop", e)); }); it("Relay", async function () { this.timeout(20_000); - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start(); - const multiAddrWithId = await nimWaku.getMultiaddrWithId(); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start(); + const multiAddrWithId = await nwaku.getMultiaddrWithId(); dbg("Create"); waku = await Waku.create({ @@ -199,9 +199,9 @@ describe("Wait for remote peer / get peers", function () { it("Store", async function () { this.timeout(20_000); - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start({ persistMessages: true }); - const multiAddrWithId = await nimWaku.getMultiaddrWithId(); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start({ persistMessages: true }); + const multiAddrWithId = await nwaku.getMultiaddrWithId(); waku = await Waku.create({ staticNoiseKey: NOISE_KEY_1, @@ -222,9 +222,9 @@ describe("Wait for remote peer / get peers", function () { it("LightPush", async function () { this.timeout(20_000); - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start({ lightpush: true }); - const multiAddrWithId = await nimWaku.getMultiaddrWithId(); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start({ lightpush: true }); + const multiAddrWithId = await nwaku.getMultiaddrWithId(); waku = await Waku.create({ staticNoiseKey: NOISE_KEY_1, diff --git a/src/lib/waku_light_push/index.node.spec.ts b/src/lib/waku_light_push/index.node.spec.ts index fe2b5dfc2c..15ca419955 100644 --- a/src/lib/waku_light_push/index.node.spec.ts +++ b/src/lib/waku_light_push/index.node.spec.ts @@ -1,7 +1,7 @@ import { expect } from "chai"; import debug from "debug"; -import { makeLogFileName, NimWaku, NOISE_KEY_1 } from "../../test_utils"; +import { makeLogFileName, NOISE_KEY_1, Nwaku } from "../../test_utils"; import { delay } from "../../test_utils/delay"; import { Protocols, Waku } from "../waku"; import { WakuMessage } from "../waku_message"; @@ -12,23 +12,23 @@ const TestContentTopic = "/test/1/waku-light-push/utf8"; describe("Waku Light Push [node only]", () => { let waku: Waku; - let nimWaku: NimWaku; + let nwaku: Nwaku; afterEach(async function () { - !!nimWaku && nimWaku.stop(); + !!nwaku && nwaku.stop(); !!waku && waku.stop().catch((e) => console.log("Waku failed to stop", e)); }); it("Push successfully", async function () { this.timeout(5_000); - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start({ lightpush: true }); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start({ lightpush: true }); waku = await Waku.create({ staticNoiseKey: NOISE_KEY_1, }); - await waku.dial(await nimWaku.getMultiaddrWithId()); + await waku.dial(await nwaku.getMultiaddrWithId()); await waku.waitForRemotePeer([Protocols.LightPush]); const messageText = "Light Push works!"; @@ -44,7 +44,7 @@ describe("Waku Light Push [node only]", () => { while (msgs.length === 0) { await delay(200); - msgs = await nimWaku.messages(); + msgs = await nwaku.messages(); } expect(msgs[0].contentTopic).to.equal(message.contentTopic); @@ -57,17 +57,17 @@ describe("Waku Light Push [node only]", () => { const customPubSubTopic = "/waku/2/custom-dapp/proto"; - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start({ lightpush: true, topics: customPubSubTopic }); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start({ lightpush: true, topics: customPubSubTopic }); waku = await Waku.create({ pubSubTopic: customPubSubTopic, staticNoiseKey: NOISE_KEY_1, }); - await waku.dial(await nimWaku.getMultiaddrWithId()); + await waku.dial(await nwaku.getMultiaddrWithId()); await waku.waitForRemotePeer([Protocols.LightPush]); - const nimPeerId = await nimWaku.getPeerId(); + const nimPeerId = await nwaku.getPeerId(); const messageText = "Light Push works!"; const message = await WakuMessage.fromUtf8String( @@ -84,10 +84,10 @@ describe("Waku Light Push [node only]", () => { let msgs: WakuMessage[] = []; - dbg("Waiting for message to show on nim-waku side"); + dbg("Waiting for message to show in nwaku"); while (msgs.length === 0) { await delay(200); - msgs = await nimWaku.messages(); + msgs = await nwaku.messages(); } expect(msgs[0].contentTopic).to.equal(message.contentTopic); diff --git a/src/lib/waku_message/index.node.spec.ts b/src/lib/waku_message/index.node.spec.ts index cfc5e14ffc..59a115d9de 100644 --- a/src/lib/waku_message/index.node.spec.ts +++ b/src/lib/waku_message/index.node.spec.ts @@ -3,8 +3,8 @@ import debug from "debug"; import { makeLogFileName, - NimWaku, NOISE_KEY_1, + Nwaku, WakuRelayMessage, } from "../../test_utils"; import { delay } from "../../test_utils/delay"; @@ -24,9 +24,9 @@ const dbg = debug("waku:test:message"); const TestContentTopic = "/test/1/waku-message/utf8"; describe("Waku Message [node only]", function () { - describe("Interop: Nim", function () { + describe("Interop: nwaku", function () { let waku: Waku; - let nimWaku: NimWaku; + let nwaku: Nwaku; beforeEach(async function () { this.timeout(30_000); @@ -34,27 +34,27 @@ describe("Waku Message [node only]", function () { staticNoiseKey: NOISE_KEY_1, }); - nimWaku = new NimWaku(makeLogFileName(this)); - dbg("Starting nim-waku node"); - await nimWaku.start({ rpcPrivate: true }); + nwaku = new Nwaku(makeLogFileName(this)); + dbg("Starting nwaku node"); + await nwaku.start({ rpcPrivate: true }); - dbg("Dialing to nim-waku node"); - await waku.dial(await nimWaku.getMultiaddrWithId()); + dbg("Dialing to nwaku node"); + await waku.dial(await nwaku.getMultiaddrWithId()); dbg("Wait for remote peer"); await waku.waitForRemotePeer([Protocols.Relay]); dbg("Remote peer ready"); - // As this test uses the nim-waku RPC API, we somehow often face - // Race conditions where the nim-waku node does not have the js-waku + // As this test uses the nwaku RPC API, we somehow often face + // Race conditions where the nwaku node does not have the js-waku // Node in its relay mesh just yet. await delay(500); }); afterEach(async function () { - !!nimWaku && nimWaku.stop(); + !!nwaku && nwaku.stop(); !!waku && waku.stop().catch((e) => console.log("Waku failed to stop", e)); }); - it("JS decrypts nim message [asymmetric, no signature]", async function () { + it("Decrypts nwaku message [asymmetric, no signature]", async function () { this.timeout(5000); const messageText = "Here is an encrypted message."; @@ -77,7 +77,7 @@ describe("Waku Message [node only]", function () { const publicKey = getPublicKey(privateKey); dbg("Post message"); - const res = await nimWaku.postAsymmetricMessage(message, publicKey); + const res = await nwaku.postAsymmetricMessage(message, publicKey); expect(res).to.be.true; const receivedMsg = await receivedMsgPromise; @@ -87,11 +87,11 @@ describe("Waku Message [node only]", function () { expect(receivedMsg.payloadAsUtf8).to.eq(messageText); }); - it("Js encrypts message for nim [asymmetric, no signature]", async function () { + it("Encrypts message for nwaku [asymmetric, no signature]", async function () { this.timeout(5000); - dbg("Ask nim-waku to generate asymmetric key pair"); - const keyPair = await nimWaku.getAsymmetricKeyPair(); + dbg("Ask nwaku to generate asymmetric key pair"); + const keyPair = await nwaku.getAsymmetricKeyPair(); const privateKey = hexToBytes(keyPair.privateKey); const publicKey = hexToBytes(keyPair.publicKey); @@ -111,9 +111,9 @@ describe("Waku Message [node only]", function () { let msgs: WakuRelayMessage[] = []; while (msgs.length === 0) { - dbg("Wait for message to be seen by nim-waku"); + dbg("Wait for message to be seen by nwaku"); await delay(200); - msgs = await nimWaku.getAsymmetricMessages(privateKey); + msgs = await nwaku.getAsymmetricMessages(privateKey); } dbg("Check message content"); @@ -121,7 +121,7 @@ describe("Waku Message [node only]", function () { expect(bytesToUtf8(hexToBytes(msgs[0].payload))).to.equal(messageText); }); - it("JS decrypts nim message [symmetric, no signature]", async function () { + it("Decrypts nwaku message [symmetric, no signature]", async function () { this.timeout(5000); const messageText = "Here is a message encrypted in a symmetric manner."; @@ -143,8 +143,8 @@ describe("Waku Message [node only]", function () { } ); - dbg("Post message using nim-waku"); - await nimWaku.postSymmetricMessage(message, symKey); + dbg("Post message using nwaku"); + await nwaku.postSymmetricMessage(message, symKey); dbg("Wait for message to be received by js-waku"); const receivedMsg = await receivedMsgPromise; dbg("Message received by js-waku"); @@ -154,11 +154,11 @@ describe("Waku Message [node only]", function () { expect(receivedMsg.payloadAsUtf8).to.eq(messageText); }); - it("Js encrypts message for nim [symmetric, no signature]", async function () { + it("Encrypts message for nwaku [symmetric, no signature]", async function () { this.timeout(5000); - dbg("Getting symmetric key from nim-waku"); - const symKey = await nimWaku.getSymmetricKey(); + dbg("Getting symmetric key from nwaku"); + const symKey = await nwaku.getSymmetricKey(); dbg("Encrypting message with js-waku"); const messageText = "This is a message I am going to encrypt with a symmetric key"; @@ -176,8 +176,8 @@ describe("Waku Message [node only]", function () { while (msgs.length === 0) { await delay(200); - dbg("Getting messages from nim-waku"); - msgs = await nimWaku.getSymmetricMessages(symKey); + dbg("Getting messages from nwaku"); + msgs = await nwaku.getSymmetricMessages(symKey); } expect(msgs[0].contentTopic).to.equal(message.contentTopic); diff --git a/src/lib/waku_relay/index.node.spec.ts b/src/lib/waku_relay/index.node.spec.ts index b5840cfcb1..c6b0b3a571 100644 --- a/src/lib/waku_relay/index.node.spec.ts +++ b/src/lib/waku_relay/index.node.spec.ts @@ -3,9 +3,9 @@ import debug from "debug"; import { makeLogFileName, - NimWaku, NOISE_KEY_1, NOISE_KEY_2, + Nwaku, } from "../../test_utils"; import { delay } from "../../test_utils/delay"; import { DefaultPubSubTopic, Protocols, Waku } from "../waku"; @@ -306,9 +306,9 @@ describe("Waku Relay [node only]", () => { }); }); - describe("Interop: Nim", function () { + describe("Interop: nwaku", function () { let waku: Waku; - let nimWaku: NimWaku; + let nwaku: Nwaku; beforeEach(async function () { this.timeout(30_000); @@ -316,19 +316,19 @@ describe("Waku Relay [node only]", () => { staticNoiseKey: NOISE_KEY_1, }); - nimWaku = new NimWaku(this.test?.ctx?.currentTest?.title + ""); - await nimWaku.start(); + nwaku = new Nwaku(this.test?.ctx?.currentTest?.title + ""); + await nwaku.start(); - await waku.dial(await nimWaku.getMultiaddrWithId()); + await waku.dial(await nwaku.getMultiaddrWithId()); await waku.waitForRemotePeer([Protocols.Relay]); }); afterEach(async function () { - !!nimWaku && nimWaku.stop(); + !!nwaku && nwaku.stop(); !!waku && waku.stop().catch((e) => console.log("Waku failed to stop", e)); }); - it("nim subscribes to js", async function () { + it("nwaku subscribes", async function () { let subscribers: string[] = []; while (subscribers.length === 0) { @@ -336,11 +336,11 @@ describe("Waku Relay [node only]", () => { subscribers = waku.libp2p.pubsub.getSubscribers(DefaultPubSubTopic); } - const nimPeerId = await nimWaku.getPeerId(); + const nimPeerId = await nwaku.getPeerId(); expect(subscribers).to.contain(nimPeerId.toB58String()); }); - it("Js publishes to nim", async function () { + it("Publishes to nwaku", async function () { this.timeout(30000); const messageText = "This is a message"; @@ -356,7 +356,7 @@ describe("Waku Relay [node only]", () => { while (msgs.length === 0) { console.log("Waiting for messages"); await delay(200); - msgs = await nimWaku.messages(); + msgs = await nwaku.messages(); } expect(msgs[0].contentTopic).to.equal(message.contentTopic); @@ -364,7 +364,7 @@ describe("Waku Relay [node only]", () => { expect(msgs[0].payloadAsUtf8).to.equal(messageText); }); - it("Nim publishes to js", async function () { + it("Nwaku publishes", async function () { await delay(200); const messageText = "Here is another message."; @@ -379,7 +379,7 @@ describe("Waku Relay [node only]", () => { } ); - await nimWaku.sendMessage(NimWaku.toWakuRelayMessage(message)); + await nwaku.sendMessage(Nwaku.toWakuRelayMessage(message)); const receivedMsg = await receivedMsgPromise; @@ -388,13 +388,13 @@ describe("Waku Relay [node only]", () => { expect(receivedMsg.payloadAsUtf8).to.eq(messageText); }); - describe.skip("js to nim to js", function () { + describe.skip("Two nodes connected to nwaku", function () { let waku1: Waku; let waku2: Waku; - let nimWaku: NimWaku; + let nwaku: Nwaku; afterEach(async function () { - !!nimWaku && nimWaku.stop(); + !!nwaku && nwaku.stop(); !!waku1 && waku1.stop().catch((e) => console.log("Waku failed to stop", e)); !!waku2 && @@ -412,13 +412,13 @@ describe("Waku Relay [node only]", () => { }), ]); - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start(); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start(); - const nimWakuMultiaddr = await nimWaku.getMultiaddrWithId(); + const nwakuMultiaddr = await nwaku.getMultiaddrWithId(); await Promise.all([ - waku1.dial(nimWakuMultiaddr), - waku2.dial(nimWakuMultiaddr), + waku1.dial(nwakuMultiaddr), + waku2.dial(nwakuMultiaddr), ]); // Wait for identify protocol to finish diff --git a/src/lib/waku_store/index.node.spec.ts b/src/lib/waku_store/index.node.spec.ts index fc6e3c24fe..6be1261f45 100644 --- a/src/lib/waku_store/index.node.spec.ts +++ b/src/lib/waku_store/index.node.spec.ts @@ -3,9 +3,9 @@ import debug from "debug"; import { makeLogFileName, - NimWaku, NOISE_KEY_1, NOISE_KEY_2, + Nwaku, } from "../../test_utils"; import { delay } from "../../test_utils/delay"; import { Protocols, Waku } from "../waku"; @@ -24,23 +24,23 @@ const TestContentTopic = "/test/1/waku-store/utf8"; describe("Waku Store", () => { let waku: Waku; - let nimWaku: NimWaku; + let nwaku: Nwaku; afterEach(async function () { - !!nimWaku && nimWaku.stop(); + !!nwaku && nwaku.stop(); !!waku && waku.stop().catch((e) => console.log("Waku failed to stop", e)); }); it("Retrieves history", async function () { this.timeout(5_000); - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start({ persistMessages: true }); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start({ persistMessages: true }); for (let i = 0; i < 2; i++) { expect( - await nimWaku.sendMessage( - NimWaku.toWakuRelayMessage( + await nwaku.sendMessage( + Nwaku.toWakuRelayMessage( await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic) ) ) @@ -50,7 +50,7 @@ describe("Waku Store", () => { waku = await Waku.create({ staticNoiseKey: NOISE_KEY_1, }); - await waku.dial(await nimWaku.getMultiaddrWithId()); + await waku.dial(await nwaku.getMultiaddrWithId()); await waku.waitForRemotePeer([Protocols.Store]); const messages = await waku.store.queryHistory([]); @@ -64,15 +64,15 @@ describe("Waku Store", () => { it("Retrieves history using callback", async function () { this.timeout(10_000); - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start({ persistMessages: true }); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start({ persistMessages: true }); const totalMsgs = 20; for (let i = 0; i < totalMsgs; i++) { expect( - await nimWaku.sendMessage( - NimWaku.toWakuRelayMessage( + await nwaku.sendMessage( + Nwaku.toWakuRelayMessage( await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic) ) ) @@ -82,7 +82,7 @@ describe("Waku Store", () => { waku = await Waku.create({ staticNoiseKey: NOISE_KEY_1, }); - await waku.dial(await nimWaku.getMultiaddrWithId()); + await waku.dial(await nwaku.getMultiaddrWithId()); await waku.waitForRemotePeer([Protocols.Store]); let messages: WakuMessage[] = []; @@ -103,15 +103,15 @@ describe("Waku Store", () => { it("Retrieval aborts when callback returns true", async function () { this.timeout(5_000); - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start({ persistMessages: true }); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start({ persistMessages: true }); const availMsgs = 20; for (let i = 0; i < availMsgs; i++) { expect( - await nimWaku.sendMessage( - NimWaku.toWakuRelayMessage( + await nwaku.sendMessage( + Nwaku.toWakuRelayMessage( await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic) ) ) @@ -121,7 +121,7 @@ describe("Waku Store", () => { waku = await Waku.create({ staticNoiseKey: NOISE_KEY_1, }); - await waku.dial(await nimWaku.getMultiaddrWithId()); + await waku.dial(await nwaku.getMultiaddrWithId()); await waku.waitForRemotePeer([Protocols.Store]); let messages: WakuMessage[] = []; @@ -141,13 +141,13 @@ describe("Waku Store", () => { it("Retrieves all historical elements in chronological order through paging", async function () { this.timeout(5_000); - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start({ persistMessages: true }); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start({ persistMessages: true }); for (let i = 0; i < 15; i++) { expect( - await nimWaku.sendMessage( - NimWaku.toWakuRelayMessage( + await nwaku.sendMessage( + Nwaku.toWakuRelayMessage( await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic) ) ) @@ -157,7 +157,7 @@ describe("Waku Store", () => { waku = await Waku.create({ staticNoiseKey: NOISE_KEY_1, }); - await waku.dial(await nimWaku.getMultiaddrWithId()); + await waku.dial(await nwaku.getMultiaddrWithId()); await waku.waitForRemotePeer([Protocols.Store]); const messages = await waku.store.queryHistory([], { @@ -178,13 +178,13 @@ describe("Waku Store", () => { this.timeout(5_000); const customPubSubTopic = "/waku/2/custom-dapp/proto"; - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start({ persistMessages: true, topics: customPubSubTopic }); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start({ persistMessages: true, topics: customPubSubTopic }); for (let i = 0; i < 2; i++) { expect( - await nimWaku.sendMessage( - NimWaku.toWakuRelayMessage( + await nwaku.sendMessage( + Nwaku.toWakuRelayMessage( await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic) ), customPubSubTopic @@ -196,10 +196,10 @@ describe("Waku Store", () => { pubSubTopic: customPubSubTopic, staticNoiseKey: NOISE_KEY_1, }); - await waku.dial(await nimWaku.getMultiaddrWithId()); + await waku.dial(await nwaku.getMultiaddrWithId()); await waku.waitForRemotePeer([Protocols.Store]); - const nimPeerId = await nimWaku.getPeerId(); + const nimPeerId = await nwaku.getPeerId(); const messages = await waku.store.queryHistory([], { peerId: nimPeerId, @@ -215,8 +215,8 @@ describe("Waku Store", () => { it("Retrieves history with asymmetric & symmetric encrypted messages", async function () { this.timeout(10_000); - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start({ persistMessages: true, lightpush: true }); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start({ persistMessages: true, lightpush: true }); const encryptedAsymmetricMessageText = "This message is encrypted for me using asymmetric"; @@ -266,7 +266,7 @@ describe("Waku Store", () => { Waku.create({ staticNoiseKey: NOISE_KEY_2, }), - nimWaku.getMultiaddrWithId(), + nwaku.getMultiaddrWithId(), ]); dbg("Waku nodes created"); @@ -276,7 +276,7 @@ describe("Waku Store", () => { waku2.dial(nimWakuMultiaddr), ]); - dbg("Waku nodes connected to nim Waku"); + dbg("Waku nodes connected to nwaku"); let lightPushPeerFound = false; while (!lightPushPeerFound) { @@ -324,8 +324,8 @@ describe("Waku Store", () => { it("Retrieves history with asymmetric & symmetric encrypted messages on different content topics", async function () { this.timeout(10_000); - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start({ persistMessages: true, lightpush: true }); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start({ persistMessages: true, lightpush: true }); const encryptedAsymmetricMessageText = "This message is encrypted for me using asymmetric"; @@ -384,7 +384,7 @@ describe("Waku Store", () => { Waku.create({ staticNoiseKey: NOISE_KEY_2, }), - nimWaku.getMultiaddrWithId(), + nwaku.getMultiaddrWithId(), ]); dbg("Waku nodes created"); @@ -394,7 +394,7 @@ describe("Waku Store", () => { waku2.dial(nimWakuMultiaddr), ]); - dbg("Waku nodes connected to nim Waku"); + dbg("Waku nodes connected to nwaku"); let lightPushPeerFound = false; while (!lightPushPeerFound) { @@ -445,8 +445,8 @@ describe("Waku Store", () => { it("Retrieves history using start and end time", async function () { this.timeout(5_000); - nimWaku = new NimWaku(makeLogFileName(this)); - await nimWaku.start({ persistMessages: true }); + nwaku = new Nwaku(makeLogFileName(this)); + await nwaku.start({ persistMessages: true }); const now = new Date(); @@ -469,8 +469,8 @@ describe("Waku Store", () => { for (let i = 0; i < 2; i++) { expect( - await nimWaku.sendMessage( - NimWaku.toWakuRelayMessage( + await nwaku.sendMessage( + Nwaku.toWakuRelayMessage( await WakuMessage.fromUtf8String(`Message ${i}`, TestContentTopic, { timestamp: messageTimestamps[i], }) @@ -482,18 +482,18 @@ describe("Waku Store", () => { waku = await Waku.create({ staticNoiseKey: NOISE_KEY_1, }); - await waku.dial(await nimWaku.getMultiaddrWithId()); + await waku.dial(await nwaku.getMultiaddrWithId()); await waku.waitForRemotePeer([Protocols.Store]); - const nimPeerId = await nimWaku.getPeerId(); + const nwakuPeerId = await nwaku.getPeerId(); const firstMessage = await waku.store.queryHistory([], { - peerId: nimPeerId, + peerId: nwakuPeerId, timeFilter: { startTime, endTime: message1Timestamp }, }); const bothMessages = await waku.store.queryHistory([], { - peerId: nimPeerId, + peerId: nwakuPeerId, timeFilter: { startTime, endTime, diff --git a/src/test_utils/index.ts b/src/test_utils/index.ts index a01035af71..4cdf70a3f9 100644 --- a/src/test_utils/index.ts +++ b/src/test_utils/index.ts @@ -8,4 +8,4 @@ export * from "./async_fs"; export * from "./constants"; export * from "./log_file"; -export * from "./nim_waku"; +export * from "./nwaku"; diff --git a/src/test_utils/log_file.ts b/src/test_utils/log_file.ts index 8f22d80370..e784082150 100644 --- a/src/test_utils/log_file.ts +++ b/src/test_utils/log_file.ts @@ -1,5 +1,5 @@ /** - * Utilities to make it help check nim-waku logs. + * Utilities to make it help check nwaku logs. * * @hidden * @module diff --git a/src/test_utils/nim_waku.node.spec.ts b/src/test_utils/nwaku.node.spec.ts similarity index 96% rename from src/test_utils/nim_waku.node.spec.ts rename to src/test_utils/nwaku.node.spec.ts index 02b0e91b53..ac893bd226 100644 --- a/src/test_utils/nim_waku.node.spec.ts +++ b/src/test_utils/nwaku.node.spec.ts @@ -1,8 +1,8 @@ import { expect } from "chai"; -import { argsToArray, bytesToHex, defaultArgs, strToHex } from "./nim_waku"; +import { argsToArray, bytesToHex, defaultArgs, strToHex } from "./nwaku"; -describe("nim_waku", () => { +describe("nwaku", () => { it("Correctly serialized arguments", function () { const args = defaultArgs(); Object.assign(args, { portsShift: 42 }); diff --git a/src/test_utils/nim_waku.ts b/src/test_utils/nwaku.ts similarity index 91% rename from src/test_utils/nim_waku.ts rename to src/test_utils/nwaku.ts index 0894916841..ddb7ea903a 100644 --- a/src/test_utils/nim_waku.ts +++ b/src/test_utils/nwaku.ts @@ -19,7 +19,7 @@ import * as proto from "../proto/waku/v2/message"; import { existsAsync, mkdirAsync, openAsync } from "./async_fs"; import waitForLine from "./log_file"; -const dbg = debug("waku:nim-waku"); +const dbg = debug("waku:nwaku"); const NIM_WAKU_DIR = appRoot + "/nim-waku"; const NIM_WAKU_BIN = NIM_WAKU_DIR + "/build/wakunode2"; @@ -67,7 +67,7 @@ export interface WakuRelayMessage { timestamp?: number; // Unix epoch time in nanoseconds as a 64-bits integer value. } -export class NimWaku { +export class Nwaku { private process?: ChildProcess; private pid?: number; private peerId?: PeerId; @@ -97,7 +97,7 @@ export class NimWaku { } constructor(logName: string) { - this.logPath = `${LOG_DIR}/nim-waku_${logName}.log`; + this.logPath = `${LOG_DIR}/nwaku_${logName}.log`; } async start(args?: Args): Promise { @@ -138,7 +138,7 @@ export class NimWaku { ); const argsArray = argsToArray(mergedArgs); - dbg(`nim-waku args: ${argsArray.join(" ")}`); + dbg(`nwaku args: ${argsArray.join(" ")}`); this.process = spawn(NIM_WAKU_BIN, argsArray, { cwd: NIM_WAKU_DIR, stdio: [ @@ -149,14 +149,12 @@ export class NimWaku { }); this.pid = this.process.pid; dbg( - `nim-waku ${ - this.process.pid - } started at ${new Date().toLocaleTimeString()}` + `nwaku ${this.process.pid} started at ${new Date().toLocaleTimeString()}` ); this.process.on("exit", (signal) => { dbg( - `nim-waku ${ + `nwaku ${ this.process ? this.process.pid : this.pid } process exited with ${signal} at ${new Date().toLocaleTimeString()}` ); @@ -164,23 +162,23 @@ export class NimWaku { this.process.on("error", (err) => { console.log( - `nim-waku ${ + `nwaku ${ this.process ? this.process.pid : this.pid } process encountered an error: ${err} at ${new Date().toLocaleTimeString()}` ); }); - dbg("Waiting to see 'Node setup complete' in nim-waku logs"); + dbg("Waiting to see 'Node setup complete' in nwaku logs"); await this.waitForLog("Node setup complete", 9000); - dbg("nim-waku node has been started"); + dbg("nwaku node has been started"); } public stop(): void { const pid = this.process ? this.process.pid : this.pid; - dbg(`nim-waku ${pid} getting SIGINT at ${new Date().toLocaleTimeString()}`); - if (!this.process) throw "nim-waku process not set"; + dbg(`nwaku ${pid} getting SIGINT at ${new Date().toLocaleTimeString()}`); + if (!this.process) throw "nwaku process not set"; const res = this.process.kill("SIGINT"); - dbg(`nim-waku ${pid} interrupted:`, res); + dbg(`nwaku ${pid} interrupted:`, res); this.process = undefined; } @@ -188,9 +186,9 @@ export class NimWaku { return waitForLine(this.logPath, msg, timeout); } - /** Calls nim-waku2 JSON-RPC API `get_waku_v2_admin_v1_peers` to check + /** Calls nwaku JSON-RPC API `get_waku_v2_admin_v1_peers` to check * for known peers - * @throws if nim-waku2 isn't started. + * @throws if nwaku isn't started. */ async peers(): Promise { this.checkProcess(); @@ -340,9 +338,9 @@ export class NimWaku { this.multiaddrWithId = res.listenAddresses .map((ma) => multiaddr(ma)) .find((ma) => ma.protoNames().includes("ws")); - if (!this.multiaddrWithId) throw "Nim-waku did not return a ws multiaddr"; + if (!this.multiaddrWithId) throw "Nwaku did not return a ws multiaddr"; const peerIdStr = this.multiaddrWithId.getPeerId(); - if (!peerIdStr) throw "Nim-waku multiaddr does not contain peerId"; + if (!peerIdStr) throw "Nwaku multiaddr does not contain peerId"; this.peerId = PeerId.createFromB58String(peerIdStr); return { peerId: this.peerId, multiaddrWithId: this.multiaddrWithId }; } @@ -372,7 +370,7 @@ export class NimWaku { private checkProcess(): void { if (!this.process) { - throw "Nim Waku isn't started"; + throw "Nwaku hasn't started"; } } } From 2511b7daeca306f5bfd7c455da7fdb9f391be0bd Mon Sep 17 00:00:00 2001 From: Franck Date: Fri, 1 Apr 2022 12:59:59 +1100 Subject: [PATCH 7/8] Nwaku v0.9 is taking more time to start-up --- src/lib/waku_light_push/index.node.spec.ts | 4 ++-- src/lib/waku_store/index.node.spec.ts | 16 ++++++++-------- src/test_utils/nwaku.ts | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/lib/waku_light_push/index.node.spec.ts b/src/lib/waku_light_push/index.node.spec.ts index 15ca419955..8bbd0be156 100644 --- a/src/lib/waku_light_push/index.node.spec.ts +++ b/src/lib/waku_light_push/index.node.spec.ts @@ -20,7 +20,7 @@ describe("Waku Light Push [node only]", () => { }); it("Push successfully", async function () { - this.timeout(5_000); + this.timeout(15_000); nwaku = new Nwaku(makeLogFileName(this)); await nwaku.start({ lightpush: true }); @@ -53,7 +53,7 @@ describe("Waku Light Push [node only]", () => { }); it("Push on custom pubsub topic", async function () { - this.timeout(5_000); + this.timeout(15_000); const customPubSubTopic = "/waku/2/custom-dapp/proto"; diff --git a/src/lib/waku_store/index.node.spec.ts b/src/lib/waku_store/index.node.spec.ts index 6be1261f45..0d907ad5f2 100644 --- a/src/lib/waku_store/index.node.spec.ts +++ b/src/lib/waku_store/index.node.spec.ts @@ -32,7 +32,7 @@ describe("Waku Store", () => { }); it("Retrieves history", async function () { - this.timeout(5_000); + this.timeout(15_000); nwaku = new Nwaku(makeLogFileName(this)); await nwaku.start({ persistMessages: true }); @@ -62,7 +62,7 @@ describe("Waku Store", () => { }); it("Retrieves history using callback", async function () { - this.timeout(10_000); + this.timeout(15_000); nwaku = new Nwaku(makeLogFileName(this)); await nwaku.start({ persistMessages: true }); @@ -101,7 +101,7 @@ describe("Waku Store", () => { }); it("Retrieval aborts when callback returns true", async function () { - this.timeout(5_000); + this.timeout(15_000); nwaku = new Nwaku(makeLogFileName(this)); await nwaku.start({ persistMessages: true }); @@ -139,7 +139,7 @@ describe("Waku Store", () => { }); it("Retrieves all historical elements in chronological order through paging", async function () { - this.timeout(5_000); + this.timeout(15_000); nwaku = new Nwaku(makeLogFileName(this)); await nwaku.start({ persistMessages: true }); @@ -175,7 +175,7 @@ describe("Waku Store", () => { }); it("Retrieves history using custom pubsub topic", async function () { - this.timeout(5_000); + this.timeout(15_000); const customPubSubTopic = "/waku/2/custom-dapp/proto"; nwaku = new Nwaku(makeLogFileName(this)); @@ -213,7 +213,7 @@ describe("Waku Store", () => { }); it("Retrieves history with asymmetric & symmetric encrypted messages", async function () { - this.timeout(10_000); + this.timeout(15_000); nwaku = new Nwaku(makeLogFileName(this)); await nwaku.start({ persistMessages: true, lightpush: true }); @@ -322,7 +322,7 @@ describe("Waku Store", () => { }); it("Retrieves history with asymmetric & symmetric encrypted messages on different content topics", async function () { - this.timeout(10_000); + this.timeout(15_000); nwaku = new Nwaku(makeLogFileName(this)); await nwaku.start({ persistMessages: true, lightpush: true }); @@ -443,7 +443,7 @@ describe("Waku Store", () => { }); it("Retrieves history using start and end time", async function () { - this.timeout(5_000); + this.timeout(15_000); nwaku = new Nwaku(makeLogFileName(this)); await nwaku.start({ persistMessages: true }); diff --git a/src/test_utils/nwaku.ts b/src/test_utils/nwaku.ts index ddb7ea903a..2530316965 100644 --- a/src/test_utils/nwaku.ts +++ b/src/test_utils/nwaku.ts @@ -169,7 +169,7 @@ export class Nwaku { }); dbg("Waiting to see 'Node setup complete' in nwaku logs"); - await this.waitForLog("Node setup complete", 9000); + await this.waitForLog("Node setup complete", 15000); dbg("nwaku node has been started"); } From 7bfbefa91a07a68b48b3b4096258dfd8d83cd73d Mon Sep 17 00:00:00 2001 From: Franck Date: Fri, 1 Apr 2022 13:07:01 +1100 Subject: [PATCH 8/8] Get system details before running nwaku --- .github/workflows/ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e0bd7b30fe..0cc7c4add9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,10 @@ jobs: - name: Ensure wakunode2 is ready shell: bash - run: cd nim-waku && ./build/wakunode2 --help + run: | + uname -a + cd nim-waku/build + ./wakunode2 --help - name: Install bufbuild uses: mathematic-inc/setup-buf@v2beta