191 Commits

Author SHA1 Message Date
Aya Hassan
da655b47fb Modify the yml to continue on error 2026-05-05 10:26:42 +02:00
Aya Hassan
c6b5a02a41 remove the /true from yml to allow errors to exist 2026-05-05 10:05:00 +02:00
Aya Hassan
55f9612578 fix portsshift option 2026-05-04 20:34:58 +02:00
Aya Hassan
8e639c1d2a Modify S20 2026-05-04 17:12:18 +02:00
Aya Hassan
b415221859 Fix the ports conflict 2026-05-04 15:10:48 +02:00
Aya Hassan
b0165cef9f Modify the PR 2026-05-04 14:21:10 +02:00
Aya Hassan
7d5fbea89e commenting lightpush 2026-05-04 12:48:14 +02:00
Aya Hassan
9826117c21 revert tag in yml in latest 2026-05-01 21:05:38 +02:00
Aya Hassan
71bea94107 Fix review comments 2026-05-01 20:59:56 +02:00
Aya Hassan
510b2adb16 comment the skipped tests 2026-05-01 20:38:09 +02:00
Aya Hassan
db67d85127 FIx flaky tests 2026-05-01 20:14:56 +02:00
Aya Hassan
c73bdd6040 Merge branch 'temp_bindings_branch' into E2E_part2 2026-05-01 18:30:30 +02:00
Aya Hassan
507ddfab04 rename test file 2026-05-01 18:23:04 +02:00
Aya Hassan
ee6816c507 fix xfail syntax error 2026-05-01 14:51:24 +02:00
Aya Hassan
4aa64c70fe Change image name 2026-05-01 13:33:20 +02:00
Aya Hassan
882b186f3b Ignore s20 / s31 for errors 2026-05-01 00:48:42 +02:00
Aya Hassan
9191be1da9 fix s26 2026-04-30 23:35:10 +02:00
Aya Hassan
5d1614f93b Ignore S19 2026-04-30 19:02:57 +02:00
Egor Rachkovskii
f219c807d5
Add relay-to-lightpush fallback integration tests (S08/S09) (#180)
Co-authored-by: Egor Rachkovskii <egorrachkovskii@status.im>
2026-04-30 17:05:06 +01:00
Egor Rachkovskii
a85223a79c
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>
2026-04-30 16:15:50 +01:00
Aya Hassan
16bef0354b Fix some tests 2026-04-30 13:30:18 +02:00
Egor Rachkovskii
df073119ba
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>
2026-04-29 13:21:56 +01:00
Egor Rachkovskii
4d4bd535c4
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>
2026-04-28 17:44:27 +01:00
Aya Hassan
8c7979ce67 Add S31 2026-04-27 10:46:47 +02:00
Aya Hassan
f6a558b8e7 Add S30 2026-04-27 10:42:46 +02:00
Aya Hassan
fb957dd8e8 Add S26 2026-04-26 18:10:13 +02:00
Aya Hassan
9e11ccb6bd Adding S24 2026-04-26 16:49:41 +02:00
Aya Hassan
572b50c0b1 Adding S22/S23 2026-04-25 19:18:53 +02:00
Aya Hassan
91a9fc55eb Merge branch 'master' into temp_bindings_branch 2026-04-25 16:29:47 +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
Aya Hassan
060d50afbb Fix review comments 2026-04-21 18:15:46 +02:00
Aya Hassan
e27d64a1a4 Adding S21 2026-04-21 16:46:00 +02:00
Aya Hassan
34cfb80b5f Modify S19 test 2026-04-21 13:48:24 +02:00
Egor 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
73884ee8a5 add S19 2026-04-19 22:01:31 +02:00
Aya Hassan
3d7a92ca4f Add s17 positive / negative scenarios 2026-04-19 20:17:58 +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
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 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