@@ -29,22 +29,38 @@ import (
29
29
"go.opentelemetry.io/collector/config/confignet"
30
30
"go.opentelemetry.io/collector/config/configopaque"
31
31
"go.opentelemetry.io/collector/config/configtls"
32
+ "go.opentelemetry.io/collector/extension"
32
33
"go.opentelemetry.io/collector/extension/extensionauth"
34
+ "go.opentelemetry.io/collector/extension/extensionauth/extensionauthtest"
33
35
"go.opentelemetry.io/collector/pdata/ptrace/ptraceotlp"
34
36
)
35
37
36
- func mustNewServerAuth (t * testing.T , opts ... extensionauth.ServerOption ) extensionauth.Server {
37
- t .Helper ()
38
- srv , err := extensionauth .NewServer (opts ... )
39
- require .NoError (t , err )
40
- return srv
38
+ var (
39
+ _ extension.Extension = (* mockAuthServer )(nil )
40
+ _ extensionauth.Server = (* mockAuthServer )(nil )
41
+ )
42
+
43
+ type mockAuthServer struct {
44
+ auth func (ctx context.Context , sources map [string ][]string ) (context.Context , error )
41
45
}
42
46
43
- func mustNewClientAuth (t * testing.T , opts ... extensionauth.ClientOption ) extensionauth.Client {
44
- t .Helper ()
45
- client , err := extensionauth .NewClient (opts ... )
46
- require .NoError (t , err )
47
- return client
47
+ // Authenticate implements extensionauth.Server.
48
+ func (m * mockAuthServer ) Authenticate (ctx context.Context , sources map [string ][]string ) (context.Context , error ) {
49
+ return m .auth (ctx , sources )
50
+ }
51
+
52
+ // Shutdown implements extension.Extension.
53
+ func (m * mockAuthServer ) Shutdown (context.Context ) error {
54
+ return nil
55
+ }
56
+
57
+ // Start implements extension.Extension.
58
+ func (m * mockAuthServer ) Start (context.Context , component.Host ) error {
59
+ return nil
60
+ }
61
+
62
+ func newMockAuthServer (auth func (ctx context.Context , sources map [string ][]string ) (context.Context , error )) extensionauth.Server {
63
+ return & mockAuthServer {auth : auth }
48
64
}
49
65
50
66
func TestNewDefaultKeepaliveClientConfig (t * testing.T ) {
@@ -177,7 +193,7 @@ func TestAllGrpcClientSettings(t *testing.T) {
177
193
},
178
194
host : & mockHost {
179
195
ext : map [component.ID ]component.Component {
180
- testAuthID : mustNewClientAuth ( t ),
196
+ testAuthID : extensionauthtest . NewNopClient ( ),
181
197
},
182
198
},
183
199
},
@@ -206,7 +222,7 @@ func TestAllGrpcClientSettings(t *testing.T) {
206
222
},
207
223
host : & mockHost {
208
224
ext : map [component.ID ]component.Component {
209
- testAuthID : mustNewClientAuth ( t ),
225
+ testAuthID : extensionauthtest . NewNopClient ( ),
210
226
},
211
227
},
212
228
},
@@ -235,7 +251,7 @@ func TestAllGrpcClientSettings(t *testing.T) {
235
251
},
236
252
host : & mockHost {
237
253
ext : map [component.ID ]component.Component {
238
- testAuthID : mustNewClientAuth ( t ),
254
+ testAuthID : extensionauthtest . NewNopClient ( ),
239
255
},
240
256
},
241
257
},
@@ -415,7 +431,7 @@ func TestGrpcServerAuthSettings(t *testing.T) {
415
431
416
432
host := & mockHost {
417
433
ext : map [component.ID ]component.Component {
418
- mockID : mustNewServerAuth ( t ),
434
+ mockID : extensionauthtest . NewNopServer ( ),
419
435
},
420
436
}
421
437
srv , err := gss .ToServer (context .Background (), host , componenttest .NewNopTelemetrySettings ())
@@ -990,7 +1006,7 @@ func TestDefaultUnaryInterceptorAuthSucceeded(t *testing.T) {
990
1006
ctx := metadata .NewIncomingContext (context .Background (), metadata .Pairs ("authorization" , "some-auth-data" ))
991
1007
992
1008
// test
993
- res , err := authUnaryServerInterceptor (ctx , nil , & grpc.UnaryServerInfo {}, handler , mustNewServerAuth ( t , extensionauth . WithServerAuthenticate ( authFunc ) ))
1009
+ res , err := authUnaryServerInterceptor (ctx , nil , & grpc.UnaryServerInfo {}, handler , newMockAuthServer ( authFunc ))
994
1010
995
1011
// verify
996
1012
assert .Nil (t , res )
@@ -1014,7 +1030,7 @@ func TestDefaultUnaryInterceptorAuthFailure(t *testing.T) {
1014
1030
ctx := metadata .NewIncomingContext (context .Background (), metadata .Pairs ("authorization" , "some-auth-data" ))
1015
1031
1016
1032
// test
1017
- res , err := authUnaryServerInterceptor (ctx , nil , & grpc.UnaryServerInfo {}, handler , mustNewServerAuth ( t , extensionauth . WithServerAuthenticate ( authFunc ) ))
1033
+ res , err := authUnaryServerInterceptor (ctx , nil , & grpc.UnaryServerInfo {}, handler , newMockAuthServer ( authFunc ))
1018
1034
1019
1035
// verify
1020
1036
assert .Nil (t , res )
@@ -1035,7 +1051,7 @@ func TestDefaultUnaryInterceptorMissingMetadata(t *testing.T) {
1035
1051
}
1036
1052
1037
1053
// test
1038
- res , err := authUnaryServerInterceptor (context .Background (), nil , & grpc.UnaryServerInfo {}, handler , mustNewServerAuth ( t , extensionauth . WithServerAuthenticate ( authFunc ) ))
1054
+ res , err := authUnaryServerInterceptor (context .Background (), nil , & grpc.UnaryServerInfo {}, handler , newMockAuthServer ( authFunc ))
1039
1055
1040
1056
// verify
1041
1057
assert .Nil (t , res )
@@ -1066,7 +1082,7 @@ func TestDefaultStreamInterceptorAuthSucceeded(t *testing.T) {
1066
1082
}
1067
1083
1068
1084
// test
1069
- err := authStreamServerInterceptor (nil , streamServer , & grpc.StreamServerInfo {}, handler , mustNewServerAuth ( t , extensionauth . WithServerAuthenticate ( authFunc ) ))
1085
+ err := authStreamServerInterceptor (nil , streamServer , & grpc.StreamServerInfo {}, handler , newMockAuthServer ( authFunc ))
1070
1086
1071
1087
// verify
1072
1088
require .NoError (t , err )
@@ -1092,7 +1108,7 @@ func TestDefaultStreamInterceptorAuthFailure(t *testing.T) {
1092
1108
}
1093
1109
1094
1110
// test
1095
- err := authStreamServerInterceptor (nil , streamServer , & grpc.StreamServerInfo {}, handler , mustNewServerAuth ( t , extensionauth . WithServerAuthenticate ( authFunc ) ))
1111
+ err := authStreamServerInterceptor (nil , streamServer , & grpc.StreamServerInfo {}, handler , newMockAuthServer ( authFunc ))
1096
1112
1097
1113
// verify
1098
1114
require .ErrorContains (t , err , expectedErr .Error ()) // unfortunately, grpc errors don't wrap the original ones
@@ -1115,7 +1131,7 @@ func TestDefaultStreamInterceptorMissingMetadata(t *testing.T) {
1115
1131
}
1116
1132
1117
1133
// test
1118
- err := authStreamServerInterceptor (nil , streamServer , & grpc.StreamServerInfo {}, handler , mustNewServerAuth ( t , extensionauth . WithServerAuthenticate ( authFunc ) ))
1134
+ err := authStreamServerInterceptor (nil , streamServer , & grpc.StreamServerInfo {}, handler , newMockAuthServer ( authFunc ))
1119
1135
1120
1136
// verify
1121
1137
assert .Equal (t , errMetadataNotFound , err )
0 commit comments