test: Add integration tests and fix bugs found by them#59
Merged
Conversation
0dd951f to
7890737
Compare
- Buffer PutObject body into bytes.Reader so the AWS SDK can seek for payload signing over HTTP (non-TLS) endpoints - Support x-amz-metadata-directive in CopyObject handler: REPLACE uses request headers, COPY (default) preserves source metadata
7890737 to
66b8055
Compare
- Add Go SDK test container (Dockerfile.sdk) to E2E suite, running s3 integration tests against s2-server over HTTP - Add metadata E2E cases: PutObjectWithMetadata, CopyObjectPreservesMetadata, CopyObjectReplaceMetadata - Update Makefile to run both AWS CLI and SDK tests in test-e2e
7eac0c6 to
a6905cd
Compare
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
Depends on #57.
//go:build integtestintegration tests for s3, gcs, and azblob backendsHeadObject404 now correctly maps tos2.ErrNotExist(was only handlingNoSuchKey, notNotFound)PutObjectbody intobytes.Readerso the AWS SDK can seek for payload signing over HTTP endpointsx-amz-metadata-directiveinCopyObject—REPLACEuses request headers,COPY(default) preserves source metadataRunning integration tests
Test plan
golangci-lint run ./...reports 0 issues