feat(e2e): add test:e2e target using WebdriverIO (DEVX-987)#197
Draft
peter-smith-phd wants to merge 7 commits into
Draft
feat(e2e): add test:e2e target using WebdriverIO (DEVX-987)#197peter-smith-phd wants to merge 7 commits into
peter-smith-phd wants to merge 7 commits into
Conversation
Adds proposal, design, spec, and tasks artifacts for DEVX-987 (WebdriverIO + wdio-vscode-service e2e test framework, wired small-app demonstration fixture across S3/Lambda/IAM/SQS/SNS, and CI job). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds a pnpm test:e2e target (WebdriverIO + wdio-vscode-service) that drives the extension's real rendered UI in a genuine Extension Development Host, independent of the existing in-process vscode-test suite. Includes a demonstration suite that deploys a small wired serverless application (S3, Lambda, IAM, SQS, SNS) via Terraform against a real LocalStack instance and verifies the Resources tree/Resource Details end to end, plus a new CI job wiring it into every pull request. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The first real CI run failed with "terraform not found in PATH" — unlike Docker, Terraform isn't preinstalled on ubuntu-latest. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
CI's e2e run failed with the tree showing no resources, but the only existing signal was silence — lstk.ts previously only surfaced stdout/stderr when a command failed. Logging on success too so the next CI run's output actually shows what lstk start/tf apply did. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
AWSConfig.getClientConfig only worked for the default `localstack` profile if ~/.aws/config happened to have a matching section, so a fresh install (no AWS config at all) showed duplicate, errored `Profile: localstack` rows and an empty Resources tree. Every LocalStack-managed profile now resolves its endpoint/credentials statically instead, matching the convention already used for `localstack#<accountId>` entries. Verified by moving ~/.aws/config and ~/.aws/credentials aside and re-running the e2e demonstration suite end-to-end. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The first real CI run got past the profile-resolution fix and through three of five Resource Details reads, then hit a stale element reference inside webview.open() — a race between the previous webview's teardown and the next one's creation, only reproducible on CI's Linux/xvfb runner. Retry the whole fetch-then-open cycle instead of just the initial wait. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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
Add the framework for end-to-end testing of LocalStack Toolkit for VS Code. The existing VS Code extension was implemented under a tight deadline, and didn't have extensive e2e tests added. This PR adds the framework for e2e testing, but only adds a simple test case to prove that it works. More e2e tests still need to be added later.
Details:
pnpm test:e2etarget (WebdriverIO +wdio-vscode-service) that drives the extension's real rendered UI in an Extension Development Host, independent of the existing in-processvscode-testsuite (pnpm test)test/e2e/specs/resource-browser.e2e.ts) that deploys a small serverless application (S3, Lambda, IAM, SQS, SNS) via Terraform against a real LocalStack instance, and verifies the Resources tree / Resource Details panel end to endtest-e2eCI job inbuild.yml.Fixes DEVX-987.
🤖 Generated with Claude Code