mirror of
https://github.com/oauth2-proxy/oauth2-proxy.git
synced 2024-12-10 11:10:27 +02:00
67 lines
1.5 KiB
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))
|
|
}
|
|
})
|
|
}
|
|
}
|