Skip to content

Commit 9520242

Browse files
committed
update eventtools to support waiting for acks
This enables us to run all tests which check for specific acks. Signed-off-by: Mike Mason <[email protected]>
1 parent c0b6bec commit 9520242

File tree

6 files changed

+138
-142
lines changed

6 files changed

+138
-142
lines changed

go.mod

+3-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ require (
77
github.com/authzed/authzed-go v0.8.0
88
github.com/authzed/grpcutil v0.0.0-20230524151342-4caf7fd1108a
99
github.com/labstack/echo/v4 v4.10.2
10+
github.com/nats-io/nats.go v1.26.0
1011
github.com/spf13/cobra v1.7.0
1112
github.com/spf13/pflag v1.0.5
1213
github.com/spf13/viper v1.16.0
@@ -61,7 +62,6 @@ require (
6162
github.com/modern-go/reflect2 v1.0.2 // indirect
6263
github.com/nats-io/jwt/v2 v2.4.1 // indirect
6364
github.com/nats-io/nats-server/v2 v2.9.17 // indirect
64-
github.com/nats-io/nats.go v1.26.0 // indirect
6565
github.com/nats-io/nkeys v0.4.4 // indirect
6666
github.com/nats-io/nuid v1.0.1 // indirect
6767
github.com/oklog/ulid v1.3.1 // indirect
@@ -102,3 +102,5 @@ require (
102102
gopkg.in/ini.v1 v1.67.0 // indirect
103103
gopkg.in/yaml.v3 v3.0.1 // indirect
104104
)
105+
106+
replace go.infratographer.com/x => github.com/mikemrm/infratographer-x v0.0.0-20230616223549-b56a454f0fdf

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,8 @@ github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp9
241241
github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
242242
github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
243243
github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
244+
github.com/mikemrm/infratographer-x v0.0.0-20230616223549-b56a454f0fdf h1:OPXxxdePu7XXGskoMJpC8JDHrXCGWcHkqEddW/BuIB4=
245+
github.com/mikemrm/infratographer-x v0.0.0-20230616223549-b56a454f0fdf/go.mod h1:GvOhGwi/1Dp5qAQSudHUdLfFmiXzzc27KBfkH0nxnEQ=
244246
github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g=
245247
github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY=
246248
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
@@ -324,8 +326,6 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
324326
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
325327
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
326328
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
327-
go.infratographer.com/x v0.3.1 h1:ffas8d1IyPOobfDR+p87b29MFv4cg7tks+jLMLKZpbs=
328-
go.infratographer.com/x v0.3.1/go.mod h1:GvOhGwi/1Dp5qAQSudHUdLfFmiXzzc27KBfkH0nxnEQ=
329329
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
330330
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
331331
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=

internal/pubsub/config.go

-42
This file was deleted.

internal/pubsub/subscriber.go

+20-10
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"sync"
66

7+
nc "github.com/nats-io/nats.go"
78
"go.infratographer.com/permissions-api/internal/query"
89
"go.infratographer.com/permissions-api/internal/types"
910
"go.infratographer.com/x/events"
@@ -26,6 +27,7 @@ type Subscriber struct {
2627
changeChannels []<-chan *message.Message
2728
logger *zap.SugaredLogger
2829
subscriber *events.Subscriber
30+
subOpts []nc.SubOpt
2931
qe query.Engine
3032
}
3133

@@ -39,25 +41,33 @@ func WithLogger(l *zap.SugaredLogger) SubscriberOption {
3941
}
4042
}
4143

42-
// NewSubscriber creates a new Subscriber
43-
func NewSubscriber(ctx context.Context, cfg events.SubscriberConfig, engine query.Engine, opts ...SubscriberOption) (*Subscriber, error) {
44-
sub, err := events.NewSubscriber(cfg)
45-
if err != nil {
46-
return nil, err
44+
// WithNatsSubOpts sets the logger for the Subscriber
45+
func WithNatsSubOpts(options ...nc.SubOpt) SubscriberOption {
46+
return func(s *Subscriber) {
47+
s.subOpts = append(s.subOpts, options...)
4748
}
49+
}
4850

51+
// NewSubscriber creates a new Subscriber
52+
func NewSubscriber(ctx context.Context, cfg events.SubscriberConfig, engine query.Engine, opts ...SubscriberOption) (*Subscriber, error) {
4953
s := &Subscriber{
50-
ctx: ctx,
51-
logger: zap.NewNop().Sugar(),
52-
subscriber: sub,
53-
qe: engine,
54+
ctx: ctx,
55+
logger: zap.NewNop().Sugar(),
56+
qe: engine,
5457
}
5558

5659
for _, opt := range opts {
5760
opt(s)
5861
}
5962

60-
s.logger.Debugw("subscriber configuration", cfg)
63+
sub, err := events.NewSubscriber(cfg, s.subOpts...)
64+
if err != nil {
65+
return nil, err
66+
}
67+
68+
s.subscriber = sub
69+
70+
s.logger.Debugw("subscriber configuration", "config", cfg)
6171

6272
return s, nil
6373
}

0 commit comments

Comments
 (0)