// NewServer creates a new in-memory fake server implementing the logging service. // It returns the address of the server. func NewServer() (string, error) { srv, err := testutil.NewServer() if err != nil { return "", err } logpb.RegisterLoggingServiceV2Server(srv.Gsrv, &loggingHandler{ logs: make(map[string][]*logpb.LogEntry), }) logpb.RegisterConfigServiceV2Server(srv.Gsrv, &configHandler{ sinks: make(map[string]*logpb.LogSink), }) logpb.RegisterMetricsServiceV2Server(srv.Gsrv, &metricHandler{ metrics: make(map[string]*logpb.LogMetric), }) srv.Start() return srv.Addr, nil }
func TestMain(m *testing.M) { flag.Parse() serv := grpc.NewServer() loggingpb.RegisterLoggingServiceV2Server(serv, &mockLogging) loggingpb.RegisterConfigServiceV2Server(serv, &mockConfig) loggingpb.RegisterMetricsServiceV2Server(serv, &mockMetrics) lis, err := net.Listen("tcp", "localhost:0") if err != nil { log.Fatal(err) } go serv.Serve(lis) conn, err := grpc.Dial(lis.Addr().String(), grpc.WithInsecure()) if err != nil { log.Fatal(err) } clientOpt = option.WithGRPCConn(conn) os.Exit(m.Run()) }