@@ -20,7 +20,7 @@ import (
20
20
)
21
21
22
22
var (
23
- secret = [] byte ( "sssh, it's a secret" )
23
+ secret = "sssh, it's a secret"
24
24
)
25
25
26
26
func TestClients (t * testing.T ) {
@@ -31,31 +31,45 @@ func TestClients(t *testing.T) {
31
31
relativeURLRoot string
32
32
caFile string
33
33
server func (* testing.T , []testserver.TestRequestHandler ) string
34
+ secret string
34
35
}{
35
36
{
36
37
desc : "Socket client" ,
37
38
server : testserver .StartSocketHttpServer ,
39
+ secret : secret ,
38
40
},
39
41
{
40
42
desc : "Socket client with a relative URL at /" ,
41
43
relativeURLRoot : "/" ,
42
44
server : testserver .StartSocketHttpServer ,
45
+ secret : secret ,
43
46
},
44
47
{
45
48
desc : "Socket client with relative URL at /gitlab" ,
46
49
relativeURLRoot : "/gitlab" ,
47
50
server : testserver .StartSocketHttpServer ,
51
+ secret : secret ,
48
52
},
49
53
{
50
54
desc : "Http client" ,
51
55
server : testserver .StartHttpServer ,
56
+ secret : secret ,
52
57
},
53
58
{
54
59
desc : "Https client" ,
55
60
caFile : path .Join (testhelper .TestRoot , "certs/valid/server.crt" ),
56
61
server : func (t * testing.T , handlers []testserver.TestRequestHandler ) string {
57
62
return testserver .StartHttpsServer (t , handlers , "" )
58
63
},
64
+ secret : secret ,
65
+ },
66
+ {
67
+ desc : "Secret with newlines" ,
68
+ caFile : path .Join (testhelper .TestRoot , "certs/valid/server.crt" ),
69
+ server : func (t * testing.T , handlers []testserver.TestRequestHandler ) string {
70
+ return testserver .StartHttpsServer (t , handlers , "" )
71
+ },
72
+ secret : "\n " + secret + "\n " ,
59
73
},
60
74
}
61
75
@@ -66,15 +80,15 @@ func TestClients(t *testing.T) {
66
80
httpClient , err := NewHTTPClientWithOpts (url , tc .relativeURLRoot , tc .caFile , "" , 1 , nil )
67
81
require .NoError (t , err )
68
82
69
- client , err := NewGitlabNetClient ("" , "" , string ( secret ) , httpClient )
83
+ client , err := NewGitlabNetClient ("" , "" , tc . secret , httpClient )
70
84
require .NoError (t , err )
71
85
72
86
testBrokenRequest (t , client )
73
87
testSuccessfulGet (t , client )
74
88
testSuccessfulPost (t , client )
75
89
testMissing (t , client )
76
90
testErrorMessage (t , client )
77
- testAuthenticationHeader (t , client )
91
+ testAuthenticationHeader (t , tc . secret , client )
78
92
testJWTAuthenticationHeader (t , client )
79
93
testXForwardedForHeader (t , client )
80
94
testHostWithTrailingSlash (t , client )
@@ -154,7 +168,7 @@ func testBrokenRequest(t *testing.T, client *GitlabNetClient) {
154
168
})
155
169
}
156
170
157
- func testAuthenticationHeader (t * testing.T , client * GitlabNetClient ) {
171
+ func testAuthenticationHeader (t * testing.T , secret string , client * GitlabNetClient ) {
158
172
t .Run ("Authentication headers for GET" , func (t * testing.T ) {
159
173
response , err := client .Get (context .Background (), "/auth" )
160
174
require .NoError (t , err )
@@ -167,7 +181,7 @@ func testAuthenticationHeader(t *testing.T, client *GitlabNetClient) {
167
181
168
182
header , err := base64 .StdEncoding .DecodeString (string (responseBody ))
169
183
require .NoError (t , err )
170
- require .Equal (t , secret , header )
184
+ require .Equal (t , secret , string ( header ) )
171
185
})
172
186
173
187
t .Run ("Authentication headers for POST" , func (t * testing.T ) {
@@ -182,7 +196,7 @@ func testAuthenticationHeader(t *testing.T, client *GitlabNetClient) {
182
196
183
197
header , err := base64 .StdEncoding .DecodeString (string (responseBody ))
184
198
require .NoError (t , err )
185
- require .Equal (t , secret , header )
199
+ require .Equal (t , secret , string ( header ) )
186
200
})
187
201
}
188
202
@@ -193,7 +207,7 @@ func testJWTAuthenticationHeader(t *testing.T, client *GitlabNetClient) {
193
207
194
208
claims := & jwt.RegisteredClaims {}
195
209
token , err := jwt .ParseWithClaims (string (responseBody ), claims , func (token * jwt.Token ) (interface {}, error ) {
196
- return secret , nil
210
+ return [] byte ( secret ) , nil
197
211
})
198
212
require .NoError (t , err )
199
213
require .True (t , token .Valid )
0 commit comments