WIP: refactor/api #1

Draft
rob wants to merge 26 commits from refactor/api into main
4 changed files with 8 additions and 3 deletions
Showing only changes of commit 116623f386 - Show all commits

View File

@ -89,8 +89,11 @@ func (a *App) Run(ctx context.Context) error {
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
defer lis.Close()
grpcServer := grpc.NewServer()
grpcDone := make(chan error, 1)
pb.RegisterInternalAPIServer(grpcServer, server.New(a.DispatchAsync, a.eventBus, a.logger))
go func() {
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)
go func() {
defer wg.Done()
assert.NoError(t, client.Run(ctx))
assert.ErrorIs(t, server.Run(ctx), context.Canceled)
}()
wg.Add(1)
go func() {
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(

View File

@ -37,6 +37,7 @@ func NewApp(
bus: event.NewBus(logger),
clipboardAvailable: clipboardAvailable,
buildInfo: buildInfo,
screen: screen,
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) {
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)
}