36 lines
744 B
Go
36 lines
744 B
Go
|
package handler_test
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
|
||
|
. "github.com/tus/tusd/pkg/handler"
|
||
|
)
|
||
|
|
||
|
func TestParseMetadataHeader(t *testing.T) {
|
||
|
a := assert.New(t)
|
||
|
|
||
|
md := ParseMetadataHeader("")
|
||
|
a.Equal(md, map[string]string{})
|
||
|
|
||
|
// Invalidly encoded values are ignored
|
||
|
md = ParseMetadataHeader("k1 INVALID")
|
||
|
a.Equal(md, map[string]string{})
|
||
|
|
||
|
// If the same key occurs multiple times, the last one wins
|
||
|
md = ParseMetadataHeader("k1 aGVsbG8=,k1 d29ybGQ=")
|
||
|
a.Equal(md, map[string]string{
|
||
|
"k1": "world",
|
||
|
})
|
||
|
|
||
|
// Empty values are mapped to an empty string
|
||
|
md = ParseMetadataHeader("k1 aGVsbG8=, k2, k3 , k4 d29ybGQ=")
|
||
|
a.Equal(md, map[string]string{
|
||
|
"k1": "hello",
|
||
|
"k2": "",
|
||
|
"k3": "",
|
||
|
"k4": "world",
|
||
|
})
|
||
|
}
|