feat(e2e): gateway E2E test infrastructure#28
Open
gilbertsahumada wants to merge 18 commits intoChaosChain:mainfrom
Open
feat(e2e): gateway E2E test infrastructure#28gilbertsahumada wants to merge 18 commits intoChaosChain:mainfrom
gilbertsahumada wants to merge 18 commits intoChaosChain:mainfrom
Conversation
- Introduced docker-compose.e2e.yml for E2E testing environment. - Added anvil-entrypoint.sh to run Anvil with deterministic accounts. - Created gateway-entrypoint.sh to wait for addresses.json and run migrations. - Implemented setup.ts to deploy contracts and write addresses.json. - Added vitest.e2e.config.ts for E2E test configuration. - Created E2E tests in packages/gateway/test/e2e for workflow submissions and health checks. - Updated package.json scripts for E2E testing commands. - Added .dockerignore and Dockerfile for the gateway package. - Included helpers.ts for common E2E test functions. - Added conftest.py and test_e2e.py for Python SDK E2E tests.
…nd update E2E tests for full workflow completion
…te admin signer address handling in GatewayConfig
Contributor
|
What works well |
…ture # Conflicts: # .gitignore # packages/gateway/.dockerignore # packages/gateway/Dockerfile
…vironment details
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
End-to-end testing infrastructure that deploys the full ChaosChain stack (Anvil + PostgreSQL + Gateway) via Docker Compose and runs real workflow submissions against actual smart contracts.
For detailed documentation on running tests, environment setup, test accounts, and endpoint coverage, see
packages/gateway/test/e2e/README.md.What's included
EthersChainAdapterand mock Arweavee2e/setup.ts): deploys all contracts, creates a studio, registers 5 agents (3 workers + 2 verifiers)registerWork/registerValidator— resolves Question: Gateway workflow design vs contract access control (E2E finding) #26Bug fixes
WorkflowEngine.createWorkflow()always overwroterecord.stepwithdefinition.initialStep, ignoring the per-workflow step set bycreateScoreSubmissionWorkflow(). This prevented commit-reveal mode from working. Fix:record.step = record.step || definition.initialStepscore_confirmed(direct mode) in addition toreveal_confirmed(commit-reveal mode)docker compose up -dreplaced with--waitto prevent setup race conditionsScope
In scope (tested):
Out of scope:
Observations for future consideration:
POST /admin/seed-demohas no unit tests (covered by E2E only)E2E Results
Unit tests: 366 passed, 13 skipped — 54.44% stmts, 72.72% branches, 80.76% functions
Test Plan