package test_helpers import ( "github.com/ethereum/go-ethereum/ethclient" "github.com/ethereum/go-ethereum/rpc" . "github.com/onsi/gomega" "github.com/vulcanize/vulcanizedb/pkg/config" "github.com/vulcanize/vulcanizedb/pkg/core" "github.com/vulcanize/vulcanizedb/pkg/datastore/postgres" "github.com/vulcanize/vulcanizedb/pkg/geth" "github.com/vulcanize/vulcanizedb/pkg/geth/client" rpc2 "github.com/vulcanize/vulcanizedb/pkg/geth/converters/rpc" "github.com/vulcanize/vulcanizedb/pkg/geth/node" ) func SetupDBandBC() (*postgres.DB, core.BlockChain) { infuraIPC := "http://kovan0.vulcanize.io:8545" rawRpcClient, err := rpc.Dial(infuraIPC) Expect(err).NotTo(HaveOccurred()) rpcClient := client.NewRpcClient(rawRpcClient, infuraIPC) ethClient := ethclient.NewClient(rawRpcClient) blockChainClient := client.NewEthClient(ethClient) node := node.MakeNode(rpcClient) transactionConverter := rpc2.NewRpcTransactionConverter(ethClient) blockChain := geth.NewBlockChain(blockChainClient, rpcClient, node, transactionConverter) db, err := postgres.NewDB(config.Database{ Hostname: "localhost", Name: "vulcanize_private", Port: 5432, }, blockChain.Node()) Expect(err).NotTo(HaveOccurred()) return db, blockChain } func TearDown(db *postgres.DB) { tx, err := db.Begin() Expect(err).NotTo(HaveOccurred()) _, err = tx.Exec(`DELETE FROM headers`) Expect(err).NotTo(HaveOccurred()) _, err = tx.Exec(`DELETE FROM logs`) Expect(err).NotTo(HaveOccurred()) _, err = tx.Exec(`DELETE FROM log_filters`) Expect(err).NotTo(HaveOccurred()) _, err = tx.Exec(`DELETE FROM transactions`) Expect(err).NotTo(HaveOccurred()) _, err = tx.Exec(`DELETE FROM receipts`) Expect(err).NotTo(HaveOccurred()) _, err = tx.Exec(`DELETE FROM checked_headers`) Expect(err).NotTo(HaveOccurred()) _, err = tx.Exec(`DELETE FROM maker.bite`) Expect(err).NotTo(HaveOccurred()) err = tx.Commit() Expect(err).NotTo(HaveOccurred()) }