55 Commits

Author SHA1 Message Date
NagyZoltanPeter
155296c4d3
Fix failing test cases on logos-delivery/v0.38 (#165)
* Fix auto and static sharding subscribe/unsubscribe tests - use a safe un-used cluster-id ever (cluster id 2 is now defaults to logos.dev with its settings), also adapted static sharding unsubscribe to PR#3732

* Adjust cluster_id to pubsub_topics

* Fix uncertain rate limit hit of filter subscribes - this is a planned behavior of current rate limiting, as we are trying our best to serve requests within reasonanble flexibility, thus we mint new tokens over time, so it can be seen as we are able to serve more requests as configured, those are not hard limits.

* fix test_relay_2_nodes_bandwidth_low_vs_high_drain_time flaky result, eliminate jitter and localhost test optimization can appear on docker networking.
2026-03-31 04:44:37 +02:00
AYAHASSAN287
cdb99ebfa6
Adding bandwidth tests (#155)
* Adding bandwidth tests

* Adding more bandwidth tests

* bandwidth &packet reorder

* Add packet loss new test

* comments enhancements

* Fix error in test
2026-02-06 12:50:28 +03:00
NagyZoltanPeter
1712117ae8
Handle Relay.publish for zero peers new error answer
Fix test cases where message does not reach relay peer fails due to braking change coming into LMN - when publish would return zero peer instead NoPeersToPublish error is propagated. Fix covers such checks properly. (#157)
2026-01-30 01:17:34 +01:00
AYAHASSAN287
1a140e8473
Fix CI issue (#156)
* Fix CI issue

* rename waku_px_peers_cached to waku_px_peers to match current software

* Fix CI issues

* Fix additional failing tests

* make relay = true
2026-01-29 08:24:35 +02:00
AYAHASSAN287
7b16dd9ddb
Adding first test (#151)
* Adding first test

* Adding more latency tests

* packet loss tests & fix old tests

* Adding packet loss tests

* new patch of packet loss tests

* Making PR ready for review

* remove docker.io from required packages
2026-01-21 17:20:20 +03:00
AYAHASSAN287
06041040f3
Add changes to enable sync (#125)
* Add changes to enable sync

* Adding new test

* Make changes to allow store-sync to work

* Checkout the image with the bug fix

* Ad change to make test work

* Adding store-sync test scenarios

* Adding more tests

* Adding new set of tests

* Adding extensive tests

* Make PR ready for review

* revert changes
2025-07-15 11:09:18 +03:00
fryorcraken
c230f4b4c4
fix: auto-sharding needs to know number of shards in network (#126)
* fix: auto-sharding needs to know number of shards in network

* Content topics are setup to split among 8 shards
2025-06-30 18:34:29 +10:00
fbarbu15
b9dcd4004e
chore: make tests green again (#121)
* chore: node ready fix

* fixes

* remove go-waku traces
2025-06-09 16:03:04 +03:00
Ivan FB
6db8492443
Not found response is expected when node is not subscribed (#120) 2025-05-26 14:03:19 +02:00
fbarbu15
c217ea0343
chore: gowaku store fixes (#104) 2025-02-05 13:55:44 +02:00
gabrielmer
54a0dc29e8
chore: updating the hash-computing function to use hex (#102) 2025-01-31 12:11:19 +02:00
fbarbu15
8425c0fed7
chore: fix wrong store node type (#94)
* chore: fix wrong store node type

* chore: adjust flaky LP test
2024-12-10 16:58:28 +02:00
fbarbu15
c95fff8ac3
chore: fix go waku lightprotocol tests (#91)
* chore: fix go waku lightprotocol tests

* chore: fix go waku lightprotocol tests
2024-11-27 18:05:52 +02:00
fbarbu15
dbc5bfe0f9
fix lp test (#82) 2024-10-30 10:49:49 +02:00
AYAHASSAN287
e419b7f8a6
Waku edge tests all (#81)
* Adding function to calculate different time variants

exclude 5 tests for go-waku

* change second node to nwaku

* skip 2 tests failed for go-waku

* change node_2 back to nwaku

* skipping failed test for nwaku

* remove the skipping for nwaku node as requested
2024-10-28 12:30:40 +03:00
shashank sanket
4c706c34bb
added store_test_cursor negative cases and edge cases (#73) 2024-09-18 19:54:05 +05:30
fbarbu15
86954c6270
store sync tests (#69)
* store sync tests

* fix

* store sync tests

* sync flag
2024-09-11 12:36:58 +03:00
fbarbu15
089b8eefce
metrics tests (#68) 2024-08-30 14:15:45 +03:00
fbarbu15
945364b0b2
e2e tests (#65) 2024-08-20 14:11:36 +03:00
Roman Zajic
a4c3a648cc
chore: RLNv2 tests update (#62)
* test: node startup time for valid_payloads_dynamic_at_slow_rate

* fix: remove timing debug info

* fix: reuse existing keystore file

* fix: remove skip marks for PR2612

* fix: remove skip marks for Issue 2837

* test: change valid_payloads_at_slow_rate to send 102 messages

* fix: remove existing keystore before new registration

* test: magical 20 messages

* fix: omit RLN params for static mode
- update test_valid_payloads_at_slow_rate
- update test_valid_payloads_at_spam_rate

* fix: condition check for rln-relay-dynamic

* fix: update static tests
- update test_valid_payloads_dynamic_at_slow_rate

* fix: add rln-relay-user-message-limit to registration

* fix: on-chain tests

* fix: valid_payloads_n1_with_rln_n2_without_rln_at_spam_rate

* fix: rename lrn method for lightpush setup
- delete test_valid_payloads_mixed_epoch_at_slow_rate

* fix: test_valid_payloads_lightpush_at_spam_rate

* fix: run registration only when necessary

* fix: reorder tests - lightpush first
- test workflow

* fix: use touch instead of unlink

* test: single test only test_valid_payloads_lightpush_at_spam_rate

* test: run 2 tests

* fix: remove reporting part from test workflow

* fix: all tests

* fix: use rmtree on keystore dir_path

* fix: use external rm

* fix: enable all RLN tests

* fix: further optimize number or registrations

* test: single on chain test

* test: two on chain tests

* test: swap order of tests

* test: reduce test logging and output docker log

* fix: rewrite keystore path related logic

* fix: use cache for keystore prefixes

* fix: index in setup_optional_rln_relay_nodes

* fix: delete test workflows
- revert env_vars
2024-08-09 16:13:17 +08:00
fbarbu15
6194c493f7
Chore/store propagation (#61)
* add store propagation delay

* incerease store propagation delay
2024-07-23 09:16:37 +02:00
fbarbu15
ae43bd4448
add store retry method (#60) 2024-07-18 10:41:20 +02:00
Roman Zajic
055541ad0d
fix: cluster_id 0 for peer store related tests (#56)
* fix: use cluster_id 0 for peer store related tests

* test: simulation for issue

* fix: use cluster_id not 0 and subscribe to static shard for go-waku

* fix: revert env values to original defaults
2024-07-15 15:47:42 +02:00
fbarbu15
a27c028104
chore: use another cluster id (#55)
* use another cluster id

* adjust tests
2024-07-11 23:00:18 +03:00
Roman Zajic
6aa7716793
Test/peer exchange (#51)
* test: establish basic node setup for pe

* test: debug peer retrieval error with nwaku

* fix: disable discovery v5 on the requester node

* fix: assert node3 peer store to exact content

* test: get peers for filter node

* test: get peers after node1 was restarted

* fix: allow tests to run only when Node2 is Go-waku

* fix: revert NODE_1 to its original default
2024-07-09 14:07:48 +02:00
Roman Zajic
0ce2572810
chore: refactor setup relay node for sharding (#48)
* fix: refactor setup relay for sharding

* fix: refactor also all related to _resolve_sharding_flags
2024-07-02 09:33:53 +02:00
Roman Zajic
ccad2a12f6
Test/peer connection management (#45)
* test: get peers from peer store

* test: add peers to peer store

* fix: add go_waku support

* test: placeholder for Issue 1549 solution test

* test: expect two peers for two protocols/services

* test: restart survival with persistent peer store

* fix: add issue to skip mark

* fix: move Waku related methods to waku_node module

* test: full peer store takeover

* fix: add kill of Node 1

* fix: remove debug info
- skip while waiting on issue 2792

* test: peer store content after node restart

* fix: revert nwaku image back to use latest

* fix: added delays to let nodes finish discovery

* fix: move peer_persistence config steps out of start

* fix: NODE1 default back to DEFAULT_GOWAKU

* fix: partial refactor for setup_first-second_relay_node

* test: daily workflow after refactor

* test: shorter name for daily workflow

* test: RLN only

* test: increase timeout

* test: check Sepolia API endpoint

* test: run RLN tests in single thread

* fix: remove Sepolia API check

* fix: skipp all RLN tests till registration works

* fix: remove test workflow
2024-06-21 23:40:40 +08:00
fbarbu15
03973b8897
Test/store v3 (#38)
* first commit

* get message tests 1

* store tests with node restarts

* reliability tests

* store tests

* fixes

* more tests

* fixes

* new store tests

* new store tests

* adjustments

* adjust tests for go-waku

* postgress test

* postgress test

* fixes

* small fixes

* reliability updates

* postgress test

* adjsutmens for go-waku
2024-05-28 16:50:14 +03:00
fbarbu15
2e9a3d1202
all message fields are now camel case (#40) 2024-05-20 13:10:53 +03:00
fbarbu15
d0a84b2009
temp store content topic fix (#37)
* temp sote content topic fix

* fix go-waku
2024-05-13 15:14:14 +03:00
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
fbarbu15
69c8e3f4b6
chore: go waku connection issues (#33)
* add go-waku peers via api

* add go-waku peers via api

* fix add_node_peer

* fix add_node_peer

* fix add_node_peer

* fix add_node_peer

* move create_message to commons
2024-04-23 10:44:12 +03:00
fbarbu15
c1d4c0cc6b
lightpush and store bugfixes (#32)
* bugfixes

* store bugfixes

* fix 2567
2024-04-18 13:04:08 +03:00
fbarbu15
8d956b3d9c
Test/store part 1 (#31)
* first set of tests

* fix ci

* new tests

* finish publish tests

* new tests

* running nodes tests

* new tests

* finishing touches

* new test

* temp commit

* running node tests

* new tests

* new store tests

* store part 1
2024-04-17 08:37:31 +03:00
fbarbu15
8b525f2b1a
Light push tests (#27)
* first set of tests

* fix ci

* new tests

* finish publish tests

* new tests

* running nodes tests

* new tests

* finishing touches

* new test

* fixes

* fixes
2024-04-11 13:00:53 +03:00
fbarbu15
0095b5e04a
sharding tests part 1 (#24)
* sharding struct

* add peers

* running nodes tests

* cleanup sharding steps

* new sharding tests

* test_different_cluster_different_shard

* new tests

* new static sharding tests

* new auto sharding tests

* change structure

* running nodes tests

* new autosharding tests

* adjust tests

* new sharding tests

* sharding

* sharding filter

* add peers
2024-04-02 09:11:56 +03:00
fbarbu15
17ba9baf45
bug fixes for nwaku 2436 and 2286 (#26) 2024-03-22 15:55:06 +02:00
Florin Barbu
776d2841fe
fix filter test (#21)
* fix filter test

* small fix
2024-03-12 11:11:04 +02:00
Florin Barbu
dd140dcb74
small fixes (#20)
* small fixes

* adjustments

* xfail test
2024-03-07 14:36:53 +02:00
Florin Barbu
7df4741a36
fixes for latest failures (#19) 2024-03-05 08:55:35 +02:00
Florin Barbu
9d769c47d7
remove legacy filter flag (#18)
* remove legacy filter flag

* fix ping test
2024-02-21 13:42:13 +02:00
Florin Barbu
98c76dc214
fixes for latest failures and bugfixes (#17)
* fixes for latest failures and bugfixes

* other fixes
2024-02-15 14:58:20 +02:00
Roman Zajic
8cb44f1201
chore: RLN registration support (#16)
* chore: parameters and volumes for RLN relay

* chore: add startup test for RLN

* fix: remove redundant rln_enabled from WakuNode

* fix: - and _ magic in rln parameters

* fix: key 'eth_testnet_key' -> 'eth_client_private_key'

* fix: rln-register_only -> rln-register-only

* fix: use extend instead of append for the volumes list

* fix: use absolute path for the volumes names
- mark volumes shared across containers

* fix: remove :z attr from volumes

* fix: remove filename from volume path

* fix: remove request for ENR

* test: plain RLN registration

* fix: remove subscribe

* fix: remove ENR related params

* test: add run_container func to Docker Mananger

* fix: remove run_container func from Docker Mananger - no need for exec

* fix: pass exec commands instead of specialized docker exec func

* fix: exclude RLN arguments from others

* fix: separate RLN volumes by implementation

* test: registration with nwaku

* test: registration over existing credentials

* test: add RLN Relay node startup

* test: RLN credentials reuse for  relay node startup

* fix: clean up unnecessary commands

* fix: clean up unnecessary commands for non RLN relay too

* test: regression by sending one valid message

* fix: add forgotten call to get enr_uri

* fix: check RLN credentials set properly

* fix: parenthesis in eval expression

* fix: better check for RLN credentials

* fix: update to new flags - gowaku
- separate private key for go/nwaku

* test: register RLN

* fix: RLN credentials check

* fix: remove enable rln-relay flag from registration

* test: reorder commands to check go-waku registration

* fix: restructure if statements for RLN registration

* fix: different set of flag for RLN registration and operation

* fix: forgotten "eth" in eth-contract-address

* fix: remove redundant None from get_env_var call

* fix: refactor rln credentials parsing from start function

* fix: missed second return value

* test: call to parse_rln_credentials

* fix: remove redundant self in call to parse_rln_credentials

* fix: remove rln related values if not valid

* fix: refactored to accept multiple private keys
- JSON source for RLN credentials
- removed go-waku support for RLN

* test: register RLN with 2 nwaku nodes

* fix: missing open file, key errors

* fix: return effective keystore_path

* fix: cleanup unused env variables

* fix: cleanup unused env variables from relay

* fix: wait longer for credentials file to be written to disk

* test: remove waiting for credentials file to be written to disk

* fix: add select_private_key()

* fix: merge parse_rln_credentials and parse_rln_registration_credentials

* test: wait for filesystem cache

* test: try with os.sync to flush cache

* test: stop container to clear cache

* fix: 15 sec wait + stop container to clear cache

* test: RLN registration test with fixture and cred file check

* test: added allure.step - RLN registration for single node
- corresponding test to register all keys

* fix: f-strings in the test

* fix: sync naming for register_main_rln_relay_nodes

* fix: add WARN message to log unset and expected RLN credentials

* fix:  pytest.skip added to exit tests when non nwaku image is used

* fix: swap NODE2 for DEFAULT_NWAKU

* fix: let rln_credential_store_ready to raise exception for retry

* fix: let register_rln to raise exception too, when credential fine still not available

* fix: remove container stop

* fix: tune down retry timeouts

* fix: remove unnecessary f-string

* test: reduce unnecessary variables init

* test: undo reduce unnecessary variables init

* test: increase timeout for rln_credential_store_ready

* test: refactor kwargs handling into sanitize_docker_flags

* fix: created RLN registration check
- changed rln_credential_store_ready to function

* fix: delete unnecessary ports from register_rln init

* fix: remove wait for registration entirely

* test: RLN_CREDENTIALS env var example

* fix: check_rln_registration to raise exception

* fix: use f-string at check_rln_registration

* fix: add gen_step_id function

* fix: RLN_CREDENTIALS as loaded from .env

* fix: RLN_CREDENTIALS example, skipping test if not set

* test: RLN with actions

* fix: tune up RLN timeouts for Github runners

* test: filesystem write to /

* fix: change RLN data to be stored at working directory

* fix: catch exception instead of "if not"
- print out container log

* fix: wrap logs into debug msg

* fix: print log file

* fix: remove additional logging

* fix: exit RLN cred parsing sooner when not used
- delete proper keys from default_args

* fix: Allure report

* fix: Discord notifications

* fix: remove f-string

* fix: delete test workflow
2024-02-13 22:01:30 +08:00
Florin Barbu
de60598b6c
Chore/address failures (#14)
* address failures

* job for interop tests

* fix branch name

* fix remaining tests

* see job name

* set caller input

* split reports per caller

* trigger again

* try with publish_dir

* small fix

* small fix

* remove on pr
2024-01-19 12:56:55 +02:00
Florin Barbu
d1e624e2e0
fix for 150 kb max messages adjustments (#10)
* fix for 150 kb max messages adjustments

* fix reruns

* small fixes
2024-01-05 15:36:07 +02:00
Florin Barbu
ea6a48a80a
filter push tests (#9)
* filter push tests

* filter push tests

* small adjustments

* test commit from new PC
2023-12-31 19:13:31 +02:00
Florin Barbu
d7be7e9504
multiple node tests (#8)
* mulitple node tests

* fix filter get message

* adjustments for gowaku as filter

* small adjustments

* small adjustments

* adjustments after CI runs

* prepare for PR

* prepare for PR

* prepare for PR

* address review comments

* use cluster id 0 as suggested by Prem

* small adjustments after CI run

* small adjustments after CI run

* small adjustments after CI run

* small adjustments after CI run
2023-12-27 16:03:31 +02:00
Florin Barbu
26718c38a4
Filter Unsubscribe (#7)
* filter unsubscribe

* filter unsubscribe

* fix pring typo
2023-12-18 10:02:17 +02:00
Florin Barbu
7f91bd7b95
Filter Subscribe (#6)
* Filter Subscribe

* set min_relay_peers_to_publish for filter tests

* address review comments
2023-12-11 14:02:50 +02:00
Florin Barbu
f8db76ab20
Relay Subscribe (#5)
* github actions report summary

* use env instead of inputs

* multiple nodes tests

* fix warm up

* fix warm up

* small fix after CI run

* small fix after CI run 2

* add new multi-node test

* self review

* relay subscribe tests

* small fix

* new tests

* fix typo
2023-11-24 14:04:24 +02:00