github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/vent/sqlsol/spec_loader_test.go (about)

     1  package sqlsol_test
     2  
     3  import (
     4  	"os"
     5  	"path"
     6  	"testing"
     7  
     8  	"github.com/hyperledger/burrow/vent/sqlsol"
     9  	"github.com/hyperledger/burrow/vent/types"
    10  	"github.com/stretchr/testify/require"
    11  )
    12  
    13  var tables = types.DefaultSQLTableNames
    14  
    15  func TestSpecLoader(t *testing.T) {
    16  	dir, err := os.Getwd()
    17  	require.NoError(t, err)
    18  	specFile := []string{path.Join(dir, "../test/sqlsol_view.json")}
    19  	t.Run("successfully add block and transaction tables to event structures", func(t *testing.T) {
    20  		projection, err := sqlsol.SpecLoader(specFile, sqlsol.BlockTx)
    21  		require.NoError(t, err)
    22  
    23  		require.Equal(t, 4, len(projection.Tables))
    24  
    25  		require.Equal(t, tables.Block, projection.Tables[tables.Block].Name)
    26  
    27  		require.Equal(t, columns.Height,
    28  			projection.Tables[tables.Block].GetColumn(columns.Height).Name)
    29  
    30  		require.Equal(t, tables.Tx, projection.Tables[tables.Tx].Name)
    31  
    32  		require.Equal(t, columns.TxHash,
    33  			projection.Tables[tables.Tx].GetColumn(columns.TxHash).Name)
    34  	})
    35  }