...
1
18
19 package oauth
20
21 import (
22 "strings"
23 "testing"
24 )
25
26 func checkErrorMsg(err error, msg string) bool {
27 if err == nil && msg == "" {
28 return true
29 } else if err != nil {
30 return strings.Contains(err.Error(), msg)
31 }
32 return false
33 }
34
35 func TestRemoveServiceNameFromJWTURI(t *testing.T) {
36 tests := []struct {
37 name string
38 uri string
39 wantedURI string
40 wantedErrMsg string
41 }{
42 {
43 name: "invalid URI",
44 uri: "ht tp://foo.com",
45 wantedErrMsg: "first path segment in URL cannot contain colon",
46 },
47 {
48 name: "valid URI",
49 uri: "https://foo.com/go/",
50 wantedURI: "https://foo.com/",
51 },
52 }
53 for _, tt := range tests {
54 t.Run(tt.name, func(t *testing.T) {
55 if got, err := removeServiceNameFromJWTURI(tt.uri); got != tt.wantedURI || !checkErrorMsg(err, tt.wantedErrMsg) {
56 t.Errorf("RemoveServiceNameFromJWTURI() = %s, %v, want %s, %v", got, err, tt.wantedURI, tt.wantedErrMsg)
57 }
58 })
59 }
60 }
61
View as plain text