refactor: migrate from deprecated s3/manager to s3/transfermanager
Replace feature/s3/manager (deprecated) with feature/s3/transfermanager. Updates Uploader interface, constructor, and all tests to use the new UploadObject API with transfermanager types. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+10
-10
@@ -10,17 +10,17 @@ import (
|
||||
|
||||
"github.com/aws/aws-sdk-go-v2/aws"
|
||||
v4 "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
|
||||
"github.com/aws/aws-sdk-go-v2/feature/s3/manager"
|
||||
"github.com/aws/aws-sdk-go-v2/feature/s3/transfermanager"
|
||||
"github.com/aws/aws-sdk-go-v2/service/s3"
|
||||
)
|
||||
|
||||
// Mock implementations for testing
|
||||
|
||||
type mockUploader struct {
|
||||
uploadFunc func(ctx context.Context, input *s3.PutObjectInput, opts ...func(*manager.Uploader)) (*manager.UploadOutput, error)
|
||||
uploadFunc func(ctx context.Context, input *transfermanager.UploadObjectInput, opts ...func(*transfermanager.Options)) (*transfermanager.UploadObjectOutput, error)
|
||||
}
|
||||
|
||||
func (m *mockUploader) Upload(ctx context.Context, input *s3.PutObjectInput, opts ...func(*manager.Uploader)) (*manager.UploadOutput, error) {
|
||||
func (m *mockUploader) UploadObject(ctx context.Context, input *transfermanager.UploadObjectInput, opts ...func(*transfermanager.Options)) (*transfermanager.UploadObjectOutput, error) {
|
||||
return m.uploadFunc(ctx, input, opts...)
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ func TestStore_WithUploadManager_Success(t *testing.T) {
|
||||
expectedURL := "https://s3.amazonaws.com/test-bucket/path/to/file.pdf?presigned=true"
|
||||
|
||||
mockUploader := &mockUploader{
|
||||
uploadFunc: func(ctx context.Context, input *s3.PutObjectInput, opts ...func(*manager.Uploader)) (*manager.UploadOutput, error) {
|
||||
uploadFunc: func(ctx context.Context, input *transfermanager.UploadObjectInput, opts ...func(*transfermanager.Options)) (*transfermanager.UploadObjectOutput, error) {
|
||||
// Verify input parameters
|
||||
if *input.Bucket != testBucket {
|
||||
t.Errorf("Expected bucket %s, got %s", testBucket, *input.Bucket)
|
||||
@@ -99,7 +99,7 @@ func TestStore_WithUploadManager_Success(t *testing.T) {
|
||||
t.Errorf("Expected content %s, got %s", testContent, string(body))
|
||||
}
|
||||
|
||||
return &manager.UploadOutput{
|
||||
return &transfermanager.UploadObjectOutput{
|
||||
Key: aws.String(testPath),
|
||||
}, nil
|
||||
},
|
||||
@@ -149,7 +149,7 @@ func TestStore_WithUploadManager_UploadError(t *testing.T) {
|
||||
expectedError := errors.New("upload failed")
|
||||
|
||||
mockUploader := &mockUploader{
|
||||
uploadFunc: func(ctx context.Context, input *s3.PutObjectInput, opts ...func(*manager.Uploader)) (*manager.UploadOutput, error) {
|
||||
uploadFunc: func(ctx context.Context, input *transfermanager.UploadObjectInput, opts ...func(*transfermanager.Options)) (*transfermanager.UploadObjectOutput, error) {
|
||||
return nil, expectedError
|
||||
},
|
||||
}
|
||||
@@ -191,8 +191,8 @@ func TestStore_WithUploadManager_PresignError(t *testing.T) {
|
||||
expectedError := errors.New("presign failed")
|
||||
|
||||
mockUploader := &mockUploader{
|
||||
uploadFunc: func(ctx context.Context, input *s3.PutObjectInput, opts ...func(*manager.Uploader)) (*manager.UploadOutput, error) {
|
||||
return &manager.UploadOutput{
|
||||
uploadFunc: func(ctx context.Context, input *transfermanager.UploadObjectInput, opts ...func(*transfermanager.Options)) (*transfermanager.UploadObjectOutput, error) {
|
||||
return &transfermanager.UploadObjectOutput{
|
||||
Key: aws.String(testPath),
|
||||
}, nil
|
||||
},
|
||||
@@ -390,8 +390,8 @@ func TestStore_PresignExpiry(t *testing.T) {
|
||||
var capturedExpiry time.Duration
|
||||
|
||||
mockUploader := &mockUploader{
|
||||
uploadFunc: func(ctx context.Context, input *s3.PutObjectInput, opts ...func(*manager.Uploader)) (*manager.UploadOutput, error) {
|
||||
return &manager.UploadOutput{Key: aws.String(testPath)}, nil
|
||||
uploadFunc: func(ctx context.Context, input *transfermanager.UploadObjectInput, opts ...func(*transfermanager.Options)) (*transfermanager.UploadObjectOutput, error) {
|
||||
return &transfermanager.UploadObjectOutput{Key: aws.String(testPath)}, nil
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user