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
2024-02-13 22:01:30 +08:00
2023-11-01 16:44:42 +02:00
2023-11-01 14:02:29 +02:00
2023-11-01 14:02:29 +02:00
2023-11-01 14:02:29 +02:00
2023-11-01 14:02:29 +02:00
2023-11-17 08:47:22 +02:00
2023-11-03 17:01:00 +02:00

waku-interop-tests

Waku e2e and interop framework used to test various implementation of the Waku v2 protocol.

Setup and contribute

git clone git@github.com:waku-org/waku-interop-tests.git
cd waku-interop-tests
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pre-commit install
(optional) Overwrite default vars from src/env_vars.py via cli env vars or by adding a .env file
pytest

CI

License

Licensed and distributed under either of

or

at your option. These files may not be copied, modified, or distributed except according to those terms.

Languages
Python 92%
Shell 8%