You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR adds more operations to the S3 provider, and reorganised the tests by class, grouping them more coherently.
This will reduces the number of failing test and implement a lot of basic functionality, and fixes some current bugs at the same time.
It is a bit hard to keep track of implemented operation and fixed exceptions, as a lot of fixes are done by moto patching.
Implemented operations:
GetBucketRequestPayment
PutBucketRequestPayment
GetBucketLifecycleConfiguration (had to reimplement it, moto is not validating correctly Transition actions, and will raise exceptions. Would need a bigger rewrite in moto. Needed for Terraform).
PutBucketLifecycleConfiguration
DeleteBucketLifecycleConfiguration
fix object Expires parameter
fix GetObject with range headers, and return proper status code
fix restoring object from DEEP_ARCHIVE, raise error if trying to get an object in that state
fix exceptions missing in the specs, or missing members
implement proper DeleteResult for DeleteObjects
Also had to regenerate all s3 snapshots as the moving of tests made a lot of changes, it was simpler to regenerate everything from scratch.
Currently having unit tests failing as they are testing patched behaviour against original specs. Will need to fix this before merging. Done, seen with Alex.
Sorry this PR is quite large, subsequent PR based on this one will be smaller and implement specific things. This one was quite general.
The reason will be displayed to describe this comment to others. Learn more.
If I remember well, it's because the response is wrapped in the name of the output shape. Like <DeleteObjectOutput>response members xml</DeleteObjectOutput>.
But S3 returns <DeleteResult> instead. Not sure if I can change the name in any other way. Doesn't seem to have locationName for output shapes. Seems weird and dirty though 🤷♂️
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
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.
This PR adds more operations to the S3 provider, and reorganised the tests by class, grouping them more coherently.
This will reduces the number of failing test and implement a lot of basic functionality, and fixes some current bugs at the same time.
It is a bit hard to keep track of implemented operation and fixed exceptions, as a lot of fixes are done by moto patching.
Implemented operations:
GetBucketRequestPaymentPutBucketRequestPaymentGetBucketLifecycleConfiguration(had to reimplement it, moto is not validating correctly Transition actions, and will raise exceptions. Would need a bigger rewrite in moto. Needed for Terraform).PutBucketLifecycleConfigurationDeleteBucketLifecycleConfigurationfix object Expires parameter
fix
GetObjectwith range headers, and return proper status codefix restoring object from
DEEP_ARCHIVE, raise error if trying to get an object in that statefix exceptions missing in the specs, or missing members
implement proper DeleteResult for
DeleteObjectsAlso had to regenerate all s3 snapshots as the moving of tests made a lot of changes, it was simpler to regenerate everything from scratch.
Currently having unit tests failing as they are testing patched behaviour against original specs. Will need to fix this before merging.Done, seen with Alex.Sorry this PR is quite large, subsequent PR based on this one will be smaller and implement specific things. This one was quite general.