diff options
| author | chrislu <chris.lu@gmail.com> | 2022-03-23 01:05:14 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-03-23 01:05:14 -0700 |
| commit | e48764be75d285fe7edfbd88ca7ff419580c48d1 (patch) | |
| tree | 9a4c5553a1179de27983a910d1bc47b4eec4c9a5 /weed/s3api/filer_multipart_test.go | |
| parent | 18ae8943ef599a1cbadfad9598653dc28db01d1f (diff) | |
| download | seaweedfs-e48764be75d285fe7edfbd88ca7ff419580c48d1.tar.xz seaweedfs-e48764be75d285fe7edfbd88ca7ff419580c48d1.zip | |
s3: multipart upload verifies uploaded parts
Diffstat (limited to 'weed/s3api/filer_multipart_test.go')
| -rw-r--r-- | weed/s3api/filer_multipart_test.go | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/weed/s3api/filer_multipart_test.go b/weed/s3api/filer_multipart_test.go index 9e1d2307b..52425b5b2 100644 --- a/weed/s3api/filer_multipart_test.go +++ b/weed/s3api/filer_multipart_test.go @@ -4,6 +4,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/s3" "github.com/chrislusf/seaweedfs/weed/s3api/s3err" + "github.com/stretchr/testify/assert" "testing" "time" ) @@ -48,3 +49,85 @@ func TestListPartsResult(t *testing.T) { } } + +func Test_findByPartNumber(t *testing.T) { + type args struct { + fileName string + parts []CompletedPart + } + + parts := []CompletedPart{ + CompletedPart{ + ETag: "xxx", + PartNumber: 1, + }, + CompletedPart{ + ETag: "yyy", + PartNumber: 3, + }, + CompletedPart{ + ETag: "zzz", + PartNumber: 5, + }, + } + + tests := []struct { + name string + args args + wantEtag string + wantFound bool + }{ + { + "first", + args{ + "0001.part", + parts, + }, + "xxx", + true, + }, + { + "second", + args{ + "0002.part", + parts, + }, + "", + false, + }, + { + "third", + args{ + "0003.part", + parts, + }, + "yyy", + true, + }, + { + "fourth", + args{ + "0004.part", + parts, + }, + "", + false, + }, + { + "fifth", + args{ + "0005.part", + parts, + }, + "zzz", + true, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + gotEtag, gotFound := findByPartNumber(tt.args.fileName, tt.args.parts) + assert.Equalf(t, tt.wantEtag, gotEtag, "findByPartNumber(%v, %v)", tt.args.fileName, tt.args.parts) + assert.Equalf(t, tt.wantFound, gotFound, "findByPartNumber(%v, %v)", tt.args.fileName, tt.args.parts) + }) + } +} |
