forked from TrueCloudLab/frostfs-s3-gw
77 lines
1.4 KiB
Go
77 lines
1.4 KiB
Go
// This is https://github.com/aws/aws-sdk-go-v2/blob/a2b751d1ba71f59175a41f9cae5f159f1044360f/internal/v4a/internal/v4/tuil_test.go
|
|
|
|
package v4
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestStripExcessHeaders(t *testing.T) {
|
|
vals := []string{
|
|
"",
|
|
"123",
|
|
"1 2 3",
|
|
"1 2 3 ",
|
|
" 1 2 3",
|
|
"1 2 3",
|
|
"1 23",
|
|
"1 2 3",
|
|
"1 2 ",
|
|
" 1 2 ",
|
|
"12 3",
|
|
"12 3 1",
|
|
"12 3 1",
|
|
"12 3 1abc123",
|
|
}
|
|
|
|
expected := []string{
|
|
"",
|
|
"123",
|
|
"1 2 3",
|
|
"1 2 3",
|
|
"1 2 3",
|
|
"1 2 3",
|
|
"1 23",
|
|
"1 2 3",
|
|
"1 2",
|
|
"1 2",
|
|
"12 3",
|
|
"12 3 1",
|
|
"12 3 1",
|
|
"12 3 1abc123",
|
|
}
|
|
|
|
for i := 0; i < len(vals); i++ {
|
|
r := StripExcessSpaces(vals[i])
|
|
if e, a := expected[i], r; e != a {
|
|
t.Errorf("%d, expect %v, got %v", i, e, a)
|
|
}
|
|
}
|
|
}
|
|
|
|
var stripExcessSpaceCases = []string{
|
|
`AWS4-HMAC-SHA256 Credential=AKIDFAKEIDFAKEID/20160628/us-west-2/s3/aws4_request, SignedHeaders=host;x-amz-date, Signature=1234567890abcdef1234567890abcdef1234567890abcdef`,
|
|
`123 321 123 321`,
|
|
` 123 321 123 321 `,
|
|
` 123 321 123 321 `,
|
|
"123",
|
|
"1 2 3",
|
|
" 1 2 3",
|
|
"1 2 3",
|
|
"1 23",
|
|
"1 2 3",
|
|
"1 2 ",
|
|
" 1 2 ",
|
|
"12 3",
|
|
"12 3 1",
|
|
"12 3 1",
|
|
"12 3 1abc123",
|
|
}
|
|
|
|
func BenchmarkStripExcessSpaces(b *testing.B) {
|
|
for i := 0; i < b.N; i++ {
|
|
for _, v := range stripExcessSpaceCases {
|
|
StripExcessSpaces(v)
|
|
}
|
|
}
|
|
}
|