@@ -1183,12 +1183,6 @@ type oauth2TestServerResponse struct {
1183
1183
1184
1184
func TestOAuth2 (t * testing.T ) {
1185
1185
ts := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
1186
- if r .URL .Path == "/token" {
1187
- if r .Header .Get ("User-Agent" ) != "myuseragent" {
1188
- t .Fatalf ("Expected User-Agent header in oauth request to be 'myuseragent', got '%s'" , r .Header .Get ("User-Agent" ))
1189
- }
1190
- }
1191
-
1192
1186
res , _ := json .Marshal (oauth2TestServerResponse {
1193
1187
AccessToken : "12345" ,
1194
1188
TokenType : "Bearer" ,
@@ -1205,7 +1199,6 @@ scopes:
1205
1199
- A
1206
1200
- B
1207
1201
token_url: %s/token
1208
- user_agent: myuseragent
1209
1202
endpoint_params:
1210
1203
hi: hello
1211
1204
` , ts .URL )
@@ -1215,7 +1208,6 @@ endpoint_params:
1215
1208
Scopes : []string {"A" , "B" },
1216
1209
EndpointParams : map [string ]string {"hi" : "hello" },
1217
1210
TokenURL : fmt .Sprintf ("%s/token" , ts .URL ),
1218
- UserAgent : "myuseragent" ,
1219
1211
}
1220
1212
1221
1213
var unmarshalledConfig OAuth2
@@ -1227,7 +1219,7 @@ endpoint_params:
1227
1219
t .Fatalf ("Got unmarshalled config %v, expected %v" , unmarshalledConfig , expectedConfig )
1228
1220
}
1229
1221
1230
- rt := NewOAuth2RoundTripper (& expectedConfig , http .DefaultTransport )
1222
+ rt := NewOAuth2RoundTripper (& expectedConfig , http .DefaultTransport , & defaultHTTPClientOptions )
1231
1223
1232
1224
client := http.Client {
1233
1225
Transport : rt ,
@@ -1240,6 +1232,50 @@ endpoint_params:
1240
1232
}
1241
1233
}
1242
1234
1235
+ func TestOAuth2UserAgent (t * testing.T ) {
1236
+ ts := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
1237
+ if r .URL .Path != "/" {
1238
+ if r .Header .Get ("User-Agent" ) != "myuseragent" {
1239
+ t .Fatalf ("Expected User-Agent header in oauth request to be 'myuseragent', got '%s'" , r .Header .Get ("User-Agent" ))
1240
+ }
1241
+ }
1242
+
1243
+ res , _ := json .Marshal (oauth2TestServerResponse {
1244
+ AccessToken : "12345" ,
1245
+ TokenType : "Bearer" ,
1246
+ })
1247
+ w .Header ().Add ("Content-Type" , "application/json" )
1248
+ _ , _ = w .Write (res )
1249
+ }))
1250
+ defer ts .Close ()
1251
+
1252
+ config := & OAuth2 {
1253
+ ClientID : "1" ,
1254
+ ClientSecret : "2" ,
1255
+ Scopes : []string {"A" , "B" },
1256
+ EndpointParams : map [string ]string {"hi" : "hello" },
1257
+ TokenURL : fmt .Sprintf ("%s/token" , ts .URL ),
1258
+ }
1259
+
1260
+ opts := defaultHTTPClientOptions
1261
+ WithUserAgent ("myuseragent" )(& opts )
1262
+
1263
+ rt := NewOAuth2RoundTripper (config , http .DefaultTransport , & opts )
1264
+
1265
+ client := http.Client {
1266
+ Transport : rt ,
1267
+ }
1268
+ resp , err := client .Get (ts .URL )
1269
+ if err != nil {
1270
+ t .Fatal (err )
1271
+ }
1272
+
1273
+ authorization := resp .Request .Header .Get ("Authorization" )
1274
+ if authorization != "Bearer 12345" {
1275
+ t .Fatalf ("Expected authorization header to be 'Bearer 12345', got '%s'" , authorization )
1276
+ }
1277
+ }
1278
+
1243
1279
func TestOAuth2WithFile (t * testing.T ) {
1244
1280
var expectedAuth * string
1245
1281
var previousAuth string
@@ -1302,7 +1338,7 @@ endpoint_params:
1302
1338
t .Fatalf ("Got unmarshalled config %v, expected %v" , unmarshalledConfig , expectedConfig )
1303
1339
}
1304
1340
1305
- rt := NewOAuth2RoundTripper (& expectedConfig , http .DefaultTransport )
1341
+ rt := NewOAuth2RoundTripper (& expectedConfig , http .DefaultTransport , & defaultHTTPClientOptions )
1306
1342
1307
1343
client := http.Client {
1308
1344
Transport : rt ,
@@ -1496,10 +1532,3 @@ func TestOAuth2Proxy(t *testing.T) {
1496
1532
t .Errorf ("Error loading OAuth2 client config: %v" , err )
1497
1533
}
1498
1534
}
1499
-
1500
- func TestOAuth2UserAgent (t * testing.T ) {
1501
- _ , _ , err := LoadHTTPConfigFile ("testdata/http.conf.oauth2-user-agent.good.yml" )
1502
- if err != nil {
1503
- t .Errorf ("Error loading OAuth2 client config: %v" , err )
1504
- }
1505
- }
0 commit comments