Skip to content

Commit f35fb34

Browse files
authz: modify the tests to use stubserver instead of testservice implementations (#7888)
1 parent aad8a12 commit f35fb34

File tree

3 files changed

+145
-159
lines changed

3 files changed

+145
-159
lines changed

authz/audit/audit_logging_test.go

+25-32
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import (
2424
"crypto/x509"
2525
"encoding/json"
2626
"io"
27-
"net"
2827
"os"
2928
"testing"
3029
"time"
@@ -240,23 +239,24 @@ func (s) TestAuditLogger(t *testing.T) {
240239
wantStreamingCallCode: codes.PermissionDenied,
241240
},
242241
}
243-
// Construct the credentials for the tests and the stub server
244-
serverCreds := loadServerCreds(t)
245-
clientCreds := loadClientCreds(t)
246-
ss := &stubserver.StubServer{
247-
UnaryCallF: func(ctx context.Context, in *testpb.SimpleRequest) (*testpb.SimpleResponse, error) {
248-
return &testpb.SimpleResponse{}, nil
249-
},
250-
FullDuplexCallF: func(stream testgrpc.TestService_FullDuplexCallServer) error {
251-
_, err := stream.Recv()
252-
if err != io.EOF {
253-
return err
254-
}
255-
return nil
256-
},
257-
}
242+
258243
for _, test := range tests {
259244
t.Run(test.name, func(t *testing.T) {
245+
// Construct the credentials for the tests and the stub server
246+
serverCreds := loadServerCreds(t)
247+
clientCreds := loadClientCreds(t)
248+
ss := &stubserver.StubServer{
249+
UnaryCallF: func(ctx context.Context, in *testpb.SimpleRequest) (*testpb.SimpleResponse, error) {
250+
return &testpb.SimpleResponse{}, nil
251+
},
252+
FullDuplexCallF: func(stream testgrpc.TestService_FullDuplexCallServer) error {
253+
_, err := stream.Recv()
254+
if err != io.EOF {
255+
return err
256+
}
257+
return nil
258+
},
259+
}
260260
// Setup test statAuditLogger, gRPC test server with authzPolicy, unary
261261
// and stream interceptors.
262262
lb := &loggerBuilder{
@@ -266,25 +266,18 @@ func (s) TestAuditLogger(t *testing.T) {
266266
audit.RegisterLoggerBuilder(lb)
267267
i, _ := authz.NewStatic(test.authzPolicy)
268268

269-
s := grpc.NewServer(
270-
grpc.Creds(serverCreds),
271-
grpc.ChainUnaryInterceptor(i.UnaryInterceptor),
272-
grpc.ChainStreamInterceptor(i.StreamInterceptor))
269+
s := grpc.NewServer(grpc.Creds(serverCreds), grpc.ChainUnaryInterceptor(i.UnaryInterceptor), grpc.ChainStreamInterceptor(i.StreamInterceptor))
273270
defer s.Stop()
274-
testgrpc.RegisterTestServiceServer(s, ss)
275-
lis, err := net.Listen("tcp", "localhost:0")
276-
if err != nil {
277-
t.Fatalf("Error listening: %v", err)
278-
}
279-
go s.Serve(lis)
271+
ss.S = s
272+
stubserver.StartTestService(t, ss)
280273

281274
// Setup gRPC test client with certificates containing a SPIFFE Id.
282-
clientConn, err := grpc.NewClient(lis.Addr().String(), grpc.WithTransportCredentials(clientCreds))
275+
cc, err := grpc.NewClient(ss.Address, grpc.WithTransportCredentials(clientCreds))
283276
if err != nil {
284-
t.Fatalf("grpc.NewClient(%v) failed: %v", lis.Addr().String(), err)
277+
t.Fatalf("grpc.NewClient(%v) failed: %v", ss.Address, err)
285278
}
286-
defer clientConn.Close()
287-
client := testgrpc.NewTestServiceClient(clientConn)
279+
defer cc.Close()
280+
client := testgrpc.NewTestServiceClient(cc)
288281
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
289282
defer cancel()
290283

@@ -296,15 +289,15 @@ func (s) TestAuditLogger(t *testing.T) {
296289
}
297290
stream, err := client.StreamingInputCall(ctx)
298291
if err != nil {
299-
t.Fatalf("StreamingInputCall failed:%v", err)
292+
t.Fatalf("StreamingInputCall failed: %v", err)
300293
}
301294
req := &testpb.StreamingInputCallRequest{
302295
Payload: &testpb.Payload{
303296
Body: []byte("hi"),
304297
},
305298
}
306299
if err := stream.Send(req); err != nil && err != io.EOF {
307-
t.Fatalf("stream.Send failed:%v", err)
300+
t.Fatalf("stream.Send failed: %v", err)
308301
}
309302
if _, err := stream.CloseAndRecv(); status.Code(err) != test.wantStreamingCallCode {
310303
t.Errorf("Unexpected stream.CloseAndRecv fail: got %v want %v", err, test.wantStreamingCallCode)

0 commit comments

Comments
 (0)