Skip to content

Add in-repo API/e2e test suite (tests-e2e)#4027

Open
at0m1x19 wants to merge 2 commits into
masterfrom
e2e-migration
Open

Add in-repo API/e2e test suite (tests-e2e)#4027
at0m1x19 wants to merge 2 commits into
masterfrom
e2e-migration

Conversation

@at0m1x19

@at0m1x19 at0m1x19 commented Jul 10, 2026

Copy link
Copy Markdown

What

Migrates the liblogosdelivery API e2e "wrapper" suite (framework + ~21 tests) from logos-delivery-interop-tests into tests-e2e/, and runs it in CI against the library built by the build job.

For reviewers

The diff is ~6k lines, but only ~100 are new or specific to this repo. Everything under tests-e2e/src/, the other test files, the binding and the config are byte-for-byte copies from logos-delivery-interop-tests (already reviewed there).

Please review these (new / repo-specific):

File What
.github/workflows/e2e-api-tests.yml New reusable job: downloads the liblogosdelivery artifact from build, runs the non-docker subset
.github/workflows/ci.yml send-api-e2e-tests now calls the in-repo workflow (was remote send_api_e2e_PR.yml@SMOKE_TEST_…); tests-e2e/** added to the changes filter
tests-e2e/scripts/prepare_lib.sh Builds liblogosdelivery and places it where the binding expects it
tests-e2e/README.md How to run locally
tests-e2e/tests/wrappers_tests/test_send_e2e_part2.py The only changed test file — see below

The one test change (test_send_e2e_part2.py)

Three tests fixed and their stale #3847 xfails removed (the bug is fixed by #3967 — these were test defects, not product bugs):

  • S10 / S15 — added relay=False to the "Edge" sender. build_node_config() defaults relay=True, which masked mode="Edge", so the senders delivered via relay instead of lightpush. relay=False makes them exercise the real lightpush path.
  • S08 — wired the sender to the lightpush service via lightpushnode (the previously commented-out config parses fine on master).

Why

Tests live next to the code they cover: a library change and its e2e test land in the same PR, validated against the exact library that PR builds — no cross-repo tag pin.

Result (this PR's CI)

send-api-e2e-tests / api-e2e: 18 passed, 3 docker-only deselected, 0 xfailed (~7 min), against a freshly built liblogosdelivery.

Follow-ups

  • Docker subset (S19/S20/S31) — needs a node image; separate job.
  • Once merged, remove the now-duplicated wrapper suite from logos-delivery-interop-tests.

@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown

You can find the image built from this PR at

quay.io/wakuorg/nwaku-pr:4027

Built from 1f86e46

@at0m1x19
at0m1x19 marked this pull request as ready for review July 14, 2026 18:16

@fbarbu15 fbarbu15 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with one comment

with service_result.ok_value as service:
service_multiaddr = get_node_multiaddr(service)

edge_config = build_node_config(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't we need relay=False here?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch! added relay=False here, and to S26/S31 which had the same problem

Migrate the liblogosdelivery API/wrapper pytest suite into tests-e2e/ and run it in CI (e2e-api-tests.yml) against the built library. Edge senders use the real lightpush path (relay=False).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants