mirror of
https://github.com/grafana/grafana.git
synced 2025-02-11 16:15:42 -06:00
75 lines
2.4 KiB
Go
75 lines
2.4 KiB
Go
|
package loki
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
)
|
||
|
|
||
|
func TestGetHeadersForCallResource(t *testing.T) {
|
||
|
const idTokn1 = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
|
||
|
const idTokn2 = "eyJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiSm9obiBEb2UiLCJleHAiOjE2Njg2MjExODQsImlhdCI6MTY2ODYyMTE4NH0.bg0Y0S245DeANhNnnLBCfGYBseTld29O0xynhQwZZlU"
|
||
|
const authTokn1 = "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
|
||
|
const authTokn2 = "Bearer eyJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoiSm9obiBEb2UiLCJleHAiOjE2Njg2MjExODQsImlhdCI6MTY2ODYyMTE4NH0.bg0Y0S245DeANhNnnLBCfGYBseTld29O0xynhQwZZlU"
|
||
|
|
||
|
testCases := map[string]struct {
|
||
|
headers map[string][]string
|
||
|
expectedHeaders map[string]string
|
||
|
}{
|
||
|
"Headers with empty value": {
|
||
|
headers: map[string][]string{
|
||
|
"X-Grafana-Org-Id": {"1"},
|
||
|
"Cookie": {""},
|
||
|
"X-Id-Token": {""},
|
||
|
"Accept-Encoding": {""},
|
||
|
"Authorization": {""},
|
||
|
},
|
||
|
expectedHeaders: map[string]string{},
|
||
|
},
|
||
|
"Headers with multiple values": {
|
||
|
headers: map[string][]string{
|
||
|
"Authorization": {authTokn1, authTokn2},
|
||
|
"Cookie": {"a=1"},
|
||
|
"X-Grafana-Org-Id": {"1"},
|
||
|
"Accept-Encoding": {"gzip", "compress"},
|
||
|
"X-Id-Token": {idTokn1, idTokn2},
|
||
|
},
|
||
|
expectedHeaders: map[string]string{
|
||
|
"Authorization": authTokn1,
|
||
|
"Cookie": "a=1",
|
||
|
"Accept-Encoding": "gzip",
|
||
|
"X-ID-Token": idTokn1,
|
||
|
},
|
||
|
},
|
||
|
"Headers with single value": {
|
||
|
headers: map[string][]string{
|
||
|
"Authorization": {authTokn1},
|
||
|
"X-Grafana-Org-Id": {"1"},
|
||
|
"Cookie": {"a=1"},
|
||
|
"Accept-Encoding": {"gzip"},
|
||
|
"X-Id-Token": {idTokn1},
|
||
|
},
|
||
|
expectedHeaders: map[string]string{
|
||
|
"Authorization": authTokn1,
|
||
|
"Cookie": "a=1",
|
||
|
"Accept-Encoding": "gzip",
|
||
|
"X-ID-Token": idTokn1,
|
||
|
},
|
||
|
},
|
||
|
"Non Canonical 'X-Id-Token' header key": {
|
||
|
headers: map[string][]string{
|
||
|
"X-ID-TOKEN": {idTokn1},
|
||
|
},
|
||
|
expectedHeaders: map[string]string{
|
||
|
"X-ID-Token": idTokn1,
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
for name, test := range testCases {
|
||
|
t.Run(name, func(t *testing.T) {
|
||
|
headers := getHeadersForCallResource(test.headers)
|
||
|
assert.Equal(t, test.expectedHeaders, headers)
|
||
|
})
|
||
|
}
|
||
|
}
|