itest: test neutrino sub server

This commit is contained in:
ErikEk committed 2023-01-12 13:43:41 +07:00
1 parent cc08271c5f
commit 20fd630465
2 files changed
+37

No files matched your search

+4
View File
@@ -227,4 +227,8 @@ var allTestCasesTemp = []*lntemp.TestCase{
Name: "chain kit",
TestFunc: testChainKit,
},
{
Name: "neutrino kit",
TestFunc: testNeutrino,
},
}
+33
View File
@@ -0,0 +1,33 @@
package itest
import (
"github.com/lightningnetwork/lnd/lnrpc/neutrinorpc"
"github.com/lightningnetwork/lnd/lntemp"
"github.com/lightningnetwork/lnd/lntest"
"github.com/stretchr/testify/require"
)
// testNeutrino checks that the neutrino sub-server can fetch compact
// block filters, server status and connect to a connected peer.
func testNeutrino(ht *lntemp.HarnessTest) {
if ht.ChainBackendName() != lntest.NeutrinoBackendName {
ht.Skipf("skipping test for non neutrino backends")
}
// Check if the neutrino sub server is running.
statusRes := ht.Alice.RPC.Status(nil)
require.True(ht, statusRes.Active)
require.Len(ht, statusRes.Peers, 1, "unable to find a peer")
// Request the compact block filter of the best block.
cFilterReq := &neutrinorpc.GetCFilterRequest{
Hash: statusRes.GetBlockHash(),
}
ht.Alice.RPC.GetCFilter(cFilterReq)
// Try to reconnect to a connected peer.
addPeerReq := &neutrinorpc.AddPeerRequest{
PeerAddrs: statusRes.Peers[0],
}
ht.Alice.RPC.AddPeer(addPeerReq)
}