Skip to content

feat: add BYO filesystem e2e test and supporting infrastructure#1461

Merged
padmak30 merged 2 commits into
mainfrom
feat/filesystem-e2e-test
Jun 5, 2026
Merged

feat: add BYO filesystem e2e test and supporting infrastructure#1461
padmak30 merged 2 commits into
mainfrom
feat/filesystem-e2e-test

Conversation

@padmak30
Copy link
Copy Markdown
Contributor

@padmak30 padmak30 commented Jun 4, 2026

  • Add strands-bedrock-byo-filesystem.test.ts: e2e test for EFS and S3 Files mounts with unique file content assertion
  • Add e2e-tests/fixtures/filesystem/setup_byo_filesystem.py: one-time setup script to provision VPC, EFS, S3 Files access points in AWS
  • Extend E2EConfig with apiKeyEnvVar, requiredEnvVars, efsAccessPoints, s3AccessPoints, networkConfig, invokePrompt, invokeResponseCheck
  • Fix VPC warning in invoke action to suppress when --json is passed
  • Add filesystem env vars to e2e-tests.yml env blocks
  • Add filesystem resources fixture file

- Add strands-bedrock-byo-filesystem.test.ts: e2e test for EFS and S3
  Files mounts with unique file content assertion
- Add e2e-tests/fixtures/filesystem/setup_byo_filesystem.py: one-time
  setup script to provision VPC, EFS, S3 Files access points in AWS
- Extend E2EConfig with apiKeyEnvVar, requiredEnvVars, efsAccessPoints,
  s3AccessPoints, networkConfig, invokePrompt, invokeResponseCheck
- Fix VPC warning in invoke action to suppress when --json is passed
- Add filesystem env vars to e2e-tests.yml env blocks
- Add filesystem resources fixture file
@padmak30 padmak30 requested a review from a team June 4, 2026 01:15
@github-actions github-actions Bot added the size/l PR size: L label Jun 4, 2026
@github-actions github-actions Bot added the agentcore-harness-reviewing AgentCore Harness review in progress label Jun 4, 2026
@agentcore-devx-automation agentcore-devx-automation Bot added the claude-security-reviewing Claude Code /security-review in progress label Jun 4, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 4, 2026

Package Tarball

aws-agentcore-0.17.0.tgz

How to install

gh release download pr-1461-tarball --repo aws/agentcore-cli --pattern "*.tgz" --dir /tmp/pr-tarball
npm install -g /tmp/pr-tarball/aws-agentcore-0.17.0.tgz

@agentcore-devx-automation
Copy link
Copy Markdown
Contributor

Claude Security Review: no high-confidence findings. (run)

@agentcore-devx-automation agentcore-devx-automation Bot removed the claude-security-reviewing Claude Code /security-review in progress label Jun 4, 2026
Copy link
Copy Markdown

@agentcore-cli-automation agentcore-cli-automation left a comment

Choose a reason for hiding this comment

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

Nice work setting up filesystem e2e coverage end-to-end. A few issues to address before merging:

  1. The S3 Files IAM trust policy looks wrong — it allows elasticfilesystem.amazonaws.com to assume the role, which is the EFS service principal, not S3 Files. This will likely make the S3 Files mount unable to read the bucket.
  2. The new invokeResponseCheck is silently skipped when json.response is falsy, which weakens the assertion. The whole point of this check is to fail when the response is wrong (or missing).
  3. The test prompt only exercises the EFS mount; the S3 Files mount is configured but never read or written from at runtime, so a misconfigured S3 mount would still pass.

Inline comments below.

Comment thread e2e-tests/fixtures/filesystem/setup_byo_filesystem.py
Comment thread e2e-tests/e2e-helper.ts Outdated
Comment thread e2e-tests/strands-bedrock-byo-filesystem.test.ts Outdated
@github-actions github-actions Bot removed the agentcore-harness-reviewing AgentCore Harness review in progress label Jun 4, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 4, 2026

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 35.54% 11183 / 31461
🔵 Statements 34.88% 11890 / 34084
🔵 Functions 30.28% 1880 / 6207
🔵 Branches 29.31% 7134 / 24334
Generated in workflow #3488 for commit 946d9f6 by the Vitest Coverage Report Action

- Fix invokeResponseCheck to assert response is truthy before running
  the check — previously silently skipped on empty/undefined response
- Extend filesystem test prompt to write and read unique tokens on both
  EFS (/mnt/efs) and S3 Files (/mnt/s3) mounts, asserting both appear
  in the response so a misconfigured S3 mount is caught
@github-actions github-actions Bot added size/l PR size: L and removed size/l PR size: L labels Jun 4, 2026
@agentcore-devx-automation agentcore-devx-automation Bot added the claude-security-reviewing Claude Code /security-review in progress label Jun 4, 2026
@agentcore-devx-automation
Copy link
Copy Markdown
Contributor

Claude Security Review: no high-confidence findings. (run)

@agentcore-devx-automation agentcore-devx-automation Bot removed the claude-security-reviewing Claude Code /security-review in progress label Jun 4, 2026
Copy link
Copy Markdown
Contributor

@jariy17 jariy17 left a comment

Choose a reason for hiding this comment

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

LGTM but just one nit

Comment thread e2e-tests/e2e-helper.ts
modelProvider: string;
requiredEnvVar?: string;
/** Env var holding the API key — must be set for the suite to run, and its value is passed as --api-key. */
apiKeyEnvVar?: string;
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.

Why did we seperate out the apiKey into their own variable?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

requiredEnvVar was doing two different things: (1) gating the test suite, and (2) forwarding the env var's value as --api-key to the create command. These had to be separated because the filesystem test needs to gate on 4 env vars (E2E_EFS_ACCESS_POINT_ARN, E2E_S3_ACCESS_POINT_ARN, E2E_FILESYSTEM_SUBNET_ID, E2E_FILESYSTEM_SECURITY_GROUP_ID) that are not API keys — they're ARNs/IDs used in the --efs-access-point-arn etc. args. requiredEnvVars: string[] handles "gate only" for any number of vars; apiKeyEnvVar handles the "gate + pass as --api-key" case that existing tests need.

@padmak30 padmak30 merged commit dd255e3 into main Jun 5, 2026
33 of 35 checks passed
@padmak30 padmak30 deleted the feat/filesystem-e2e-test branch June 5, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/l PR size: L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants