mirror of
https://github.com/pgsty/minio.git
synced 2026-03-16 01:26:03 +01:00
convert ETag properly for all gateways (#5099)
Previously ID/ETag from backend service is used as is which causes failure on s3cmd like tools where those tools use ETag as checksum to validate data. This is fixed by prepending "-1". Refer minio/mint#193 minio/mint#201
This commit is contained in:
@@ -293,3 +293,22 @@ func TestDumpRequest(t *testing.T) {
|
||||
t.Fatalf("Expected %#v, got %#v", expectedHeader, res.Header)
|
||||
}
|
||||
}
|
||||
|
||||
// Test toS3ETag()
|
||||
func TestToS3ETag(t *testing.T) {
|
||||
testCases := []struct {
|
||||
etag string
|
||||
expectedETag string
|
||||
}{
|
||||
{`"8019e762"`, `8019e762-1`},
|
||||
{"5d57546eeb86b3eba68967292fba0644", "5d57546eeb86b3eba68967292fba0644-1"},
|
||||
{`"8019e762-1"`, `8019e762-1`},
|
||||
{"5d57546eeb86b3eba68967292fba0644-1", "5d57546eeb86b3eba68967292fba0644-1"},
|
||||
}
|
||||
for i, testCase := range testCases {
|
||||
etag := toS3ETag(testCase.etag)
|
||||
if etag != testCase.expectedETag {
|
||||
t.Fatalf("test %v: expected: %v, got: %v", i+1, testCase.expectedETag, etag)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user