1
0
mirror of https://github.com/go-micro/go-micro.git synced 2024-12-18 08:26:38 +02:00
go-micro/util/ctx/ctx_test.go

42 lines
747 B
Go
Raw Normal View History

2019-05-31 00:52:10 +02:00
package ctx
import (
"net/http"
"testing"
2021-10-12 13:55:53 +02:00
"go-micro.dev/v4/metadata"
2019-05-31 00:52:10 +02:00
)
func TestRequestToContext(t *testing.T) {
testData := []struct {
request *http.Request
expect metadata.Metadata
}{
{
&http.Request{
Header: http.Header{
2019-12-31 15:53:48 +02:00
"Foo1": []string{"bar"},
"Foo2": []string{"bar", "baz"},
2019-05-31 00:52:10 +02:00
},
},
metadata.Metadata{
2019-12-31 15:53:48 +02:00
"Foo1": "bar",
"Foo2": "bar,baz",
2019-05-31 00:52:10 +02:00
},
},
}
for _, d := range testData {
ctx := FromRequest(d.request)
md, ok := metadata.FromContext(ctx)
if !ok {
t.Fatalf("Expected metadata for request %+v", d.request)
}
for k, v := range d.expect {
if val := md[k]; val != v {
t.Fatalf("Expected %s for key %s for expected md %+v, got md %+v", v, k, d.expect, md)
}
}
}
}