add more tests
parent
b82c02ed16
commit
dc286a03f5
@ -0,0 +1,62 @@
|
|||||||
|
package auth
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
"google.golang.org/grpc/metadata"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestParseCredential(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
withNil bool
|
||||||
|
withEmptyMd bool
|
||||||
|
app string
|
||||||
|
token string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "nil",
|
||||||
|
withNil: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "empty md",
|
||||||
|
withEmptyMd: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "empty",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "valid",
|
||||||
|
app: "foo",
|
||||||
|
token: "bar",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, test := range tests {
|
||||||
|
test := test
|
||||||
|
t.Run(test.name, func(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
var ctx context.Context
|
||||||
|
if test.withNil {
|
||||||
|
ctx = context.Background()
|
||||||
|
} else if test.withEmptyMd {
|
||||||
|
ctx = metadata.NewIncomingContext(context.Background(), metadata.MD{})
|
||||||
|
} else {
|
||||||
|
md := metadata.New(map[string]string{
|
||||||
|
"app": test.app,
|
||||||
|
"token": test.token,
|
||||||
|
})
|
||||||
|
ctx = metadata.NewIncomingContext(context.Background(), md)
|
||||||
|
}
|
||||||
|
cred := ParseCredential(ctx)
|
||||||
|
assert.False(t, cred.RequireTransportSecurity())
|
||||||
|
m, err := cred.GetRequestMetadata(context.Background())
|
||||||
|
assert.Nil(t, err)
|
||||||
|
assert.Equal(t, test.app, m[appKey])
|
||||||
|
assert.Equal(t, test.token, m[tokenKey])
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue