You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

89 lines
2.4 KiB

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))
}