44 Commits

Author SHA1 Message Date
Aya Hassan
cc1ab5fbd7 Merge remote-tracking branch 'origin/master' into e2e_improvements 2026-06-04 13:55:21 +02:00
Ivan FB
ec86cc4775
ci: fix Nim checksum mismatch when building liblogosdelivery (#188)
* Add docker mark for docker nodes tests

* Add the ports allocation tests

* trigger CI job

* update the .so

* chore: update logos-delivery-python-bindings

* bump bindings submodule for fresh CI build

* bump bindings to pull in logos-delivery #3828

* ci: pin nimble 0.22.3 to fix Nim checksum mismatch on liblogosdelivery build

The "Build liblogosdelivery.so" job ran a bare `nimble install -y` inside
the logos-delivery checkout, resolving the package's locked deps with
whatever nimble choosenim ships. That nimble recomputes the locked Nim
package checksum differently from the nimble that generated nimble.lock
(0.22.3), so the build aborted with:

  Downloaded package checksum does not correspond to that in the lock file:
    Package:           nim@v.2.2.4@r.911e0dbb...
    Expected checksum: 68bb85cb...

Mirror logos-delivery's own CI: pin nimble 0.22.3 after installing Nim, and
drop the redundant `nimble install -y` / no-op `make setup`. `make
liblogosdelivery` already resolves the locked deps via its build-deps
prerequisite (`nimble setup --localdeps`).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Bump bindings submodule to pull in logos-delivery latest master

Points vendor/logos-delivery-python-bindings at the bump-logos-delivery-master
branch (logos-delivery-python-bindings#6), which advances logos-delivery to
master 4099ff26. Merge that bindings PR before this one so the pointer lands
on bindings master.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Aya Hassan <ayahassan2877@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: AYAHASSAN287 <49167455+AYAHASSAN287@users.noreply.github.com>
2026-06-04 13:47:35 +02:00
Aya Hassan
9e973f6510 update the .so 2026-06-03 13:42:15 +02:00
Aya Hassan
753b3c1816 trigger CI job 2026-06-03 12:48:55 +02:00
Roman Zajic
bb1ff0f2bc
chore: change fleet tests to run once a week (#187) 2026-05-26 15:21:19 +08:00
Roman Zajic
d2afce79f4
fix: Enable RLN registration for fleet tests (#185)
* fix: enable RLN registration with v0.38.1

* fix: use NODE_1 instead of DEFAULT_NWAKU for registration
2026-05-20 13:28:57 +08: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
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
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
AYAHASSAN287
33596417e3
Change report url (#161) 2026-03-02 10:13:56 +01: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
fbarbu15
3bad0ad02e
Chore/repo rename (#145)
* fix readme

* chore: repo rename
2025-12-11 13:44:52 +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
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
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
AYAHASSAN287
110bdf5da0
Change tag name (#99) 2025-01-14 15:33:12 +02:00
AYAHASSAN287
1a981a16e4
CI_RUNNERS (#88)
* Change number of threads for CI runners to 8

* change number of threads to 12

* Change number of threads to auto select

* change  number of threads to logical instead of auto

* change number of  threads to 150

* change total workers to 40

* Adding workflow_call in on section

* remove "remove_unwanted_software" from yml

* change path of requirements.txt

* modify path of .txt file again

* Change repo name

* Create docker volume

* Merge master to branch

* Revert changes  done in the branch

* try the sharding option

* Add pytest-shard 0.1.2 to requirements.txt

* reduce shards to 2

* Fix max number of shards error

* Modify pytest run command

* change number of shards  to =1

* increase shards to 4

* Modify pytest command

* Change shards to 4

* skip 3 tests

* skip rln tests

* skip test metric

* skip rln tests

* fix skipif mark

* Fix linters

* Fix linters 2

* run pre-commit command to fix linters

* Make each shard upload seperate report using artifacts

* Change number of shards to 5

* CHange artifacts version to 4

* increase shards to 8

* Increase shards to 11

* Make test_get_multiple_2000_store_messages run in seperate shard

* Mark  test_get_multiple_2000_store_messages to run in shard 1

* using logic in yml file to run test_cursor.py in seperate file

* Fix logic to run test_cursor.py in seperate shard

* Adding path of file instead of file name in yml file

* Fix error in pytest command

* rerun test test_get_multiple_2000_store_messages

* run test_get_multiple_2000_store_messages in separate shard

* Fix error in pytest  command

* Fix command again by using -k instead of test name

* Add test_rln.py again to job and increase shards to 13

* Run test_rln.py in single shard

* Fix pytest command

* Fix syntax error in pytest command

* Increase workers to 4

* Create new test file for test_get_multiple_2000_store_messages

* Collect reports into 1 report

* Modify aggregate reports

* Make changes to reports collecting

* Add more reporting ways

* Add send reports to discord again

* Fix command syntax error

* Revert changes

* Make changes to fix not executed tests issue

* remove 12 from matrix shards

* Try to fix missing test issue by adding collect-only

* Modify pytest command " remove collect only "

* Increate timeout for test test_get_multiple_2000_store_messages

* Reduce shards again to 8

* remove loadfile option

* Increase shards to 22

* increase shards to 42

* Increase shards to 49

* Increase shards to 63

* Modify test command to have 16 shards

* Change shards to 9

* Fix command of pytest

* Using ignore instead of -m

* Fix syntax error

* Modify test file path

* Increase shards to 16

* Modify test command

* fix: add multiple machines

* fix: prevent fail fast

* Remove multiple skips

* Revert changes in test_rln file

* Modify test command

fix: add multiple machines

fix: prevent fail fast

checkout on smoke_tests tag (#96)

* checkout on smoke_tests tag

* MOdify pytest command

* Update README.md

Add steps on how to use new tag for PR tests in readme file

Remove multiple skips

Revert changes in test_rln file

* Adding timeout to test test_on_empty_postgress_db

* Add comments in workflow for shards

---------

Co-authored-by: fbarbu15 <florin@status.im>
Co-authored-by: Florin Barbu <barbu_florin_adrian@yahoo.com>
2025-01-06 15:29:33 +02:00
AYAHASSAN287
1f853b3a11
checkout on smoke_tests tag (#96)
* checkout on smoke_tests tag

* MOdify pytest command

* Update README.md

Add steps on how to use new tag for PR tests in readme file
2024-12-27 10:10:12 +02:00
AYAHASSAN287
013c6e8bb0
smoke_tests (#90)
* Selecting initial smoke tests set

* adding mark "smoke" in pytest.ini

* adding mark smoke to workflow file

* Remove allure reporting from yml file

* Adding more smoke tests

* Add PR image to new nwaku workflow

* change nwaku_daily.yml to test the PR job changes

* remove dependencies from yml file

* Remove secrets check from container yml file

* remove secrets from all files

* change image tag

* revert image tag

* Revert nwaku_daily.yml to origin

* Adding PR number to choose image

* adding docker-build-image to yml file

* adding docker-image-build dependencies

* Adding quay user & password

* Adding quay username & password

* Fix yml build

* Remove changes causing errors

* remove tests part to speedup the job

* add flag workflow_call: for reusable workflow

* checkout on branch instead of master

* trying to fetch from branch

* Check out specific branch

* make node1 input

* Adding node1 as input

* Add type to required input

* fix node input format

* change input node1 format

* Delete .github/workflows/container-image.yml

* Delete .github/workflows/nim_nwaku_pr.yml

* Create 2  files for PR tests

* revert original yml files

* Fix review points on PR

* fix review points

* revert test_common file to master

* revert nim_waku_daily to master

* Fix review points
2024-12-12 11:03:42 +02:00
fbarbu15
aca216e95a
remove unwated software (#79)
* remove unwated software

* log fix

* log fix
2024-10-24 12:43:51 +03:00
fbarbu15
80210a079c
increase ci timeout (#66) 2024-08-20 10:34:43 +08:00
fbarbu15
4e96452119
use docker hub (#63) 2024-07-29 15:51:04 +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
4ba5ee2418
fix allure broken history links (#28) 2024-04-04 11:00:16 +03: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
dc25c6e51b
chore: go waku as client (#15)
* run go waku as a client only

* notify nwaku devs when stuff fails

* revert name

* revert name

* use role id

* add my user id

* remove role id

* prepare for PR
2024-02-08 09:33:53 +02: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
Roman Zajic
ae3addb619
chore: custom test workflows (#13)
* chore: separate interop test workflows for Go and Nim
- common test workflow
- reporting to Discord

* fix: define GITHUB_STEP_SUMMARY

* fix: remove GITHUB_STEP_SUMMARY def for global env

* fix: move GITHUB_STEP_SUMMARY after run

* fix: add dollar sign to GITHUB_STEP_SUMMARY

* fix: proper quoting - GITHUB_STEP_SUMMARY

* fix: unique concurrency groups

* fix: variable expansion for curl

* fix: variable substitution

* fix: use Discord action instead of curl

* fix: use GITHUB_OUTPUT

* fix: remove doubled echo

* fix: secrets inherit

* test: directly refer to step summary

* test: GITHUB_STEP_SUMMARY behavior

* fix: syntax

* fix: syntax 2

* test: cat content of backing file

* test: re-run with tests

* fix: error in text format

* fix: error in text format 2

* fix: error in text format 3

* fix: error in text format 4

* fix: error in text format 5

* test: env variable passing

* test: re-run with tests

* test: override description info

* fix: set different schedule for Nim and Go tests
- print job.status

* fix: adjust wording for job.status

* fix: add event and actor info

* fix: add color based on result

* fix: remove redundant dash

* test: logical expression for color

* fix: forgotten dollar

* test: re-rerun with tests

* fix: remove on push trigger
2024-01-18 20:17:17 +08:00
Florin Barbu
5b7045ace8
remove deprecated RPC client/protocol (#11)
* remove deprecated RPC client/protocol

* small fixes

* revert base client
2024-01-08 10:32:56 +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
a6a0440312
Relay Publish: multiple nodes (#4)
* 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
2023-11-21 09:29:48 +02:00
Florin Barbu
589368f434
Relay Publish: Extend coverage (#2)
* small improvements

* minor adjustments

* new tests

* try with more runners

* try with more runners2

* tweaks for parallel run

* new tests

* small tweaks

* new tests

* new tests

* test remove defaults from CI

* handle empty strings for env vars in CI

* add nodekey to main node

* add more tests

* finishing touches

* fixes based on Alex suggestions

* revert unwanted change

* add new pause test
2023-11-17 08:47:22 +02:00
fbarbu15
69e8be0371
REST api support 2023-11-03 17:01:00 +02:00
fbarbu15
7e76bedfc7
improve reports 2023-11-01 16:44:42 +02:00
fbarbu15
878448f654
add missing dependency 2023-11-01 14:36:16 +02:00
fbarbu15
a98ae52d83
setup report 2023-11-01 14:34:55 +02:00
fbarbu15
e270742d5b
setup report 2023-11-01 14:31:36 +02:00
fbarbu15
e56cb0784a
add missing defaults 2023-11-01 14:11:03 +02:00
fbarbu15
81e86ee030
relay publish tests 2023-11-01 14:02:29 +02:00