Skip to content

Commit 520b525

Browse files
authored
Set Nexus operation ID on callback headers (#1710)
* Set Nexus operation ID on callback headers * comment * return error on missing workflow ID * bump nexus sdk version * error message * tidy * tidy * tidy * tidy * tidy * case insensitive header * test * test
1 parent 08d52ce commit 520b525

File tree

19 files changed

+40
-25
lines changed

19 files changed

+40
-25
lines changed

Diff for: contrib/datadog/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ require (
3030
github.com/google/uuid v1.6.0 // indirect
3131
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
3232
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect
33-
github.com/nexus-rpc/sdk-go v0.0.11 // indirect
33+
github.com/nexus-rpc/sdk-go v0.0.12 // indirect
3434
github.com/outcaste-io/ristretto v0.2.3 // indirect
3535
github.com/pborman/uuid v1.2.1 // indirect
3636
github.com/philhofer/fwd v1.1.2 // indirect

Diff for: contrib/datadog/go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
8585
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
8686
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
8787
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
88-
github.com/nexus-rpc/sdk-go v0.0.11 h1:qH3Us3spfp50t5ca775V1va2eE6z1zMQDZY4mvbw0CI=
89-
github.com/nexus-rpc/sdk-go v0.0.11/go.mod h1:TpfkM2Cw0Rlk9drGkoiSMpFqflKTiQLWUNyKJjF8mKQ=
88+
github.com/nexus-rpc/sdk-go v0.0.12 h1:Bsjo3aKIaApgi/eohhzufwrAeK/sEphcbeZM1Z7S/nI=
89+
github.com/nexus-rpc/sdk-go v0.0.12/go.mod h1:TpfkM2Cw0Rlk9drGkoiSMpFqflKTiQLWUNyKJjF8mKQ=
9090
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
9191
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
9292
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=

Diff for: contrib/opentelemetry/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ require (
1313
require (
1414
github.com/go-logr/logr v1.4.1 // indirect
1515
github.com/go-logr/stdr v1.2.2 // indirect
16-
github.com/nexus-rpc/sdk-go v0.0.11 // indirect
16+
github.com/nexus-rpc/sdk-go v0.0.12 // indirect
1717
golang.org/x/sync v0.8.0 // indirect
1818
)
1919

Diff for: contrib/opentelemetry/go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
5252
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
5353
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
5454
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
55-
github.com/nexus-rpc/sdk-go v0.0.11 h1:qH3Us3spfp50t5ca775V1va2eE6z1zMQDZY4mvbw0CI=
56-
github.com/nexus-rpc/sdk-go v0.0.11/go.mod h1:TpfkM2Cw0Rlk9drGkoiSMpFqflKTiQLWUNyKJjF8mKQ=
55+
github.com/nexus-rpc/sdk-go v0.0.12 h1:Bsjo3aKIaApgi/eohhzufwrAeK/sEphcbeZM1Z7S/nI=
56+
github.com/nexus-rpc/sdk-go v0.0.12/go.mod h1:TpfkM2Cw0Rlk9drGkoiSMpFqflKTiQLWUNyKJjF8mKQ=
5757
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
5858
github.com/pborman/uuid v1.2.1 h1:+ZZIw58t/ozdjRaXh/3awHfmWRbzYxJoAdNJxe/3pvw=
5959
github.com/pborman/uuid v1.2.1/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=

Diff for: contrib/opentracing/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ require (
1818
github.com/google/uuid v1.6.0 // indirect
1919
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
2020
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect
21-
github.com/nexus-rpc/sdk-go v0.0.11 // indirect
21+
github.com/nexus-rpc/sdk-go v0.0.12 // indirect
2222
github.com/pborman/uuid v1.2.1 // indirect
2323
github.com/pmezard/go-difflib v1.0.0 // indirect
2424
github.com/robfig/cron v1.2.0 // indirect

Diff for: contrib/opentracing/go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
4747
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
4848
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
4949
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
50-
github.com/nexus-rpc/sdk-go v0.0.11 h1:qH3Us3spfp50t5ca775V1va2eE6z1zMQDZY4mvbw0CI=
51-
github.com/nexus-rpc/sdk-go v0.0.11/go.mod h1:TpfkM2Cw0Rlk9drGkoiSMpFqflKTiQLWUNyKJjF8mKQ=
50+
github.com/nexus-rpc/sdk-go v0.0.12 h1:Bsjo3aKIaApgi/eohhzufwrAeK/sEphcbeZM1Z7S/nI=
51+
github.com/nexus-rpc/sdk-go v0.0.12/go.mod h1:TpfkM2Cw0Rlk9drGkoiSMpFqflKTiQLWUNyKJjF8mKQ=
5252
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
5353
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
5454
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=

Diff for: contrib/resourcetuner/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ require (
2525
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
2626
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect
2727
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
28-
github.com/nexus-rpc/sdk-go v0.0.11 // indirect
28+
github.com/nexus-rpc/sdk-go v0.0.12 // indirect
2929
github.com/opencontainers/runtime-spec v1.0.2 // indirect
3030
github.com/pborman/uuid v1.2.1 // indirect
3131
github.com/pmezard/go-difflib v1.0.0 // indirect

Diff for: contrib/resourcetuner/go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
6262
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
6363
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4=
6464
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
65-
github.com/nexus-rpc/sdk-go v0.0.11 h1:qH3Us3spfp50t5ca775V1va2eE6z1zMQDZY4mvbw0CI=
66-
github.com/nexus-rpc/sdk-go v0.0.11/go.mod h1:TpfkM2Cw0Rlk9drGkoiSMpFqflKTiQLWUNyKJjF8mKQ=
65+
github.com/nexus-rpc/sdk-go v0.0.12 h1:Bsjo3aKIaApgi/eohhzufwrAeK/sEphcbeZM1Z7S/nI=
66+
github.com/nexus-rpc/sdk-go v0.0.12/go.mod h1:TpfkM2Cw0Rlk9drGkoiSMpFqflKTiQLWUNyKJjF8mKQ=
6767
github.com/opencontainers/runtime-spec v1.0.2 h1:UfAcuLBJB9Coz72x1hgl8O5RVzTdNiaglX6v2DM6FI0=
6868
github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
6969
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=

Diff for: contrib/tally/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ require (
1818
github.com/google/uuid v1.6.0 // indirect
1919
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
2020
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect
21-
github.com/nexus-rpc/sdk-go v0.0.11 // indirect
21+
github.com/nexus-rpc/sdk-go v0.0.12 // indirect
2222
github.com/pborman/uuid v1.2.1 // indirect
2323
github.com/pmezard/go-difflib v1.0.0 // indirect
2424
github.com/robfig/cron v1.2.0 // indirect

Diff for: contrib/tally/go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN
9292
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
9393
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
9494
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
95-
github.com/nexus-rpc/sdk-go v0.0.11 h1:qH3Us3spfp50t5ca775V1va2eE6z1zMQDZY4mvbw0CI=
96-
github.com/nexus-rpc/sdk-go v0.0.11/go.mod h1:TpfkM2Cw0Rlk9drGkoiSMpFqflKTiQLWUNyKJjF8mKQ=
95+
github.com/nexus-rpc/sdk-go v0.0.12 h1:Bsjo3aKIaApgi/eohhzufwrAeK/sEphcbeZM1Z7S/nI=
96+
github.com/nexus-rpc/sdk-go v0.0.12/go.mod h1:TpfkM2Cw0Rlk9drGkoiSMpFqflKTiQLWUNyKJjF8mKQ=
9797
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
9898
github.com/pborman/uuid v1.2.1 h1:+ZZIw58t/ozdjRaXh/3awHfmWRbzYxJoAdNJxe/3pvw=
9999
github.com/pborman/uuid v1.2.1/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=

Diff for: go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ require (
99
github.com/gogo/protobuf v1.3.2
1010
github.com/golang/mock v1.6.0
1111
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
12-
github.com/nexus-rpc/sdk-go v0.0.11
12+
github.com/nexus-rpc/sdk-go v0.0.12
1313
github.com/pborman/uuid v1.2.1
1414
github.com/robfig/cron v1.2.0
1515
github.com/stretchr/testify v1.9.0

Diff for: go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
4747
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
4848
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
4949
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
50-
github.com/nexus-rpc/sdk-go v0.0.11 h1:qH3Us3spfp50t5ca775V1va2eE6z1zMQDZY4mvbw0CI=
51-
github.com/nexus-rpc/sdk-go v0.0.11/go.mod h1:TpfkM2Cw0Rlk9drGkoiSMpFqflKTiQLWUNyKJjF8mKQ=
50+
github.com/nexus-rpc/sdk-go v0.0.12 h1:Bsjo3aKIaApgi/eohhzufwrAeK/sEphcbeZM1Z7S/nI=
51+
github.com/nexus-rpc/sdk-go v0.0.12/go.mod h1:TpfkM2Cw0Rlk9drGkoiSMpFqflKTiQLWUNyKJjF8mKQ=
5252
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
5353
github.com/pborman/uuid v1.2.1 h1:+ZZIw58t/ozdjRaXh/3awHfmWRbzYxJoAdNJxe/3pvw=
5454
github.com/pborman/uuid v1.2.1/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=

Diff for: internal/cmd/build/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ require (
1717
github.com/google/uuid v1.6.0 // indirect
1818
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
1919
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect
20-
github.com/nexus-rpc/sdk-go v0.0.11 // indirect
20+
github.com/nexus-rpc/sdk-go v0.0.12 // indirect
2121
github.com/pborman/uuid v1.2.1 // indirect
2222
github.com/pmezard/go-difflib v1.0.0 // indirect
2323
github.com/robfig/cron v1.2.0 // indirect

Diff for: internal/cmd/build/go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
5151
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
5252
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
5353
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
54-
github.com/nexus-rpc/sdk-go v0.0.11 h1:qH3Us3spfp50t5ca775V1va2eE6z1zMQDZY4mvbw0CI=
55-
github.com/nexus-rpc/sdk-go v0.0.11/go.mod h1:TpfkM2Cw0Rlk9drGkoiSMpFqflKTiQLWUNyKJjF8mKQ=
54+
github.com/nexus-rpc/sdk-go v0.0.12 h1:Bsjo3aKIaApgi/eohhzufwrAeK/sEphcbeZM1Z7S/nI=
55+
github.com/nexus-rpc/sdk-go v0.0.12/go.mod h1:TpfkM2Cw0Rlk9drGkoiSMpFqflKTiQLWUNyKJjF8mKQ=
5656
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
5757
github.com/pborman/uuid v1.2.1 h1:+ZZIw58t/ozdjRaXh/3awHfmWRbzYxJoAdNJxe/3pvw=
5858
github.com/pborman/uuid v1.2.1/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=

Diff for: internal/error.go

+3
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,9 @@ var (
338338

339339
// ErrSkipScheduleUpdate is used by a user if they want to skip updating a schedule.
340340
ErrSkipScheduleUpdate = errors.New("skip schedule update")
341+
342+
// ErrMissingWorkflowID is returned when trying to start an async Nexus operation but no workflow ID is set on the request.
343+
ErrMissingWorkflowID = errors.New("workflow ID is unset for Nexus operation")
341344
)
342345

343346
// NewApplicationError create new instance of *ApplicationError with message, type, and optional details.

Diff for: temporalnexus/operation.go

+12
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,9 @@ func (o *workflowRunOperation[I, O]) Name() string {
203203
return o.options.Name
204204
}
205205

206+
// Start begins an async Nexus operation backed by a workflow.
207+
// The Operation ID returned in the response should not be modified because it is used for cancelation and reporting
208+
// completion.
206209
func (o *workflowRunOperation[I, O]) Start(
207210
ctx context.Context,
208211
input I,
@@ -324,12 +327,21 @@ func ExecuteUntypedWorkflow[R any](
324327
if startWorkflowOptions.TaskQueue == "" {
325328
startWorkflowOptions.TaskQueue = nctx.TaskQueue
326329
}
330+
if startWorkflowOptions.ID == "" {
331+
return nil, internal.ErrMissingWorkflowID
332+
}
327333

328334
if nexusOptions.RequestID != "" {
329335
internal.SetRequestIDOnStartWorkflowOptions(&startWorkflowOptions, nexusOptions.RequestID)
330336
}
331337

332338
if nexusOptions.CallbackURL != "" {
339+
if nexusOptions.CallbackHeader == nil {
340+
nexusOptions.CallbackHeader = make(nexus.Header)
341+
}
342+
if idHeader := nexusOptions.CallbackHeader.Get(nexus.HeaderOperationID); idHeader == "" {
343+
nexusOptions.CallbackHeader.Set(nexus.HeaderOperationID, startWorkflowOptions.ID)
344+
}
333345
internal.SetCallbacksOnStartWorkflowOptions(&startWorkflowOptions, []*common.Callback{
334346
{
335347
Variant: &common.Callback_Nexus_{

Diff for: test/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ toolchain go1.21.1
77
require (
88
github.com/golang/mock v1.6.0
99
github.com/google/uuid v1.6.0
10-
github.com/nexus-rpc/sdk-go v0.0.11
10+
github.com/nexus-rpc/sdk-go v0.0.12
1111
github.com/opentracing/opentracing-go v1.2.0
1212
github.com/pborman/uuid v1.2.1
1313
github.com/stretchr/testify v1.9.0

Diff for: test/go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN
112112
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
113113
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
114114
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
115-
github.com/nexus-rpc/sdk-go v0.0.11 h1:qH3Us3spfp50t5ca775V1va2eE6z1zMQDZY4mvbw0CI=
116-
github.com/nexus-rpc/sdk-go v0.0.11/go.mod h1:TpfkM2Cw0Rlk9drGkoiSMpFqflKTiQLWUNyKJjF8mKQ=
115+
github.com/nexus-rpc/sdk-go v0.0.12 h1:Bsjo3aKIaApgi/eohhzufwrAeK/sEphcbeZM1Z7S/nI=
116+
github.com/nexus-rpc/sdk-go v0.0.12/go.mod h1:TpfkM2Cw0Rlk9drGkoiSMpFqflKTiQLWUNyKJjF8mKQ=
117117
github.com/opencontainers/runtime-spec v1.0.2 h1:UfAcuLBJB9Coz72x1hgl8O5RVzTdNiaglX6v2DM6FI0=
118118
github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
119119
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=

Diff for: test/nexus_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,7 @@ func TestNexusWorkflowRunOperation(t *testing.T) {
406406
callback, ok := desc.Callbacks[0].Callback.Variant.(*common.Callback_Nexus_)
407407
require.True(t, ok)
408408
require.Equal(t, "http://localhost/test", callback.Nexus.Url)
409-
require.Equal(t, map[string]string{"test": "ok"}, callback.Nexus.Header)
409+
require.Subset(t, callback.Nexus.Header, map[string]string{"test": "ok"})
410410

411411
run := tc.client.GetWorkflow(ctx, workflowID, "")
412412
require.NoError(t, handle.Cancel(ctx, nexus.CancelOperationOptions{}))

0 commit comments

Comments
 (0)