js-waku/packages/tests
Danish Arora 124a29ebba
feat(static-sharding): filter peer connections per shards (#1626)
* add interface for `ShardInfo`

* enr: add deserialization logic & setup getters

* add sharding related utils

* utils: add shard<-> bytes conversion helpers

* pass `pubSubTopics` to `Waku`

* add `rs`/`rsv` details during discovery

* connection-manager: discard irrelevant peers

* add tests for static sharding - peer exchange

* update `ConnectionManager` tests to account for topic validity

* add js suffix to import

* address some comments

* move shardInfo encoding to ENR

* test: update for new API

* enr: add tests for serialisation & deserialisation

* address comment

* update test

* move getPeershardInfo to ConnectionManager and return ShardInfo instead of bytes

* update encoding and decoding relay shards to also factor for shards>64

* relay shard encoding decoding: use DataView and verbose spec tests

* improve tests for relay shard encoding decoding

* rm: only

* improve log message for unconfigured pubsub topic

* minor improvement

* fix: buffer <> Uint8array problems with shard decoding

* fix: test

* rm: only
2023-10-10 20:18:02 +05:30
..
src use loadash instead of custom function 2023-10-10 09:15:36 +03:00
tests feat(static-sharding): filter peer connections per shards (#1626) 2023-10-10 20:18:02 +05:30
.eslintrc.cjs chore: upgrade libp2p and related deps (#1482) 2023-08-16 20:18:13 +05:30
.mocharc.json self review 2023-10-06 13:34:30 +03:00
README.md feat: use nwaku/go-waku docker images instead of building binaries (#1259) 2023-04-17 10:29:36 +05:30
package.json use loadash instead of custom function 2023-10-10 09:15:36 +03:00
tsconfig.dev.json chore: merge tsconfig 2022-12-02 15:54:30 +11:00
tsconfig.json feat: use nwaku/go-waku docker images instead of building binaries (#1259) 2023-04-17 10:29:36 +05:30

README.md

Description

This package contains tests for the js-waku library.

Pre-requisites

Some of the tests from this package require a running nwaku or go-waku node. These nodes are setup to be run in a docker container. Therefore, you need to have docker installed on your machine to run the tests.

Running interop tests

  • The tests by default run against an nwaku node with the image name specified in nwaku.ts and packages/tests/package.json. The tests can be run against a different image by setting the environment variable WAKUNODE_IMAGE to the desired image.

  • The tests can be run against a go-waku node by setting the environment variable WAKUNODE_IMAGE to the desired go-waku image.

    • Whatever WAKUNODE_IMAGE is set to, the tests will run against that image. If the image is not available locally, the tests will pull the image from the docker hub. You can run the tests by running the following command:

      WAKUNODE_IMAGE=explicit-image-name npm run test:node
      

      Or against the default docker image by running:

      npm run test:node
      
  • You can also run the tests against a local nwaku or go-waku node by setting the environment variable WAKUNODE_IMAGE to the name of the image. The tests will then run against the local image.

    • For example, to run the tests against a local checkout of nwaku or go-waku, build the image first manually. You can build the image by running the following command:

      docker build path-to-dockerfile -t image-name
      

      Then, you can run the tests by running the following command:

      WAKUNODE_IMAGE=image-name npm run test:node