Browse Source

fmt

pull/7568/head
Chris Lu 5 days ago
parent
commit
686c345568
  1. 2
      weed/s3api/s3api_object_handlers_copy.go
  2. 23
      weed/s3api/s3api_object_handlers_copy_test.go

2
weed/s3api/s3api_object_handlers_copy.go

@ -303,7 +303,7 @@ func (s3a *S3ApiServer) CopyObjectHandler(w http.ResponseWriter, r *http.Request
// For non-versioned destination, use regular copy // For non-versioned destination, use regular copy
// Remove any versioning-related metadata from source that shouldn't carry over // Remove any versioning-related metadata from source that shouldn't carry over
cleanupVersioningMetadata(dstEntry.Extended) cleanupVersioningMetadata(dstEntry.Extended)
dstPath := util.FullPath(fmt.Sprintf("%s/%s%s", s3a.option.BucketsPath, dstBucket, dstObject)) dstPath := util.FullPath(fmt.Sprintf("%s/%s%s", s3a.option.BucketsPath, dstBucket, dstObject))
dstDir, dstName := dstPath.DirAndName() dstDir, dstName := dstPath.DirAndName()

23
weed/s3api/s3api_object_handlers_copy_test.go

@ -2,12 +2,13 @@ package s3api
import ( import (
"fmt" "fmt"
"github.com/seaweedfs/seaweedfs/weed/s3api/s3_constants"
"net/http" "net/http"
"reflect" "reflect"
"sort" "sort"
"strings" "strings"
"testing" "testing"
"github.com/seaweedfs/seaweedfs/weed/s3api/s3_constants"
) )
type H map[string]string type H map[string]string
@ -442,10 +443,10 @@ func transferHeaderToH(data map[string][]string) H {
// This addresses issue #7505 where copies were incorrectly creating versions for non-versioned buckets. // This addresses issue #7505 where copies were incorrectly creating versions for non-versioned buckets.
func TestShouldCreateVersionForCopy(t *testing.T) { func TestShouldCreateVersionForCopy(t *testing.T) {
testCases := []struct { testCases := []struct {
name string
versioningState string
expectedResult bool
description string
name string
versioningState string
expectedResult bool
description string
}{ }{
{ {
name: "VersioningEnabled", name: "VersioningEnabled",
@ -503,7 +504,7 @@ func TestCleanupVersioningMetadata(t *testing.T) {
removedKeys: []string{s3_constants.ExtVersionIdKey, s3_constants.ExtDeleteMarkerKey, s3_constants.ExtIsLatestKey, s3_constants.ExtETagKey}, removedKeys: []string{s3_constants.ExtVersionIdKey, s3_constants.ExtDeleteMarkerKey, s3_constants.ExtIsLatestKey, s3_constants.ExtETagKey},
}, },
{ {
name: "HandlesEmptyMetadata",
name: "HandlesEmptyMetadata",
sourceMetadata: map[string][]byte{}, sourceMetadata: map[string][]byte{},
expectedKeys: []string{}, expectedKeys: []string{},
removedKeys: []string{s3_constants.ExtVersionIdKey, s3_constants.ExtDeleteMarkerKey, s3_constants.ExtIsLatestKey, s3_constants.ExtETagKey}, removedKeys: []string{s3_constants.ExtVersionIdKey, s3_constants.ExtDeleteMarkerKey, s3_constants.ExtIsLatestKey, s3_constants.ExtETagKey},
@ -511,11 +512,11 @@ func TestCleanupVersioningMetadata(t *testing.T) {
{ {
name: "PreservesNonVersioningMetadata", name: "PreservesNonVersioningMetadata",
sourceMetadata: map[string][]byte{ sourceMetadata: map[string][]byte{
s3_constants.ExtVersionIdKey: []byte("version-456"),
s3_constants.ExtETagKey: []byte("\"def456\""),
"X-Amz-Meta-Custom": []byte("value1"),
"X-Amz-Meta-Another": []byte("value2"),
s3_constants.ExtIsLatestKey: []byte("true"),
s3_constants.ExtVersionIdKey: []byte("version-456"),
s3_constants.ExtETagKey: []byte("\"def456\""),
"X-Amz-Meta-Custom": []byte("value1"),
"X-Amz-Meta-Another": []byte("value2"),
s3_constants.ExtIsLatestKey: []byte("true"),
}, },
expectedKeys: []string{"X-Amz-Meta-Custom", "X-Amz-Meta-Another"}, expectedKeys: []string{"X-Amz-Meta-Custom", "X-Amz-Meta-Another"},
removedKeys: []string{s3_constants.ExtVersionIdKey, s3_constants.ExtETagKey, s3_constants.ExtIsLatestKey}, removedKeys: []string{s3_constants.ExtVersionIdKey, s3_constants.ExtETagKey, s3_constants.ExtIsLatestKey},

Loading…
Cancel
Save