158 Commits

Author SHA1 Message Date
AYAHASSAN287
938e761947
E2e s13 s16 (#183)
* Add S13

* Adding S16

* Add error message check for S13

* msrk s16 as xfail
2026-05-18 17:04:16 +03:00
AYAHASSAN287
4ba30a8aff
e2e part3 (#181)
* add test s17

* Add temp changes

* Add s17 positive / negative scenarios

* add S19

* 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>

* Modify S19 test

* Adding S21

* Fix review comments

* Adding S22/S23

* Adding S24

* Add S26

* Add S30

* Add S31

* Improve `wait_for_event` loop logic and add `assert_event_invariants` helper (#178)

- Refactored the `wait_for_event` function for clarity and to ensure proper deadline handling within the loop.
- Introduced `assert_event_invariants` to validate per-request event properties, enforcing invariants like correct `requestId`, no duplicate terminal events, and proper timing between `Propagated` and `Sent`.
- Added tests for `assert_event_invariants` enforcement in `S14` and `S15` lightpush scenarios.

Co-authored-by: Egor Rachkovskii <egorrachkovskii@status.im>

* Add S07 and S10 send API tests with event invariants helper  (#176)

* Add `assert_event_invariants` to enforce per-request event constraints and integrate into relevant tests

* Integrate `assert_event_invariants` into edge and store tests

* Remove redundant comments from `test_send_e2e.py`

---------

Co-authored-by: Egor Rachkovskii <egorrachkovskii@status.im>

* Fix some tests

* Add S02/S12 send API tests and PR CI pipeline (#174)

* Add tests for auto-subscribe on first send and isolated sender with no peers

* Add PR CI workflow with tiered test strategy

- pr_tests.yml: build job with cache, wrapper-tests, smoke-tests,
  and label-triggered full-suite
- test_common.yml: add deploy_allure/send_discord inputs so PR runs
  skip reporting side effects
- Add docker_required marker to S19 (needs Docker, excluded from
  wrapper-only CI job)
- Register docker_required marker in pytest.ini

* Document PR CI test workflows in README

* Refine PR CI test strategy:
- Exclude `docker_required` tests from smoke set in `pr_tests.yml`.
- Add `wait_for_connected` helper for connection state checks.
- Update S19 test to dynamically create and clean up the store node setup.
- General simplifications and improved test stability.

* Add `wait_for_connected` assertion to ensure sender connection state before propagation test

* Refine tests and CI workflows:
- Replace `ERROR_TIMEOUT_S` with `ERROR_AFTER_CACHE_EXPIRY_TIMEOUT_S` in `test_send_e2e.py`.
- Adjust timeout assertion for better clarity and accuracy.
- Update `pr_tests.yml` to add retries (`--reruns`) and ignore wrapper tests in smoke tests.
- Change `test_common.yml` default Discord reporting to `false`.

* Normalize `portsshift` to `portsShift` in `test_send_e2e.py` configuration definitions.

---------

Co-authored-by: Egor Rachkovskii <egorrachkovskii@status.im>

* Add relay-to-lightpush fallback integration tests (S08/S09) (#180)

Co-authored-by: Egor Rachkovskii <egorrachkovskii@status.im>

* Ignore S19

* fix s26

* Ignore s20 / s31 for errors

* Change image name

* fix xfail syntax error

* rename test file

* FIx flaky tests

* comment the skipped tests

* Fix review comments

* revert tag in yml in latest

* commenting lightpush

* Modify the PR

* Fix the ports conflict

* Modify S20

* fix portsshift option

* remove the /true from yml to allow errors to exist

* Modify the yml to continue on error

* First set of review comments

* adding xfail mark for failed tests

* address review comments about xfail

* cleanup unused lines

* event collector fix

* Address review comment about delay constant

* fix the timeout review comment

* Add assert_event_invariants

* enhance comment on S26 test

* mark the waku tests as docker_required

* Add S01

* add S01 second scenario

* Add S03

* Add S04

* Adding S11

* modify s11 scenario to pass

* Adding test S05

* Adding the new tests in part3 file

* Fix the yml file error

* Add the new test file to the PR job

* bump logos-delivery-python-bindings to include destroy_keep_ctx

* modify the S01 test

* mark S01 with xfail

* mark the second S01 test as xfail too

* use skip instead of xfail

* comment the skip line to try S01 again

* restore the xfail mark again

* remove the wrapped text code from test file

* Changing  the test files names

* skip S01 again

* removed extra comments

* Update logos-delivery-python-bindings submodule

---------

Co-authored-by: Egor Rachkovskii <32649334+at0m1x19@users.noreply.github.com>
Co-authored-by: Egor Rachkovskii <egorrachkovskii@status.im>
2026-05-14 14:48:14 +02:00
AYAHASSAN287
11197db624
e2e_part2 (#179)
* add test s17

* Add temp changes

* Add s17 positive / negative scenarios

* add S19

* 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>

* Modify S19 test

* Adding S21

* Fix review comments

* Adding S22/S23

* Adding S24

* Add S26

* Add S30

* Add S31

* Improve `wait_for_event` loop logic and add `assert_event_invariants` helper (#178)

- Refactored the `wait_for_event` function for clarity and to ensure proper deadline handling within the loop.
- Introduced `assert_event_invariants` to validate per-request event properties, enforcing invariants like correct `requestId`, no duplicate terminal events, and proper timing between `Propagated` and `Sent`.
- Added tests for `assert_event_invariants` enforcement in `S14` and `S15` lightpush scenarios.

Co-authored-by: Egor Rachkovskii <egorrachkovskii@status.im>

* Add S07 and S10 send API tests with event invariants helper  (#176)

* Add `assert_event_invariants` to enforce per-request event constraints and integrate into relevant tests

* Integrate `assert_event_invariants` into edge and store tests

* Remove redundant comments from `test_send_e2e.py`

---------

Co-authored-by: Egor Rachkovskii <egorrachkovskii@status.im>

* Fix some tests

* Add S02/S12 send API tests and PR CI pipeline (#174)

* Add tests for auto-subscribe on first send and isolated sender with no peers

* Add PR CI workflow with tiered test strategy

- pr_tests.yml: build job with cache, wrapper-tests, smoke-tests,
  and label-triggered full-suite
- test_common.yml: add deploy_allure/send_discord inputs so PR runs
  skip reporting side effects
- Add docker_required marker to S19 (needs Docker, excluded from
  wrapper-only CI job)
- Register docker_required marker in pytest.ini

* Document PR CI test workflows in README

* Refine PR CI test strategy:
- Exclude `docker_required` tests from smoke set in `pr_tests.yml`.
- Add `wait_for_connected` helper for connection state checks.
- Update S19 test to dynamically create and clean up the store node setup.
- General simplifications and improved test stability.

* Add `wait_for_connected` assertion to ensure sender connection state before propagation test

* Refine tests and CI workflows:
- Replace `ERROR_TIMEOUT_S` with `ERROR_AFTER_CACHE_EXPIRY_TIMEOUT_S` in `test_send_e2e.py`.
- Adjust timeout assertion for better clarity and accuracy.
- Update `pr_tests.yml` to add retries (`--reruns`) and ignore wrapper tests in smoke tests.
- Change `test_common.yml` default Discord reporting to `false`.

* Normalize `portsshift` to `portsShift` in `test_send_e2e.py` configuration definitions.

---------

Co-authored-by: Egor Rachkovskii <egorrachkovskii@status.im>

* Add relay-to-lightpush fallback integration tests (S08/S09) (#180)

Co-authored-by: Egor Rachkovskii <egorrachkovskii@status.im>

* Ignore S19

* fix s26

* Ignore s20 / s31 for errors

* Change image name

* fix xfail syntax error

* rename test file

* FIx flaky tests

* comment the skipped tests

* Fix review comments

* revert tag in yml in latest

* commenting lightpush

* Modify the PR

* Fix the ports conflict

* Modify S20

* fix portsshift option

* remove the /true from yml to allow errors to exist

* Modify the yml to continue on error

* First set of review comments

* adding xfail mark for failed tests

* address review comments about xfail

* cleanup unused lines

* event collector fix

* Address review comment about delay constant

* fix the timeout review comment

* Add assert_event_invariants

* enhance comment on S26 test

* mark the waku tests as docker_required

* Mark `test_s10_edge_lightpush_propagation` as xfail due to broken lightpush peer discovery.

* Mark `test_s15_lightpush_retryable_error_then_recovery` as xfail due to broken lightpush peer discovery.

---------

Co-authored-by: Egor Rachkovskii <32649334+at0m1x19@users.noreply.github.com>
Co-authored-by: Egor Rachkovskii <egorrachkovskii@status.im>
2026-05-11 15:53:18 +02:00
Roman Zajic
34092b6efc
chore: Test waku fleet (#175)
* chore: build logos delivery lib locally

* test: soft attachment to waku.test

* chore: node1 node2 bootstrap from test fleet nodes
- selected test cases relay, store

* fix: cleanup artifacts after liblogosdelivery build

* chore: add fleet tests workflow

* fix: trigger on push and test

* fix: register markers

* test: add light_push to fleet tests

* test: add filter to fleet tests

* fix: add more store tests to fleet tests

* fix: add more relay to fleet tests

* fix: wf efficiency

* fix: wf syntax

* test: join fleet with real cluster ID shards RLN on

* fix: stop fleet tests when RLN registration fails

* fix: refactor monkeypatch

* fix: light_push tests

* fix: scoped assertion for store test in fleet mode

* fix: reduce comments

* fix: different propagation delay for fleet test

* fix: add fresh timestamp helper

* fix: reduce comments

* test: change to Waku v0.38.0 image temporarily

* fix: reduce log message

* fix: undo reduce log message

* fix: add scheduled run at 2 am.

* fix: fail fleet tests instead of skip when RLN is not working

* fix: refactor get_sample_timestamps

* fix: remove on push trigger for fleet wf
- reset back to use the latest docker image
2026-05-08 14:59:20 +08:00
AYAHASSAN287
8b908ed543
rework old scripts & merge scripts (#138)
* rework old scripts & merge scripts

* Apply  changes to existing scripts

* Add merged scripts

* last test script added

* Fix review point

* Adding new test scenarios after review points

* Adding the second scenario after review comments
2026-05-07 14:35:51 +02:00
AYAHASSAN287
be5d3d19f7
Fix for wrong url of reports (#177)
* Fix for wrong url of reports

* remove the delete hidden file step

* work around for the cleanup of >200k to clean all

* add additional cleanup

* fix clean up

* another fix trail

* restore the number of shards
2026-04-23 12:57:42 +02:00
Roman Zajic
44dbf628e4
chore: Refactor RLN tests (#164)
* test: uncomment RLN tests

* test: single node registration

* test: demo could not generate rln-v2 proof

* fix: update env file example

* fix: update images

* fix: temp pr for testing

* fix: chain id optional and lock v0.38.0

* feat: fix automatic chain ID

* fix: uncomment on chain tests 3208 resolved

* fix: improve assertions

* fix: RLN ready guard

* fix: workaround to wait for RLN

* fix: lightpush test assertion

* fix: reuse creds for the second test

* chore: delay for removing flaky behaviuor

* WIP on chore-refactor-rln-tests

fix: revert changes to docker manager

* fix: undo chore: delay for removing flaky behaviuor

* fix: check for RLN state only when required

* chore: test workflow for RLN

* fix: open permissions

* fix: silent chmod by default

* fix: remove unnecessary code

* fix: reduce CI script to RLN only

* fix: add missing fi

* fix: sync wf with master

* fix: test wf file

* fix: undefined rln creds set

* fix: run together with other tests

* fix: remove test workflows
- reset env file

* fix: sync wrappers manager

* fix: clean up redundant debug lines

---------

Co-authored-by: Darshan <35736874+darshankabariya@users.noreply.github.com>
Co-authored-by: darshankabariya <darshan@status.im>
2026-04-18 08:34:20 +08: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
Egor 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.
SMOKE_TEST_STABLE
2026-03-31 04:44:37 +02:00
AYAHASSAN287
33596417e3
Change report url (#161) 2026-03-02 10:13:56 +01: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
Igor Sirotin
eb95fa56d3
chore: update license files to comply with Logos licensing requirements 2026-02-05 15:10:41 +00: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
Fabiana Cecin
d6428af91d
pin interop lmn PR workflow to SMOKE_TEST_STABLE (#148) 2025-12-16 09:22:04 -03:00
Fabiana Cecin
251772b76d
chore: fix two smoke tests to mount both lightpush and relay (#146) 2025-12-16 06:07:12 -03:00
fbarbu15
3bad0ad02e
Chore/repo rename (#145)
* fix readme

* chore: repo rename
2025-12-11 13:44:52 +02: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
b647583a88
Chore/allure report link fix (#143)
* fix readme

* chore: allure report link fix
2025-12-08 11:23:50 +02:00
fbarbu15
c53ccb1335
chore: update readme (#141) 2025-11-21 11:54:38 +02:00
fbarbu15
8c6b3a1653
chore: admin tests fix (#140)
* chore: admin tests fix

* chore: admin tests fix
2025-11-21 11:45:15 +02:00
fbarbu15
26ae0f13f4
chore: fixes and adjustments (#139) 2025-10-08 13:33:24 +03:00
AYAHASSAN287
d764dd392b
Adding store scripts (#135)
* Adding store scripts

* Fix old scripts & add new store stress scripts

* Add filter stress scenarios & store

* Adding last set of tests

---------

Co-authored-by: fbarbu15 <florin@status.im>
2025-09-23 09:38:51 +00: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
037f8f0390
Adding more corner cases (#129)
* Adding more corner cases

* Adding more tests

* Adding more tests

* Final tests added

* Adding mesh test

* Fix failing test on CI
2025-07-17 09:32:28 +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
fbarbu15
a8ed2e8856
chore: fix interop tests (#128) 2025-07-08 18:28:00 +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
30030ec3fe
Chore/update readme (#127)
* chore: update readme

* chore: update readme

* chore: update readme
2025-06-27 21:07:20 +03: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
AYAHASSAN287
5bdbd7dae0
Expand smoke tests with more topic related tests (#118) 2025-05-21 14:58:53 +03:00
Roman Zajic
d2121cef90
fix: remove go-waku from workflows (#117) 2025-05-21 17:44:13 +08:00
aya
720c9f888e revert change 2025-05-13 23:45:48 +03: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
Roman Zajic
ccc62d317c
fix: re-enable RLN tests (#112)
- issue 3313 resolved
2025-04-09 19:13:11 +08: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
db2a182111
chore: retry flaky test (#110) 2025-03-28 09:40:41 +02:00
fbarbu15
04144ca836
chore: rln metric rename (#109) 2025-03-18 15:30:27 +08:00
Roman Zajic
ad74b21392
fix: Overall job result (#108)
* test: overall job result

* test: overall job result with nim daily

* test: overall job result with nim daily success case

* test: overall job result with nim daily failure case

* test: replace deprecated set-output with GITHUB_OUTPUT

* test: change OUTCOMES evaluation

* test: debug OUTCOMES evaluation

* test: print OUTCOMES

* test: print OUTCOMES remove star

* test: print outputs

* test: print GITHUB_OUTPUT

* test: print JOB_RESULT

* test: print JOB_RESULT in reports

* test: print ALL_OUTPUTS

* test: print ALL_OUTPUTS 2

* test: print ALL_OUTPUTS 3

* test: print ALL_OUTPUTS with curly

* test: print OUTCOMES

* test: print jobResult

* test: print all jobResults

* fix: shard as version input

* fix: process results

* test: full workflow - failure case

* test: full workflow - failure case - manual

* test: full workflow - success case
- RLN tests re-enabled

* fix: make workflows ready to merge
- disable RLN tests again
2025-03-15 07:34:55 +08:00
Roman Zajic
b2afe57a8a
fix: skip all RLN tests due to issue 3313 (#107) 2025-03-10 08:58:18 +02:00