Commit 5d4a5bb9 authored by Ethen Pociask's avatar Ethen Pociask

[indexer.client] Added client to indexer tests

parent a97ed3bd
......@@ -6,7 +6,6 @@ import (
"net/http"
"github.com/ethereum-optimism/optimism/indexer/database"
"github.com/ethereum-optimism/optimism/indexer/db"
"github.com/ethereum/go-ethereum/common"
)
......@@ -30,8 +29,8 @@ func (ec *Client) Close() {
}
// GetDepositsByAddress returns all associated (L1->L2) deposits for a provided L1 address.
func (ic *Client) GetDepositsByAddress(addr common.Address) ([]*database.DepositWithTransactionHash, error) {
var deposits []*database.DepositWithTransactionHash
func (ic *Client) GetDepositsByAddress(addr common.Address) ([]*database.L1BridgeDepositWithTransactionHashes, error) {
var deposits []*database.L1BridgeDepositWithTransactionHashes
resp, err := ic.c.Get(ic.url + depositPath + addr.Hex())
if err != nil {
return nil, err
......@@ -51,8 +50,8 @@ func (ic *Client) GetDepositsByAddress(addr common.Address) ([]*database.Deposit
}
// GetWithdrawalsByAddress returns all associated (L2->L1) withdrawals for a provided L2 address.
func (ic *Client) GetWithdrawalsByAddress(addr common.Address) (*db.PaginatedWithdrawals, error) {
var deposits *db.PaginatedWithdrawals
func (ic *Client) GetWithdrawalsByAddress(addr common.Address) ([]*database.L2BridgeWithdrawalWithTransactionHashes, error) {
var withdrawals []*database.L2BridgeWithdrawalWithTransactionHashes
resp, err := ic.c.Get(ic.url + depositPath + addr.Hex())
if err != nil {
return nil, err
......@@ -64,9 +63,9 @@ func (ic *Client) GetWithdrawalsByAddress(addr common.Address) (*db.PaginatedWit
return nil, fmt.Errorf("unexpected status code: %d", resp.StatusCode)
}
if err := json.NewDecoder(resp.Body).Decode(&deposits); err != nil {
if err := json.NewDecoder(resp.Body).Decode(&withdrawals); err != nil {
return nil, err
}
return deposits, nil
return withdrawals, nil
}
......@@ -280,4 +280,10 @@ func TestE2EBridgeTransfersL2ToL1MessagePasserReceive(t *testing.T) {
require.NoError(t, err)
require.Equal(t, proveReceipt.TxHash, aliceWithdrawals[0].ProvenL1TransactionHash)
require.Equal(t, finalizeReceipt.TxHash, aliceWithdrawals[0].FinalizedL1TransactionHash)
// (3) Test API query for L2ToL1MessagePasser withdrawals
respWithdrawals, err := testSuite.Client.GetWithdrawalsByAddress(aliceAddr)
require.NoError(t, err)
require.Equal(t, proveReceipt.TxHash, respWithdrawals[0].ProvenL1TransactionHash)
require.Equal(t, finalizeReceipt.TxHash, respWithdrawals[0].FinalizedL1TransactionHash)
}
......@@ -5,12 +5,14 @@ import (
"database/sql"
"fmt"
"io/fs"
"net/http"
"os"
"path/filepath"
"testing"
"time"
"github.com/ethereum-optimism/optimism/indexer"
"github.com/ethereum-optimism/optimism/indexer/api"
"github.com/ethereum-optimism/optimism/indexer/config"
"github.com/ethereum-optimism/optimism/indexer/database"
"github.com/ethereum-optimism/optimism/indexer/processor"
......@@ -28,6 +30,7 @@ type E2ETestSuite struct {
t *testing.T
// Indexer
Client *api.Client
DB *database.DB
Indexer *indexer.Indexer
......@@ -79,6 +82,10 @@ func createE2ETestSuite(t *testing.T) E2ETestSuite {
L1ERC721Bridge: opCfg.L1Deployments.L1ERC721BridgeProxy,
},
},
API: config.APIConfig{
Host: "127.0.0.1",
Port: 5345,
},
}
db, err := database.NewDB(fmt.Sprintf("postgres://%s@localhost:5432/%s?sslmode=disable", dbUser, dbName))
......@@ -86,6 +93,10 @@ func createE2ETestSuite(t *testing.T) E2ETestSuite {
indexer, err := indexer.NewIndexer(indexerCfg)
require.NoError(t, err)
client := api.NewClient(
&http.Client{},
fmt.Sprintf("http://%s:%d", indexerCfg.API.Host, indexerCfg.API.Port))
indexerStoppedCh := make(chan interface{}, 1)
indexerCtx, indexerStop := context.WithCancel(context.Background())
go func() {
......@@ -106,6 +117,7 @@ func createE2ETestSuite(t *testing.T) E2ETestSuite {
return E2ETestSuite{
t: t,
DB: db,
Client: client,
Indexer: indexer,
OpCfg: &opCfg,
OpSys: opSys,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment