-
Notifications
You must be signed in to change notification settings - Fork 1.2k
feat: Extend --filesystem flag to start-api and start-lambda commands… #8311
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
roger-zhangg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The change looks good, few things
- We should check if the given filesystem exist upon start
- could you help to create some actual test that will test this issue? Currently all the filesystem is not asserted.
- It would be great if you can add some integration test to actually start docker and test if it can pickup the mounted filesystem
https://github.com/aws/aws-sam-cli/blob/develop/tests/integration/local/start_api/test_start_api.py
Implements roger-zhangg's review feedback for PR aws#8311: 1. Filesystem validation - Already implemented via Click.Path(exists=True) 2. Test assertions - Added test_cli_with_filesystem_parameter() to verify parameter propagation 3. Docker integration tests - Created comprehensive test suite with actual filesystem mounting Integration Tests: - tests/integration/local/start_api/test_filesystem_mount.py - 3 Docker tests - Verifies Lambda can read from mounted EFS - Verifies Lambda can write to mounted EFS with host persistence - Verifies Lambda can list mounted filesystem contents Fixes: - Added filesystem parameter to invoke CLI (was missing after moving to shared options) - Fixed 60 unit tests that broke due to original PR's incomplete test updates - Mocked AWS credentials in test_add_account_id_to_global - Removed incorrect filesystem_mounts assertions from container/runtime tests - Updated all parameter assertions to match new signatures All tests passing: 5,871 tests, 94.23% coverage
Response to roger-zhangg's ReviewHey @roger-zhangg, Thanks for the review! Addressed all three points: 1. Filesystem existence checkAlready done via Click validation: type=click.Path(exists=True, file_okay=False, dir_okay=True, resolve_path=True)This validates the path exists before Docker even starts, so users get a clear error immediately if they typo the path. 2. Test assertionsAdded 3. Docker integration testsCreated Three tests that actually start Docker:
Also created the test template and Lambda handler that interacts with Bonus fixesWhile adding tests, found the original PR broke 60 unit tests (incomplete test updates). Fixed all of them:
Results✅ 5,871 tests passing, 94.23% coverage Ready for re-review! |
|
Hey @roger-zhangg! Just checking in on this one - I addressed all three points from your review back in October (filesystem validation, test assertions, and Docker integration tests). All tests are passing and there's been no activity since. Would you be able to take another look when you get a chance? |
Uh oh!
There was an error while loading. Please reload this page.