1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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])
- })
- }
- }
|