Skip to content

Commit b22a557

Browse files
authored
fix(worker): provide publisher dependencies
1 parent e4add8b commit b22a557

2 files changed

Lines changed: 21 additions & 9 deletions

File tree

‎cmd/worker.go‎

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,20 @@ func newWorkerCommand() *cobra.Command {
4949
}
5050

5151
func runWorker(cmd *cobra.Command, _ []string) error {
52-
connectionOptions, err := bunconnect.ConnectionOptionsFromFlags(cmd)
52+
options, err := workerServiceOptions(cmd)
5353
if err != nil {
5454
return err
5555
}
5656

57+
return service.New(cmd.OutOrStdout(), options...).Run(cmd)
58+
}
59+
60+
func workerServiceOptions(cmd *cobra.Command) ([]fx.Option, error) {
61+
connectionOptions, err := bunconnect.ConnectionOptionsFromFlags(cmd)
62+
if err != nil {
63+
return nil, err
64+
}
65+
5766
retryPeriod, _ := cmd.Flags().GetDuration(flag.RetryPeriod)
5867
retryBatchSize, _ := cmd.Flags().GetInt(flag.RetryBatchSize)
5968
minBackOffDelay, _ := cmd.Flags().GetDuration(flag.MinBackoffDelay)
@@ -64,10 +73,10 @@ func runWorker(cmd *cobra.Command, _ []string) error {
6473
listen, _ := cmd.Flags().GetString(flag.Listen)
6574
retention := retentionConfigFromFlags(cmd)
6675

67-
return service.New(
68-
cmd.OutOrStdout(),
76+
return []fx.Option{
6977
innerotlp.HttpClientModule(),
7078
licence.FXModuleFromFlags(cmd, ServiceName),
79+
publish.FXModuleFromFlags(cmd, service.IsDebug(cmd)),
7180
postgres.NewModule(*connectionOptions, service.IsDebug(cmd)),
7281
workerHTTPServerModule(cmd, listen),
7382
otlp.FXModuleFromFlags(cmd),
@@ -86,7 +95,7 @@ func runWorker(cmd *cobra.Command, _ []string) error {
8695
topics,
8796
retention,
8897
),
89-
).Run(cmd)
98+
}, nil
9099
}
91100

92101
func workerHTTPServerModule(cmd *cobra.Command, listen string) fx.Option {

‎cmd/worker_test.go‎

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,20 @@ package cmd
33
import (
44
"testing"
55

6+
"github.com/formancehq/go-libs/v2/logging"
67
"github.com/stretchr/testify/require"
78
"go.uber.org/fx"
89
)
910

10-
func TestWorkerHTTPServerModuleProvidesHandlerDependencies(t *testing.T) {
11+
func TestWorkerServiceOptionsProvideAllDependencies(t *testing.T) {
1112
cmd := newWorkerCommand()
13+
require.NoError(t, cmd.Flags().Set("postgres-uri", "postgresql://localhost/webhooks"))
14+
options, err := workerServiceOptions(cmd)
15+
require.NoError(t, err)
1216

13-
app := fx.New(
14-
workerHTTPServerModule(cmd, "127.0.0.1:0"),
15-
fx.NopLogger,
17+
options = append(options,
18+
fx.Supply(fx.Annotate(logging.Testing(), fx.As(new(logging.Logger)))),
1619
)
1720

18-
require.NoError(t, app.Err())
21+
require.NoError(t, fx.ValidateApp(options...))
1922
}

0 commit comments

Comments
 (0)