fixup! wip: refactor: API

This commit is contained in:
Rob Watson 2025-05-10 21:14:40 +02:00
parent aa6f50715d
commit 116623f386
4 changed files with 8 additions and 3 deletions

View File

@ -89,8 +89,11 @@ func (a *App) Run(ctx context.Context) error {
if err != nil { if err != nil {
log.Fatalf("failed to listen: %v", err) log.Fatalf("failed to listen: %v", err)
} }
defer lis.Close()
grpcServer := grpc.NewServer() grpcServer := grpc.NewServer()
grpcDone := make(chan error, 1) grpcDone := make(chan error, 1)
pb.RegisterInternalAPIServer(grpcServer, server.New(a.DispatchAsync, a.eventBus, a.logger)) pb.RegisterInternalAPIServer(grpcServer, server.New(a.DispatchAsync, a.eventBus, a.logger))
go func() { go func() {
a.logger.Info("gRPC server started", "addr", grpcAddr) a.logger.Info("gRPC server started", "addr", grpcAddr)

View File

@ -132,13 +132,14 @@ func testIntegration(t *testing.T, mediaServerConfig config.MediaServerSource) {
wg.Add(1) wg.Add(1)
go func() { go func() {
defer wg.Done() defer wg.Done()
assert.NoError(t, client.Run(ctx)) assert.ErrorIs(t, server.Run(ctx), context.Canceled)
}() }()
wg.Add(1) wg.Add(1)
go func() { go func() {
defer wg.Done() defer wg.Done()
assert.NoError(t, server.Run(ctx)) // May be a gRPC error, not context.Canceled:
assert.ErrorContains(t, client.Run(ctx), "context canceled")
}() }()
require.EventuallyWithT( require.EventuallyWithT(

View File

@ -37,6 +37,7 @@ func NewApp(
bus: event.NewBus(logger), bus: event.NewBus(logger),
clipboardAvailable: clipboardAvailable, clipboardAvailable: clipboardAvailable,
buildInfo: buildInfo, buildInfo: buildInfo,
screen: screen,
logger: logger, logger: logger,
} }
} }

View File

@ -76,7 +76,7 @@ func (s *Server) Communicate(stream pb.InternalAPI_CommunicateServer) error {
}) })
if err := g.Wait(); err != nil && !errors.Is(err, io.EOF) && !errors.Is(err, context.Canceled) { if err := g.Wait(); err != nil && !errors.Is(err, io.EOF) && !errors.Is(err, context.Canceled) {
s.logger.Error("Error in gRPC stream handler, exiting", "err", err) s.logger.Error("Client stream closed with error", "err", err)
return fmt.Errorf("errgroup.Wait: %w", err) return fmt.Errorf("errgroup.Wait: %w", err)
} }