github.com/PikeEcosystem/tendermint@v0.0.4/state/indexer/sink/psql/backport_test.go (about)

     1  package psql
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  
     7  	abci "github.com/tendermint/tendermint/abci/types"
     8  
     9  	"github.com/PikeEcosystem/tendermint/libs/pubsub/query"
    10  	"github.com/PikeEcosystem/tendermint/state/indexer"
    11  	"github.com/PikeEcosystem/tendermint/state/txindex"
    12  	"github.com/PikeEcosystem/tendermint/types"
    13  	"github.com/stretchr/testify/require"
    14  )
    15  
    16  var (
    17  	_ indexer.BlockIndexer = BackportBlockIndexer{}
    18  	_ txindex.TxIndexer    = BackportTxIndexer{}
    19  )
    20  
    21  func TestBackportTxIndexer_AddBatch(t *testing.T) {
    22  	indexer := &EventSink{store: testDB(), chainID: chainID}
    23  	txIndexer := indexer.TxIndexer()
    24  	err := txIndexer.AddBatch(&txindex.Batch{})
    25  	require.NoError(t, err)
    26  }
    27  
    28  func TestBackportTxIndexer_Index(t *testing.T) {
    29  	indexer := &EventSink{store: testDB(), chainID: chainID}
    30  	txIndexer := indexer.TxIndexer()
    31  	err := txIndexer.Index(&abci.TxResult{})
    32  	require.Error(t, err)
    33  	require.Contains(t, err.Error(), "finding block ID: ")
    34  
    35  	blockIndexer := indexer.BlockIndexer()
    36  	err = blockIndexer.Index(types.EventDataNewBlockHeader{})
    37  	require.NoError(t, err)
    38  	err = txIndexer.Index(&abci.TxResult{})
    39  	require.NoError(t, err)
    40  }
    41  
    42  func TestBackportTxIndexer_Get(t *testing.T) {
    43  	indexer := &EventSink{store: testDB(), chainID: chainID}
    44  	txIndexer := indexer.TxIndexer()
    45  	result, err := txIndexer.Get([]byte{1})
    46  	require.Error(t, err)
    47  	require.Equal(t, "the TxIndexer.Get method is not supported", err.Error())
    48  	require.Nil(t, result)
    49  }
    50  
    51  func TestBackportTxIndexer_Search(t *testing.T) {
    52  	indexer := &EventSink{store: testDB(), chainID: chainID}
    53  	txIndexer := indexer.TxIndexer()
    54  	result, err := txIndexer.Get([]byte{1})
    55  	require.Error(t, err)
    56  	require.Equal(t, "the TxIndexer.Get method is not supported", err.Error())
    57  	require.Nil(t, result)
    58  }
    59  
    60  func TestBackportBlockIndexer_Has(t *testing.T) {
    61  	indexer := &EventSink{store: testDB(), chainID: chainID}
    62  	blockIndexer := indexer.BlockIndexer()
    63  	result, err := blockIndexer.Has(0)
    64  	require.Error(t, err)
    65  	require.Equal(t, "the BlockIndexer.Has method is not supported", err.Error())
    66  	require.False(t, result)
    67  }
    68  
    69  func TestBackportBlockIndexer_Index(t *testing.T) {
    70  	indexer := &EventSink{store: testDB(), chainID: chainID}
    71  	blockIndexer := indexer.BlockIndexer()
    72  	err := blockIndexer.Index(types.EventDataNewBlockHeader{})
    73  	require.NoError(t, err)
    74  }
    75  
    76  func TestBackportBlockIndexer_Search(t *testing.T) {
    77  	indexer := &EventSink{store: testDB(), chainID: chainID}
    78  	blockIndexer := indexer.BlockIndexer()
    79  	result, err := blockIndexer.Search(context.Background(), &query.Query{})
    80  	require.Error(t, err)
    81  	require.Equal(t, "the BlockIndexer.Search method is not supported", err.Error())
    82  	require.Nil(t, result)
    83  }