1
0
mirror of https://github.com/oauth2-proxy/oauth2-proxy.git synced 2024-12-10 11:10:27 +02:00
oauth2-proxy/providers/util_test.go

67 lines
1.5 KiB
Go

package providers
import (
"fmt"
"testing"
. "github.com/onsi/gomega"
)
func TestMakeAuhtorizationHeader(t *testing.T) {
testCases := []struct {
name string
prefix string
token string
extraHeaders map[string]string
}{
{
name: "With an empty prefix, token and no additional headers",
prefix: "",
token: "",
extraHeaders: nil,
},
{
name: "With a Bearer token type",
prefix: tokenTypeBearer,
token: "abcdef",
extraHeaders: nil,
},
{
name: "With a Token token type",
prefix: tokenTypeToken,
token: "123456",
extraHeaders: nil,
},
{
name: "With a Bearer token type and Accept application/json",
prefix: tokenTypeToken,
token: "abc",
extraHeaders: map[string]string{
acceptHeader: acceptApplicationJSON,
},
},
{
name: "With a Bearer token type and multiple headers",
prefix: tokenTypeToken,
token: "123",
extraHeaders: map[string]string{
acceptHeader: acceptApplicationJSON,
"foo": "bar",
"key": "value",
},
},
}
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
g := NewWithT(t)
header := makeAuthorizationHeader(tc.prefix, tc.token, tc.extraHeaders)
g.Expect(header.Get("Authorization")).To(Equal(fmt.Sprintf("%s %s", tc.prefix, tc.token)))
for k, v := range tc.extraHeaders {
g.Expect(header.Get(k)).To(Equal(v))
}
})
}
}