Commit Graph
99 Commits
Author SHA1 Message Date
Egor Rachkovskii 937dc6287b Add assert_event_invariants to enforce per-request event constraints and integrate into relevant tests 2026-04-22 16:11:26 +01:00
Aya Hassan 060d50afbb Fix review comments 2026-04-21 18:15:46 +02:00
Aya Hassan 34cfb80b5f Modify S19 test 2026-04-21 13:48:24 +02:00
Egor RachkovskiiandEgor Rachkovskii df69919a7b Add S06 relay-only test and fix wrapper helpers (#173)
* - Add S06 relay-only test case for testing message propagation without a store.
- Update `wrapper_helpers` for clearer event type handling and type annotations (`Optional[...]` usage).
- Simplify `get_node_multiaddr` to retrieve addresses via `get_node_info_raw`.
- Refactor `wrappers_manager` to adjust bindings path to `vendor` directory and add `get_node_info_raw` method.
- Update `.gitignore` to exclude `store.sqlite3*`.

* Refactor S06 relay-only test: replace try-finally blocks with context managers for clarity and conciseness.

* Migrate S06 relay-only test to `test_send_e2e.py` and refactor with `StepsCommon` for reusability.

---------

Co-authored-by: Egor Rachkovskii <egorrachkovskii@status.im>
2026-04-20 14:33:42 +03:00
Aya Hassan 93f2d2a679 Merge remote-tracking branch 'origin/master' into temp_bindings_branch 2026-04-16 16:06:24 +02:00
AYAHASSAN287 5ca3ec6fe9 Add logos-delivery-python-bindings submodule (#159)
* Add logos-delivery-python-bindings submodule

* Adding wrapper manager modifications

* Add unit test for wrappers

* ignore third paty

* Ignore third party

* Add thin wrapper layer to be used in tests

* Add last API

* Add needed helpers

* basic  tests added

* Fix minor points

* Add dependency to the requirements

* Fix the yml file

* add debug info

* Add logos-delivery submodule

* Add logos-delivery-python-bindings submodule

* Remove old logos-delivery submodule

* fix the import path issue

* add cffi

* add .so build step

* add nim

* remove nimble

* fix the nimble error

* Add rest of libraries

* Fix the nim version issue

* Add nimble install command

* Make real setup for the nimple

* change nim version

* Ignore vendor files

* fix for review points

* remove stubs file

* merge master & add comment about wrapper_manager usage
2026-04-16 16:04:12 +02:00
Aya Hassan 2580749e17 Add temp changes 2026-04-16 13:51:15 +02:00
Aya Hassan f3f4cf8a64 add test s17 2026-04-14 19:43:20 +02:00
Egor RachkovskiiandEgor Rachkovskii 639dffc505 Fix nim waku daily failures (#169)
* Add REST API traffic bypass for network conditions manipulation

- Introduced methods to apply packet loss only to P2P traffic, excluding REST API traffic.
- Simplified test cases to leverage new differentiated packet loss handling.
- Removed unused and legacy metrics/tests for cleaner configuration and coverage.

* Refactor network conditions setup to streamline command execution

* Pin priomap so libp2p traffic actually hits netem

The default prio qdisc priomap routes SO_PRIORITY 6 and 7 to band 0,
which is our REST bypass class 1:1. libp2p/gossipsub packets set a high
SO_PRIORITY on their sockets, so they were silently escaping the netem
impairment via the priomap rather than through the u32 filter. The
result: test_relay_packet_loss_correlated_vs_uncorrelated became green
by accident because no loss was ever applied to relay traffic.

Forcing priomap to 1 1 1 1 ... on all 16 slots routes every SO_PRIORITY
value to band 1 (netem). The u32 filter remains the only path to 1:1,
so REST stays isolated and libp2p now takes the configured loss.

Verified in alpine netns: with SO_PRIORITY=6, 50 packets to a non-REST
port ended up in 1:1 under the old rules (0 drops); with the forced
priomap they land in 1:2 and see the expected ~50% drop rate.

* Refactor P2P traffic loss handling; isolate REST API traffic

- Added `_p2p_iface` to dynamically detect libp2p interface tied to the Waku network.
- Introduced `add_packet_loss_p2p_only` and `add_packet_loss_correlated_p2p_only` for targeted packet loss on libp2p traffic.
- Replaced REST API traffic bypass logic with simplified P2P interface-based tc rules.
- Updated tests to use `clear_p2p` for cleanup, ensuring REST traffic remains unaffected.

---------

Co-authored-by: Egor Rachkovskii <egorrachkovskii@status.im>
2026-04-14 14:25:36 +01:00
Darshan 8644151be3 fix: resolved flaky peer management tests. (#170) 2026-04-10 15:26:03 +05:30
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
fbarbu15 d99cf8e138 Maint/postgres payload size bytes (#144)
* fix readme

* add postgres_payload_size_bytes metric
2025-12-08 13:55:17 +02:00
fbarbu15 26ae0f13f4 chore: fixes and adjustments (#139) 2025-10-08 13:33:24 +03:00
fbarbu15 966830acc2 chore: maintenance (#137) 2025-09-17 11:49:01 +03:00
fbarbu15 bb558decb1 chore: fix waku_connected_peers_per_shard metric (#136) 2025-09-03 09:47:57 +03:00
AYAHASSAN287 2fd56d4aa3 work on the rest of tests (#134)
* work on the rest of tests

* Add debug tests

* Add rest debug levels tests

* Add rest APIs tests

* Fix non working tests

* Adding more tests

* Add final set of tests
2025-08-26 14:04:40 +03:00
AYAHASSAN287 9769730bac Add rest APIs and wrappers (#133)
* Add rest APIs and wrappers

* Add debug / admin tests

* Add more admin tests

* Add fix for review comments
2025-08-14 15:12:47 +03:00
fbarbu15 58fa92e096 chore: shard cpecific metrics (#131) 2025-08-05 18:16:37 +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
Ivan FB 3ab0efe15f adapt the tests to the new health check result returned by wakunode2 app (#123)
see the following for further details why this is needed:
https://github.com/waku-org/nwaku/pull/3456
2025-06-16 18:43:34 +02: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
Roman Zajic d2121cef90 fix: remove go-waku from workflows (#117) 2025-05-21 17:44:13 +08:00
fbarbu15 e447f91c17 chore: messasge cache metric (#114) 2025-04-25 09:43:57 +03:00
fbarbu15 108254881c chore: add reconciliation metrics (#113) 2025-04-23 18:15:59 +03:00
fbarbu15 1d00b42b8d chore: fixes for nwaku pr3350 (#111)
* chore: fixes for nwaku pr3350

* fix

* fix
2025-04-04 14:57:53 +03:00
fbarbu15 04144ca836 chore: rln metric rename (#109) 2025-03-18 15:30:27 +08:00
fbarbu15 914de83ec2 chore: store time filter fixes (#106)
* chore: store time filter fixes

* adjustments
2025-02-11 17:16:45 +02:00
Ivan FB b3b902ae1c waku_message.py: rename rateLimitProof to proof (#105)
This rename is needed because the REST responses from nwaku may contain
the proof field
2025-02-10 17:13:09 +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
Ivan FB 03a4f24ce9 chore: log millisecond (#103)
* custom_logger.py: add millisecond precision
* pytest.ini set millisecond precision in logs
2025-01-31 09:21:44 +00:00
fbarbu15 12a9ec96ca chore: add reconciliation metrics (#100) 2025-01-27 14:44:15 +02:00
fbarbu15 25b995295b chore: add rendezvousPeerFoundTotal_total metric (#97) 2024-12-20 10:22:36 +08: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 5caedf13c4 chore: metric updates (#93)
* chore: fix rln tests

* chore: fix rln tests

* revert wait_for_node_sec
2024-12-06 10:54:35 +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
AYAHASSAN287 b40938b030 E2E_Tests_CI_FIX (#85)
* add draft test case

* Adding test test_filter_3_senders_1_receiver

* Adding test test_filter_3_senders_45_msg_1_receiver

* add test test_filter_50_subscribe_node

* Remove comments and enhance tests

* Increase node limit to 1000 connection

* making PR ready with 3 tests

* Making changes for go-waku to pass

* Adding changes to make go-waku tests pass

* Change max nodes to 20 when node_2 = go-waku

* Fix CI failure because of nwaku

* Increase wait time for filter request

* Decrease number of nodes to pass the CI

* Add more wait to pass CI

* time_limit increase  to 120 to pass CI

* add flag filter-subscription-timeout to 600 instead of default value 300

* Additional changes for CI failure

* remove filter = true from subscribed filter node

* increase nodes to 15 in test_filter_many_subscribed_nodes

* test_filter_3_senders_multiple_msg_1_receiver

increase message_num to 12

* change max-connections to 50 instead of 1000

* commenting max-connection and filter timeout for CI failure

* Revert timeout back to 20
2024-11-10 09:48:47 +02:00
fbarbu15 4d8e7e4955 chore: histogram metric update (#84) 2024-10-31 10:11:25 +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
AYAHASSAN287 bd187ad118 adding test "test_store_not_include_data" (#76)
* adding test "test_store_not_include_data"

* adding test case for wrong peer address formatting

* try restore message with wrong peer id

* send peer address with wrong protocol

* Fixing review comments & add test for wrong topic

* adding test for topic content positive scenario

* adding test for different wrong content topic

* adding content topic & pubsubtopic tests

* adding test cases for wrong encoding 7 no encoding of pubsub topic

* adding test case test_time_filter_start_time_after_end_time

* adding more time tests

* adding tests with wrong start & end time

* adding invalid ascending test

* adding page_size tests

* adding invalid ascending test

* fix minor issues and adding comments

* fixing review comments

* minor change in test name

* Adding review comments
2024-10-24 13:16:37 +03:00
fbarbu15 aca216e95a remove unwated software (#79)
* remove unwated software

* log fix

* log fix
2024-10-24 12:43:51 +03:00
fbarbu15 684d14c050 updated metric name (#75) 2024-10-04 09:09:40 +03:00
shashank sanket 4c706c34bb added store_test_cursor negative cases and edge cases (#73) 2024-09-18 19:54:05 +05:30