Skip to content

Commit 2da17fa

Browse files
[CLD-354]: fix(operations): fix bug nil OperationRegistry (#180)
When executing sequence, we did not set the OperationRegistry which results in nil pointer error. JIRA: https://smartcontract-it.atlassian.net/browse/CLD-354
1 parent bf62b62 commit 2da17fa

File tree

3 files changed

+23
-6
lines changed

3 files changed

+23
-6
lines changed

.changeset/young-rice-sell.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"chainlink-deployments-framework": patch
3+
---
4+
5+
fix(operations): fix nil OperationRegistry on ExecuteSequence

operations/execute.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -289,10 +289,11 @@ func ExecuteSequence[IN, OUT, DEP any](
289289
"version", sequence.def.Version, "description", sequence.def.Description)
290290
recentReporter := NewRecentMemoryReporter(b.reporter)
291291
newBundle := Bundle{
292-
Logger: b.Logger,
293-
GetContext: b.GetContext,
294-
reporter: recentReporter,
295-
reportHashCache: b.reportHashCache,
292+
Logger: b.Logger,
293+
GetContext: b.GetContext,
294+
reporter: recentReporter,
295+
reportHashCache: b.reportHashCache,
296+
OperationRegistry: b.OperationRegistry,
296297
}
297298
ret, err := sequence.handler(newBundle, deps, input)
298299
if errors.Is(err, ErrNotSerializable) {

operations/execute_test.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,10 @@ func Test_ExecuteOperation(t *testing.T) {
9292
failTimes := 2
9393
handlerCalledTimes := 0
9494
handler := func(b Bundle, deps any, input int) (output int, err error) {
95+
assert.NotNil(t, b.OperationRegistry)
96+
assert.NotNil(t, b.Logger)
97+
assert.NotNil(t, b.GetContext)
98+
9599
handlerCalledTimes++
96100
if tt.IsUnrecoverable {
97101
return 0, NewUnrecoverableError(errors.New("fatal error"))
@@ -305,8 +309,11 @@ func Test_ExecuteSequence(t *testing.T) {
305309

306310
var opID string
307311
sequence := NewSequence("seq-plus1", version, "plus 1",
308-
func(env Bundle, deps any, input int) (int, error) {
309-
res, err := ExecuteOperation(env, op, OpDeps{}, input)
312+
func(b Bundle, deps any, input int) (int, error) {
313+
assert.NotNil(t, b.OperationRegistry)
314+
assert.NotNil(t, b.Logger)
315+
assert.NotNil(t, b.GetContext)
316+
res, err := ExecuteOperation(b, op, OpDeps{}, input)
310317
// capture for verification later
311318
opID = res.ID
312319
if err != nil {
@@ -943,6 +950,10 @@ func Test_ExecuteOperationN(t *testing.T) {
943950
failTimes := 2 // First two calls will fail if retrying
944951

945952
handler := func(b Bundle, deps any, input int) (output int, err error) {
953+
assert.NotNil(t, b.OperationRegistry)
954+
assert.NotNil(t, b.Logger)
955+
assert.NotNil(t, b.GetContext)
956+
946957
handlerCalledTimes++
947958
if tt.simulateOpError {
948959
return 0, NewUnrecoverableError(errors.New("fatal error"))

0 commit comments

Comments
 (0)