js-waku/packages/tests
Danish Arora 81a52a8097
feat!: set peer-exchange with default bootstrap (#1469)
* set peer-exchange with default bootstrap

* only initialise protocols with bootstrap peers

* update package

* update package-lock

* refactor `getPeers` while setting up a protocol

* move codecs to `@waku/interfaces`

* lightpush: send messages to multiple peers

* only use multiple peers for LP and Filter

* fix: ts warnings

* lightpush: tests pass

* update breaking changes for new API

* move codecs back into protocol files

* refactor: `getPeers()`

* rm: log as an arg

* add tsdoc for getPeers

* add import

* add prettier rule to eslint

* add: peer exchange to sdk as a dep

* fix eslint error

* add try catch

* revert unecessary diff

* revert unecessary diff

* fix imports

* convert relaycodecs to array

* remove: peerId as an arg for protocol methods

* keep peerId as an arg for peer-exchange

* remove: peerId from getPeers()

* lightpush: extract hardcoded numPeers as a constant

* return all peers if numPeers is 0 and increase readability for random peers

* refactor considering more than 1 bootstrap peers can exist

* use `getPeers`

* change arg for `getPeers` to object

* address comments

* refactor tests for new API

* lightpush: make constant the class variable

* use `maxBootstrapPeers` instead of `includeBootstrap`

* refactor protocols for new API

* add tests for `getPeers`

* skip getPeers test

* rm: only from test

* move tests to `base_protocol.spec.ts`

* break down `getPeers` into a `filter` method

* return all bootstrap peers if arg is 0

* refactor test without stubbing

* address comments

* update test title

* move `filterPeers` to a separate file

* address comments & add more test

* make test title more verbose

* address comments

* remove ProtocolOptions

* chore: refactor tests for new API

* add defaults for getPeers

* address comments

* rm unneeded comment

* address comment: add diversity of node tags to test

* address comments

* fix: imports
2023-09-07 13:15:49 +05:30
..
src manually triggerr ci with custom nim node image 2023-08-24 14:03:44 +03:00
tests feat!: set peer-exchange with default bootstrap (#1469) 2023-09-07 13:15:49 +05:30
.eslintrc.cjs chore: upgrade libp2p and related deps (#1482) 2023-08-16 20:18:13 +05:30
.mocharc.json chore: test agains Fleets and add optional tests (#1432) 2023-08-07 10:27:16 +02: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 chore(deps)(deps-dev): bump @typescript-eslint/parser (#1538) 2023-09-07 11:21:37 +05:30
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