Skip to content

Commit 91ee83f

Browse files
author
Naohiro Yoshida
committed
add test
Signed-off-by: Naohiro Yoshida <naohiro.yoshida@datachain.jp>
1 parent 40ca58c commit 91ee83f

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

module/header_query_test.go

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,15 @@ package module
22

33
import (
44
"context"
5+
"encoding/hex"
56
"math/big"
67
"strings"
78
"testing"
89

910
"github.com/ethereum/go-ethereum/common"
1011
"github.com/ethereum/go-ethereum/core/types"
12+
"github.com/ethereum/go-ethereum/ethclient"
13+
"github.com/ethereum/go-ethereum/rlp"
1114
"github.com/hyperledger-labs/yui-relayer/log"
1215
"github.com/stretchr/testify/suite"
1316
)
@@ -125,3 +128,42 @@ func (ts *HeaderQueryTestSuite) TestErrorQueryLatestFinalizedHeader_NoVote() {
125128
}
126129
}
127130
}
131+
132+
func (ts *HeaderQueryTestSuite) TestSuccessQueryFinalizedHeaderFermi() {
133+
ts.Require().NoError(log.InitLogger("INFO", "json", "stdout", false))
134+
const start uint64 = 506
135+
fn := func(ctx context.Context, height uint64) (*types.Header, error) {
136+
header := &types.Header{
137+
Number: big.NewInt(0).SetUint64(height),
138+
}
139+
var v []byte
140+
var err error
141+
if height == start {
142+
v, err = hex.DecodeString("f90370a061e54cba38225d35f042c6bd5ae8d6f981a451f3a53e49313b570db907ee2dd2a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794d9a13701eafb76870cb220843b8c6476824bfa15a0396436866456ceb1c4b702cb5d3a4b1e2495d84619f1ba7142b80e59e8342a88a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028201fa8402625a008084690eacdbb90111d983010602846765746889676f312e32342e3130856c696e757800000d382c2cf8ae07b86089aa2052e18ebe839aa3723bcad27b2a2196e22b7bc11c4d4d24d4a69e01e86bd404d19a0345c922456c8f6badd351d907fb69a6590bfad9673c8fdb9fc38bdd73b9bb4c93bb3d349380322366b1dc6d294e0e6916ef256ccbfa245255e43ad3f8488201f6a09058cfa000d451f4cd49092133047c1cf4a29d2c905a9aa17c890e96d81513d08201f8a0464df616013723293103002550e47ce3e44eb7dee4b11bfa10daeb4a2df51215802185ef1b54bfba22b6d1be5d4988c592b1da29abd380ea7d98def9b4f17e66f50b580baa6e8481b1b15b424ceddbf66964f633371d73a62825c67f9c633077d501a000000000000000000000000000000000000000000000000000000000000000c888000000000000000080a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b4218080a00000000000000000000000000000000000000000000000000000000000000000a0e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")
143+
} else if height == 507 {
144+
v, err = hex.DecodeString("f902bfa06510e76fec4471a1dd46e83484608cba84a2c0860ed484dc785aaeca5bc24598a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794d9a13701eafb76870cb220843b8c6476824bfa15a0ed3a25beff351197a86ea87f939c7a129d7e7b9759a5c125875e58424c774c96a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028201fb8402625a008084690eacdbb861d983010602846765746889676f312e32342e3130856c696e757800000d382c2c9ed5d62372f22f62c2442552b80af1e868265d205a6132a44c10bbc50fe017bc1f9ad3f3c89381a992f177e292821630df0079134f002dcaaca675e5486b796400a0000000000000000000000000000000000000000000000000000000000000028a88000000000000000080a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b4218080a00000000000000000000000000000000000000000000000000000000000000000a0e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")
145+
} else if height == 508 {
146+
v, err = hex.DecodeString("f90370a042ac9f2075511d2293a3448edba653bd1fe6cb7bf4b6fd9597d98bd3e1168eeea01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794d9a13701eafb76870cb220843b8c6476824bfa15a0027e1be8380711bbe9075b3d99dd23e59769711f03064b2a42f03c5a4ee2294da056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028201fc8402625a008084690eacdcb90111d983010602846765746889676f312e32342e3130856c696e757800000d382c2cf8ae07b8608509853e9fab817fba4600c12d1689548f6566e22277a0fbfc99c0c241e53362550e13bb2c1da81dd133a953539febce16760742ac3462ae106c4d7db8422bdb9e01f1d7285251940badbec7358f923e6ff267135f0c6e73963e5340edb495d7f8488201f8a0464df616013723293103002550e47ce3e44eb7dee4b11bfa10daeb4a2df512158201faa06510e76fec4471a1dd46e83484608cba84a2c0860ed484dc785aaeca5bc2459880d63a5ec69ce06dbbe045deffd2cf87000fe0b91a727973edbdb980ab86d80eee0e272ce2600c634d7ee5cb2d4f4b2139e924a6f6d6f818fda0ed8b02d69be61901a0000000000000000000000000000000000000000000000000000000000000006488000000000000000080a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b4218080a00000000000000000000000000000000000000000000000000000000000000000a0e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")
147+
} else if height == 509 {
148+
v, err = hex.DecodeString("f902bfa04dbe87a2afcbd4599b997d68b7976c15d5d6c78fbaa2586541c6ab1a5d3051e9a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d4934794d9a13701eafb76870cb220843b8c6476824bfa15a0c5b6d22e10686a802dfe562e6b2de199ebecf18aae5a284aa531fd4137fdcd3ea056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028201fd8402625a008084690eacdcb861d983010602846765746889676f312e32342e3130856c696e757800000d382c2caf975e1c326acf700081afa54cc4b2a84fb67ec15733488c488cf2b2c4c22862646c5b21762fe5df77abfbc6076eccaaf445af23e584b33cf602f7134125999500a0000000000000000000000000000000000000000000000000000000000000022688000000000000000080a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b4218080a00000000000000000000000000000000000000000000000000000000000000000a0e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")
149+
} else if height == 510 {
150+
v, err = hex.DecodeString("f90370a0fca3ee6eb6331d3caf5310dcea500b6d06ea5dee08972a285d3c8bcf2848e542a01dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347948fdaaa7e6631e438625ca25c857a3727ea28e565a06bfb3c7904a7b6347689fea2fc0ad3e0bcc6597d4817c9ce132e8a4962b740e2a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028201fe8402625a008084690eacddb90111d983010602846765746889676f312e32342e3130856c696e757800000d382c2cf8ae07b860ab54b1e139a3e5345731e228daccb85fa7641a6f4873057022d1f6979c69b2d4193d96068a9c23ea7f0540f7f2bf8e210493a01df523bc4e8b15f02c772425bbfd8577e33cb603b6d8349834cd678e4e15799e141d2bd15dba147302116566fcf8488201faa06510e76fec4471a1dd46e83484608cba84a2c0860ed484dc785aaeca5bc245988201fca04dbe87a2afcbd4599b997d68b7976c15d5d6c78fbaa2586541c6ab1a5d3051e9809de85618105acd64900a429445efd27d81e587f6dca6a8e4ea0ad219111078ec0696d6064a4b8e7251883f0cb52f2fa5e33389fc934b11be1b581c357d46bca600a0000000000000000000000000000000000000000000000000000000000000000088000000000000000080a056e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b4218080a00000000000000000000000000000000000000000000000000000000000000000a0e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")
151+
}
152+
ts.Require().NoError(err)
153+
if v != nil {
154+
ts.Require().NoError(rlp.DecodeBytes(v, header))
155+
}
156+
return header, nil
157+
}
158+
159+
headers, err := queryFinalizedHeader(context.Background(), fn, start, 1000, ts.forkSpecsPatterns[1])
160+
ts.Require().NoError(err)
161+
ts.Require().Len(headers, 5, len(headers))
162+
number := start - 1
163+
for _, h := range headers {
164+
var header types.Header
165+
ts.Require().NoError(rlp.DecodeBytes(h.Header, &header))
166+
ts.Require().Equal(number+1, header.Number.Uint64())
167+
number = header.Number.Uint64()
168+
}
169+
}

0 commit comments

Comments
 (0)