diff --git a/graph/builder_test.go b/graph/builder_test.go index 5b17da57b..1818d495b 100644 --- a/graph/builder_test.go +++ b/graph/builder_test.go @@ -582,7 +582,7 @@ func TestDisconnectedBlocks(t *testing.T) { // TestChansClosedOfflinePruneGraph tests that if channels we know of are // closed while we're offline, then once we resume operation of the // ChannelRouter, then the channels are properly pruned. -func TestRouterChansClosedOfflinePruneGraph(t *testing.T) { +func TestChansClosedOfflinePruneGraph(t *testing.T) { t.Parallel() const startingBlockHeight = 101 diff --git a/graph/notifications_test.go b/graph/notifications_test.go index 39278bf13..fdbed68b0 100644 --- a/graph/notifications_test.go +++ b/graph/notifications_test.go @@ -176,13 +176,21 @@ type mockChain struct { var _ lnwallet.BlockChainIO = (*mockChain)(nil) func newMockChain(currentHeight uint32) *mockChain { - return &mockChain{ + chain := &mockChain{ bestHeight: int32(currentHeight), blocks: make(map[chainhash.Hash]*wire.MsgBlock), utxos: make(map[wire.OutPoint]wire.TxOut), blockIndex: make(map[uint32]chainhash.Hash), blockHeightIndex: make(map[chainhash.Hash]uint32), } + + // Initialize the block index with the empty hash for the + // starting height. + startingHash := chainhash.Hash{} + chain.blockIndex[currentHeight] = startingHash + chain.blockHeightIndex[startingHash] = currentHeight + + return chain } func (m *mockChain) setBestBlock(height int32) { @@ -196,7 +204,11 @@ func (m *mockChain) GetBestBlock() (*chainhash.Hash, int32, error) { m.RLock() defer m.RUnlock() - blockHash := m.blockIndex[uint32(m.bestHeight)] + blockHash, exists := m.blockIndex[uint32(m.bestHeight)] + if !exists { + return nil, 0, fmt.Errorf("block at height %d not found", + m.bestHeight) + } return &blockHash, m.bestHeight, nil }