This repository has been archived by the owner on Dec 4, 2023. It is now read-only.
In-Memory Provider for Object and Metadata storage #37
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 is an attempt to implement the in-memory backend mentioned in #25 . I believe it to be complete (on the same level as
FileProvider
, but am happy to work on/rework any part of it, or abandon it altogether should another solution be preferable.In terms of the behaviour, it should be mostly identical with the existing
FileProvider
, apart from:ListBucket
requests.FileProvider
seems to return0
for all.NoSuchBucketException
when a delete request is received against a nonexistent bucket.FileProvider
throwsNoSuchKeyException
only. The correct semantics are unclear to me.The most invasive changes have been to the test suite, as I was trying to find a way to automatically run the tests for both providers. I have tried to keep the changes clean (the github diff viewer marks huge blocks as changed, but it's mostly indentation due to wrapping the tests in an encapsulating method), but I'm not an expert in scalatest at all, so there may be a preferable way to do this.
Thanks for creating s3mock!