Conversation
Adds the e2e/ workspace crate with LocalNetwork infrastructure and a basic deploy/list test. Canister responses are decoded via -o hex + candid::decode_args into typed structs (AssetDetails, AssetEncodingDetails) copied from assets-sync::canister, removing the candid_parser dependency. Also wires up the e2e CI job and updates TEST.md to reflect the approach. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace the `example/` directory with a self-contained fixture under `e2e/tests/fixture/basic/`. A new `e2e/build.rs` pre-builds the canister and plugin WASMs so the test copies pre-built binaries into a temp dir rather than invoking `cargo build` (or `ic-wasm`) at deploy time. This removes the `ic-wasm` dependency from CI and from icp.yaml. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Parse proxy_canister_principal from `icp network status --json` output and deploy with the --proxy flag, verifying assets are served correctly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Concurrent tests both called `icp network start` on port 8000, causing conflicts. Setting `gateway.port: 0` lets each test get an ephemeral port. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
adamspofford-dfinity
approved these changes
May 7, 2026
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
e2e/workspace crate withLocalNetworkRAII infrastructure and a basic deploy/assert test against theexample/projecticp canister call -o hex+candid::decode_argsinto typed structs (AssetDetails,AssetEncodingDetails) copied fromassets-sync::canister— nocandid_parserorIDLValuetraversal neededicp-cliinstallation step in thetestCI job in.github/workflows/ci.ymlTEST.mdto reflect the hex-decode approach and listcandid/hexin the infrastructure tableTest fixture strategy
The
example/project at the workspace root has been moved intoe2e/tests/fixture/basic/and is now the canonical fixture for e2e tests. Each test callssetup_project(), which copies the fixture into a freshtempfile::TempDirand places the pre-built WASM files (provided bybuild.rsviaCANISTER_WASM/PLUGIN_WASMenv vars) underwasms/. This gives every test an isolated working directory so tests can run concurrently without interfering with each other. Additional fixtures for future test scenarios can be added as subdirectories undere2e/tests/fixture/and loaded with the samesetup_project()helper.🤖 Generated with Claude Code