package mempool
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/tendermint/tendermint/types"
|
|
)
|
|
|
|
func TestMempoolIDsBasic(t *testing.T) {
|
|
ids := NewMempoolIDs()
|
|
|
|
peerID, err := types.NewNodeID("0011223344556677889900112233445566778899")
|
|
require.NoError(t, err)
|
|
require.EqualValues(t, 0, ids.GetForPeer(peerID))
|
|
|
|
ids.ReserveForPeer(peerID)
|
|
require.EqualValues(t, 1, ids.GetForPeer(peerID))
|
|
|
|
ids.Reclaim(peerID)
|
|
require.EqualValues(t, 0, ids.GetForPeer(peerID))
|
|
|
|
ids.ReserveForPeer(peerID)
|
|
require.EqualValues(t, 1, ids.GetForPeer(peerID))
|
|
}
|
|
|
|
func TestMempoolIDsPeerDupReserve(t *testing.T) {
|
|
ids := NewMempoolIDs()
|
|
|
|
peerID, err := types.NewNodeID("0011223344556677889900112233445566778899")
|
|
require.NoError(t, err)
|
|
require.EqualValues(t, 0, ids.GetForPeer(peerID))
|
|
|
|
ids.ReserveForPeer(peerID)
|
|
require.EqualValues(t, 1, ids.GetForPeer(peerID))
|
|
|
|
ids.ReserveForPeer(peerID)
|
|
require.EqualValues(t, 1, ids.GetForPeer(peerID))
|
|
}
|
|
|
|
func TestMempoolIDs2Peers(t *testing.T) {
|
|
ids := NewMempoolIDs()
|
|
|
|
peer1ID, _ := types.NewNodeID("0011223344556677889900112233445566778899")
|
|
require.EqualValues(t, 0, ids.GetForPeer(peer1ID))
|
|
|
|
ids.ReserveForPeer(peer1ID)
|
|
require.EqualValues(t, 1, ids.GetForPeer(peer1ID))
|
|
|
|
ids.Reclaim(peer1ID)
|
|
require.EqualValues(t, 0, ids.GetForPeer(peer1ID))
|
|
|
|
peer2ID, _ := types.NewNodeID("1011223344556677889900112233445566778899")
|
|
|
|
ids.ReserveForPeer(peer2ID)
|
|
require.EqualValues(t, 1, ids.GetForPeer(peer2ID))
|
|
|
|
ids.ReserveForPeer(peer1ID)
|
|
require.EqualValues(t, 2, ids.GetForPeer(peer1ID))
|
|
}
|
|
|
|
func TestMempoolIDsNextExistID(t *testing.T) {
|
|
ids := NewMempoolIDs()
|
|
|
|
peer1ID, _ := types.NewNodeID("0011223344556677889900112233445566778899")
|
|
ids.ReserveForPeer(peer1ID)
|
|
require.EqualValues(t, 1, ids.GetForPeer(peer1ID))
|
|
|
|
peer2ID, _ := types.NewNodeID("1011223344556677889900112233445566778899")
|
|
ids.ReserveForPeer(peer2ID)
|
|
require.EqualValues(t, 2, ids.GetForPeer(peer2ID))
|
|
|
|
peer3ID, _ := types.NewNodeID("2011223344556677889900112233445566778899")
|
|
ids.ReserveForPeer(peer3ID)
|
|
require.EqualValues(t, 3, ids.GetForPeer(peer3ID))
|
|
|
|
ids.Reclaim(peer1ID)
|
|
require.EqualValues(t, 0, ids.GetForPeer(peer1ID))
|
|
|
|
ids.Reclaim(peer3ID)
|
|
require.EqualValues(t, 0, ids.GetForPeer(peer3ID))
|
|
|
|
ids.ReserveForPeer(peer1ID)
|
|
require.EqualValues(t, 1, ids.GetForPeer(peer1ID))
|
|
|
|
ids.ReserveForPeer(peer3ID)
|
|
require.EqualValues(t, 3, ids.GetForPeer(peer3ID))
|
|
}
|