github.com/dim4egster/coreth@v0.10.2/plugin/evm/message/handler_test.go (about) 1 // (c) 2019-2021, Ava Labs, Inc. All rights reserved. 2 // See the file LICENSE for licensing terms. 3 4 package message 5 6 import ( 7 "testing" 8 9 "github.com/dim4egster/qmallgo/ids" 10 11 "github.com/stretchr/testify/assert" 12 ) 13 14 type CounterHandler struct { 15 AtomicTx, EthTxs int 16 } 17 18 func (h *CounterHandler) HandleAtomicTx(ids.NodeID, AtomicTxGossip) error { 19 h.AtomicTx++ 20 return nil 21 } 22 23 func (h *CounterHandler) HandleEthTxs(ids.NodeID, EthTxsGossip) error { 24 h.EthTxs++ 25 return nil 26 } 27 28 func TestHandleAtomicTx(t *testing.T) { 29 assert := assert.New(t) 30 31 handler := CounterHandler{} 32 msg := AtomicTxGossip{} 33 34 err := msg.Handle(&handler, ids.EmptyNodeID) 35 assert.NoError(err) 36 assert.Equal(1, handler.AtomicTx) 37 assert.Zero(handler.EthTxs) 38 } 39 40 func TestHandleEthTxs(t *testing.T) { 41 assert := assert.New(t) 42 43 handler := CounterHandler{} 44 msg := EthTxsGossip{} 45 46 err := msg.Handle(&handler, ids.EmptyNodeID) 47 assert.NoError(err) 48 assert.Zero(handler.AtomicTx) 49 assert.Equal(1, handler.EthTxs) 50 } 51 52 func TestNoopHandler(t *testing.T) { 53 assert := assert.New(t) 54 55 handler := NoopMempoolGossipHandler{} 56 57 err := handler.HandleAtomicTx(ids.EmptyNodeID, AtomicTxGossip{}) 58 assert.NoError(err) 59 60 err = handler.HandleEthTxs(ids.EmptyNodeID, EthTxsGossip{}) 61 assert.NoError(err) 62 }