Roman Zajic 151233fddb
chore: RLN relay tests (#30)
* fix: add get_multiaddr_with_id step
- temporarily use local docker images

* fix: discard containers used for RLN registration

* fix: switch to use cluster ID 1 for RLN

* test: publish at slow and spam rate

* fix: shorten test data set

* fix: move RLN related code into separate class

* fix: use send only publish function
- add spam and alternate rate tests

* fix: use math.trunc instead of rounding

* fix: first message without delay

* fix: add one more second to messages with delay

* fix: add methods to setup non default RLN nodes

* fix: rewrite tests using steps rather than fixtures
- prepare for non default settings for RLN

* test: random epoch with valid_payloads_at_slow_rate

* test: random user message limit with valid payloads

* fix: skip test "random user message limit with valid payloads"

* fix: mark flaky "at variable_rate with valid payloads"

* fix: rename tests for easier debugging

* fix: mark valid_payloads_dynamic_at_slow_rate to skip

* fix: forgot to add actual file

* test: valid payloads dynamic(on chain) at spam rate
- extend timeout for ensure_ready() to 600s
- add ensure_healthy() for future use
- add text content based rest call
- remove NODE1, NODE2 imports

* fix: revert env_vars to source images from Harbor

* fix: reuse setup first and second rln relay node for setup_main_rln_relay_nodes

* fix: reuse register_rln_single_node for register_main_rln_relay_nodes

* fix: start using src.steps.common
- removed RLN test class inheritance from StepsRelay

* fix: test using whole data set at test payloads_at_slow_rate

* fix: switch to send msg and check for slow rate tests

* fix: add comment for skip check at first message

* fix: refactor payloads_at_variable_rate to use only one payload pattern

* fix: remove the plural from payloads_at_variable_rate

* fix: multiple class inheritance for TestRelayRLN

* test: node1 with rln node2 without rln at spam rate

* test: mixed epoch at slow rate

* test: add lightpush methods

* test: send valid payloads lightpush at spam rate

* fix: node1 to act as light push receiving node
- add setup lightpush node to spin off node2 with lightpush support

* fix: use NODE1 NODE2 instead of DEFAULT_NWAKU

* fix: no lightpush param required for plain RLN relay

* fix: comment for lightpush

* fix: comment for lightpush - wait for implementation

* fix: comment on chain tests

* fix: add lightpush case to publish_message

* fix: remove check_light_pushed_message_reaches_receiving_peer from StepsRLN

* fix: change comment for mixed_epoch_at_slow_rate

* test: happy and common case with 5 nodes

* fix: add all required fixtures explicitly

* fix: add timeout param to ensure_ready

* fix: skip RLN tests for go-waku

* fix: reformated with pre-commit

* fix: uncomment skip for debugging

* fix: put the skip back

* fix: change comment for on chain tests

* fix: run RLN tests in serial
- add grouping of tests to runner
- use smaller dataset for spam rate tests

* test: Nim to Nim workflow

* test: check also additional nodes for go-waku

* test: all nodes are nwaku

* fix: string quotes

* fix: remove additional nodes

* fix: re-arrange skip conditions

* test: RLN only

* fix: change default additional nodes to nwaku only

* fix: change additional nodes rather at top level workflow

* fix: enable all tests

* test: problems with current workdir

* test: rln only

* test: correct typo

* test: re-enable all tests
- remove current dir debug

* fix: nwaku additional nodes for nim to nim worklfow

* fix: re-able discord notification
- delete test workflow

* fix: add get_multiaddr_with_id step
- temporarily use local docker images

* fix: discard containers used for RLN registration

* fix: switch to use cluster ID 1 for RLN

* test: publish at slow and spam rate

* fix: shorten test data set

* fix: rebase onto master

* fix: use send only publish function
- add spam and alternate rate tests

* fix: use math.trunc instead of rounding

* fix: first message without delay

* fix: add one more second to messages with delay

* fix: add methods to setup non default RLN nodes

* fix: rewrite tests using steps rather than fixtures
- prepare for non default settings for RLN

* test: random epoch with valid_payloads_at_slow_rate

* test: random user message limit with valid payloads

* fix: skip test "random user message limit with valid payloads"

* fix: mark flaky "at variable_rate with valid payloads"

* fix: rename tests for easier debugging

* fix: mark valid_payloads_dynamic_at_slow_rate to skip

* fix: forgot to add actual file

* test: valid payloads dynamic(on chain) at spam rate
- extend timeout for ensure_ready() to 600s
- add ensure_healthy() for future use
- add text content based rest call
- remove NODE1, NODE2 imports

* fix: revert env_vars to source images from Harbor

* fix: reuse setup first and second rln relay node for setup_main_rln_relay_nodes

* fix: reuse register_rln_single_node for register_main_rln_relay_nodes

* fix: start using src.steps.common
- removed RLN test class inheritance from StepsRelay

* fix: test using whole data set at test payloads_at_slow_rate

* fix: switch to send msg and check for slow rate tests

* fix: add comment for skip check at first message

* fix: refactor payloads_at_variable_rate to use only one payload pattern

* fix: remove the plural from payloads_at_variable_rate

* fix: multiple class inheritance for TestRelayRLN

* test: node1 with rln node2 without rln at spam rate

* test: mixed epoch at slow rate

* test: add lightpush methods

* test: send valid payloads lightpush at spam rate

* fix: node1 to act as light push receiving node
- add setup lightpush node to spin off node2 with lightpush support

* fix: use NODE1 NODE2 instead of DEFAULT_NWAKU

* fix: no lightpush param required for plain RLN relay

* fix: comment for lightpush

* fix: comment for lightpush - wait for implementation

* fix: comment on chain tests

* fix: add lightpush case to publish_message

* fix: remove check_light_pushed_message_reaches_receiving_peer from StepsRLN

* fix: change comment for mixed_epoch_at_slow_rate

* test: happy and common case with 5 nodes

* fix: add all required fixtures explicitly

* fix: add timeout param to ensure_ready

* fix: skip RLN tests for go-waku

* fix: uncomment skip for debugging

* fix: put the skip back

* fix: change comment for on chain tests

* fix: run RLN tests in serial
- add grouping of tests to runner
- use smaller dataset for spam rate tests

* test: Nim to Nim workflow

* test: check also additional nodes for go-waku

* test: all nodes are nwaku

* fix: string quotes

* fix: remove additional nodes

* fix: re-arrange skip conditions

* test: RLN only

* fix: change default additional nodes to nwaku only

* fix: change additional nodes rather at top level workflow

* fix: enable all tests

* test: problems with current workdir

* test: rln only

* test: correct typo

* test: re-enable all tests
- remove current dir debug

* fix: nwaku additional nodes for nim to nim worklfow

* fix: re-able discord notification
- delete test workflow

* test: re-test again after rebase

* fix: wait longer for credential store

* test: try again with Discord report off

* fix: enable Discord
- delete test workflow
2024-05-07 08:31:12 +08:00
2024-05-07 08:31:12 +08:00
2024-04-17 08:37:31 +03:00
2024-05-07 08:31:12 +08:00
2024-05-07 08:31:12 +08:00
2023-11-01 16:44:42 +02:00
2023-11-01 14:02:29 +02:00
2023-11-01 14:02:29 +02:00
2023-11-01 14:02:29 +02:00
2023-11-01 14:02:29 +02:00
2023-11-17 08:47:22 +02:00
2023-11-03 17:01:00 +02:00

waku-interop-tests

Waku e2e and interop framework used to test various implementation of the Waku v2 protocol.

Setup and contribute

git clone git@github.com:waku-org/waku-interop-tests.git
cd waku-interop-tests
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pre-commit install
(optional) Overwrite default vars from src/env_vars.py via cli env vars or by adding a .env file
pytest

CI

License

Licensed and distributed under either of

or

at your option. These files may not be copied, modified, or distributed except according to those terms.

Languages
Python 86%
Shell 14%