7
7
"io/ioutil"
8
8
"net/http"
9
9
"net/http/httptest"
10
+ "net/url"
10
11
"reflect"
11
12
"sort"
12
13
"strconv"
@@ -17,8 +18,12 @@ import (
17
18
"k8s.io/apiserver/pkg/authentication/authenticator"
18
19
"k8s.io/apiserver/pkg/authentication/request/bearertoken"
19
20
"k8s.io/apiserver/pkg/authentication/user"
21
+ "k8s.io/apiserver/pkg/server"
20
22
23
+ "github.com/jetstack/kube-oidc-proxy/cmd/app/options"
21
24
"github.com/jetstack/kube-oidc-proxy/pkg/mocks"
25
+ "github.com/jetstack/kube-oidc-proxy/pkg/proxy/audit"
26
+ "github.com/jetstack/kube-oidc-proxy/pkg/proxy/hooks"
22
27
)
23
28
24
29
type fakeProxy struct {
@@ -249,7 +254,7 @@ func TestHasImpersonation(t *testing.T) {
249
254
}
250
255
}
251
256
252
- func newTestProxy (t * testing.T ) * fakeProxy {
257
+ func newTestProxy (t * testing.T ) ( * fakeProxy , error ) {
253
258
ctrl := gomock .NewController (t )
254
259
fakeToken := mocks .NewMockToken (ctrl )
255
260
fakeRT := & fakeRT {t : t }
@@ -263,12 +268,19 @@ func newTestProxy(t *testing.T) *fakeProxy {
263
268
clientTransport : fakeRT ,
264
269
noAuthClientTransport : fakeRT ,
265
270
config : new (Config ),
271
+ hooks : hooks .New (),
266
272
},
267
273
}
268
274
275
+ auditor , err := audit .New (new (options.AuditOptions ), "0.0.0.0:1234" , new (server.SecureServingInfo ))
276
+ if err != nil {
277
+ return nil , err
278
+ }
279
+ p .auditor = auditor
280
+
269
281
p .handleError = p .newErrorHandler ()
270
282
271
- return p
283
+ return p , nil
272
284
}
273
285
274
286
func TestHandlers (t * testing.T ) {
@@ -525,7 +537,12 @@ func TestHandlers(t *testing.T) {
525
537
526
538
for name , test := range tests {
527
539
t .Run (name , func (t * testing.T ) {
528
- p := newTestProxy (t )
540
+ p , err := newTestProxy (t )
541
+ if err != nil {
542
+ t .Errorf ("unexpected error: %s" , err )
543
+ t .FailNow ()
544
+ }
545
+
529
546
w := httptest .NewRecorder ()
530
547
531
548
if test .authResponse != nil {
@@ -549,6 +566,9 @@ func TestHandlers(t *testing.T) {
549
566
t .FailNow ()
550
567
}
551
568
})
569
+
570
+ test .req .URL = new (url.URL )
571
+
552
572
handler = p .withHandlers (handler )
553
573
handler .ServeHTTP (w , test .req )
554
574
@@ -629,7 +649,12 @@ func TestHeadersConfig(t *testing.T) {
629
649
630
650
for name , test := range tests {
631
651
t .Run (name , func (t * testing.T ) {
632
- p := newTestProxy (t )
652
+ p , err := newTestProxy (t )
653
+ if err != nil {
654
+ t .Errorf ("unexpected error: %s" , err )
655
+ t .FailNow ()
656
+ }
657
+
633
658
p .config = test .config
634
659
w := httptest .NewRecorder ()
635
660
@@ -638,6 +663,7 @@ func TestHeadersConfig(t *testing.T) {
638
663
"Authorization" : []string {"bearer fake-token" },
639
664
},
640
665
RemoteAddr : remoteAddr ,
666
+ URL : new (url.URL ),
641
667
}
642
668
643
669
authResponse := & authenticator.Response {
@@ -661,6 +687,7 @@ func TestHeadersConfig(t *testing.T) {
661
687
t .FailNow ()
662
688
}
663
689
})
690
+
664
691
handler = p .withHandlers (handler )
665
692
handler .ServeHTTP (w , req )
666
693
0 commit comments