Skip to content

Commit 00030b5

Browse files
committed
fix integration test
1 parent 850849f commit 00030b5

File tree

4 files changed

+48
-1
lines changed

4 files changed

+48
-1
lines changed

cmd/observer/node_builder/observer_builder.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1921,7 +1921,7 @@ func (builder *ObserverServiceBuilder) enqueueRPCServer() {
19211921
// handles block-related operations.
19221922
blockTracker, err := subscriptiontracker.NewBlockTracker(
19231923
node.State,
1924-
builder.FinalizedRootBlock.Height,
1924+
builder.SealedRootBlock.Height,
19251925
node.Storage.Headers,
19261926
broadcaster,
19271927
)

engine/common/rpc/convert/blocks.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,20 @@ func MessageToBlock(m *entities.Block) (*flow.Block, error) {
7878
if err != nil {
7979
return nil, fmt.Errorf("failed to convert block header: %w", err)
8080
}
81+
82+
if IsRootBlockHeader(m.BlockHeader) {
83+
block, err := flow.NewRootBlock(
84+
flow.UntrustedBlock{
85+
HeaderBody: header.HeaderBody,
86+
Payload: *payload,
87+
},
88+
)
89+
if err != nil {
90+
return nil, fmt.Errorf("failed to create root header: %w", err)
91+
}
92+
return block, nil
93+
}
94+
8195
block, err := flow.NewBlock(
8296
flow.UntrustedBlock{
8397
HeaderBody: header.HeaderBody,

engine/common/rpc/convert/blocks_test.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,19 @@ func TestConvertBlockLight(t *testing.T) {
6060
assert.Len(t, msg.ExecutionReceiptMetaList, 0)
6161
assert.Len(t, msg.ExecutionResultList, 0)
6262
}
63+
64+
// TestConvertRootBlock tests that converting a root block to and from a protobuf message results in
65+
// the same block
66+
func TestConvertRootBlock(t *testing.T) {
67+
t.Parallel()
68+
69+
block := unittest.Block.Genesis(flow.Emulator)
70+
71+
msg, err := convert.BlockToMessage(block, flow.IdentifierList{})
72+
require.NoError(t, err)
73+
74+
converted, err := convert.MessageToBlock(msg)
75+
require.NoError(t, err)
76+
77+
assert.Equal(t, block.ID(), converted.ID())
78+
}

engine/common/rpc/convert/headers_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"github.com/stretchr/testify/require"
88

99
"github.com/onflow/flow-go/engine/common/rpc/convert"
10+
"github.com/onflow/flow-go/model/flow"
1011
"github.com/onflow/flow-go/utils/unittest"
1112
)
1213

@@ -27,3 +28,19 @@ func TestConvertBlockHeader(t *testing.T) {
2728

2829
assert.Equal(t, header, converted)
2930
}
31+
32+
// TestConvertRootBlockHeader tests that converting a root block header to and from a protobuf message
33+
// results in the same block
34+
func TestConvertRootBlockHeader(t *testing.T) {
35+
t.Parallel()
36+
37+
header := unittest.Block.Genesis(flow.Emulator).ToHeader()
38+
39+
msg, err := convert.BlockHeaderToMessage(header, flow.IdentifierList{})
40+
require.NoError(t, err)
41+
42+
converted, err := convert.MessageToBlockHeader(msg)
43+
require.NoError(t, err)
44+
45+
assert.Equal(t, header.ID(), converted.ID())
46+
}

0 commit comments

Comments
 (0)