headers: merge parsing of key-values

This commit is contained in:
aler9
2021-04-04 14:52:28 +02:00
parent cbb47e158a
commit 5847b507d1
10 changed files with 328 additions and 131 deletions

View File

@@ -173,21 +173,51 @@ var casesAuth = []struct {
}
func TestAuthRead(t *testing.T) {
for _, c := range casesAuth {
t.Run(c.name, func(t *testing.T) {
for _, ca := range casesAuth {
t.Run(ca.name, func(t *testing.T) {
var h Auth
err := h.Read(c.vin)
err := h.Read(ca.vin)
require.NoError(t, err)
require.Equal(t, c.h, h)
require.Equal(t, ca.h, h)
})
}
}
func TestAuthReadError(t *testing.T) {
for _, ca := range []struct {
name string
hv base.HeaderValue
}{
{
"empty",
base.HeaderValue{},
},
{
"2 values",
base.HeaderValue{"a", "b"},
},
{
"no keys",
base.HeaderValue{"Basic"},
},
{
"invalid method",
base.HeaderValue{"Testing key1=val1"},
},
} {
t.Run(ca.name, func(t *testing.T) {
var h Auth
err := h.Read(ca.hv)
require.Error(t, err)
})
}
}
func TestAuthWrite(t *testing.T) {
for _, c := range casesAuth {
t.Run(c.name, func(t *testing.T) {
vout := c.h.Write()
require.Equal(t, c.vout, vout)
for _, ca := range casesAuth {
t.Run(ca.name, func(t *testing.T) {
vout := ca.h.Write()
require.Equal(t, ca.vout, vout)
})
}
}