Skip to content

Commit

Permalink
test(eventindexer): testing configs (#14675)
Browse files Browse the repository at this point in the history
  • Loading branch information
RogerLamTd authored Sep 12, 2023
1 parent 861c7f3 commit c60f716
Show file tree
Hide file tree
Showing 8 changed files with 132 additions and 17 deletions.
1 change: 1 addition & 0 deletions packages/eventindexer/cmd/flags/indexer.go
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ var (
var IndexerFlags = MergeFlags(CommonFlags, []cli.Flag{
RPCUrl,
// optional
ETHClientTimeout,
L1TaikoAddress,
HTTPPort,
MetricsHTTPPort,
Expand Down
4 changes: 2 additions & 2 deletions packages/eventindexer/indexer/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ type Config struct {
SwapAddresses []common.Address
CORSOrigins []string
BlockBatchSize uint64
Subscriptionbackoff uint64
SubscriptionBackoff uint64
SyncMode SyncMode
WatchMode WatchMode
IndexNFTs bool
Expand Down Expand Up @@ -78,7 +78,7 @@ func NewConfigFromCliContext(c *cli.Context) (*Config, error) {
SwapAddresses: swaps,
CORSOrigins: cors,
BlockBatchSize: c.Uint64(flags.BlockBatchSize.Name),
Subscriptionbackoff: c.Uint64(flags.SubscriptionBackoff.Name),
SubscriptionBackoff: c.Uint64(flags.SubscriptionBackoff.Name),
RPCUrl: c.String(flags.RPCUrl.Name),
WatchMode: WatchMode(c.String(flags.WatchMode.Name)),
SyncMode: SyncMode(c.String(flags.SyncMode.Name)),
Expand Down
43 changes: 38 additions & 5 deletions packages/eventindexer/indexer/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,22 @@ import (
)

var (
httpPort = "1000"
metricsHttpPort = "1001"
l1TaikoAddress = "0x63FaC9201494f0bd17B9892B9fae4d52fe3BD377"
bridgeAddress = "0x73FaC9201494f0bd17B9892B9fae4d52fe3BD377"
swapAddresses = "0x33FaC9201494f0bd17B9892B9fae4d52fe3BD377,0x13FaC9201494f0bd17B9892B9fae4d52fe3BD377"
httpPort = "1000"
metricsHttpPort = "1001"
l1TaikoAddress = "0x63FaC9201494f0bd17B9892B9fae4d52fe3BD377"
bridgeAddress = "0x73FaC9201494f0bd17B9892B9fae4d52fe3BD377"
swapAddresses = "0x33FaC9201494f0bd17B9892B9fae4d52fe3BD377,0x13FaC9201494f0bd17B9892B9fae4d52fe3BD377"
corsOrigins = "http://localhost:3000,http://localhost:3001"
databaseMaxIdleConns = "10"
databaseMaxOpenConns = "10"
databaseMaxConnLifetime = "30"
ethClientTimeout = "30"
blockBatchSize = "100"
subscriptionBackoff = "30"
syncMode = "sync"
watchMode = "filter"
indexNFTs = "true"
layer = "l1"
)

func setupApp() *cli.App {
Expand Down Expand Up @@ -44,6 +55,17 @@ func TestNewConfigFromCliContext(t *testing.T) {
assert.Equal(t, uint64(1001), c.MetricsHTTPPort)
assert.Equal(t, common.HexToAddress(l1TaikoAddress), c.L1TaikoAddress)
assert.Equal(t, common.HexToAddress(bridgeAddress), c.BridgeAddress)
assert.Equal(t, uint64(10), c.DatabaseMaxIdleConns)
assert.Equal(t, uint64(10), c.DatabaseMaxOpenConns)
assert.Equal(t, uint64(30), c.DatabaseMaxConnLifetime)
assert.Equal(t, uint64(30), c.ETHClientTimeout)
assert.Equal(t, uint64(100), c.BlockBatchSize)
assert.Equal(t, uint64(30), c.SubscriptionBackoff)
assert.Equal(t, SyncMode(syncMode), c.SyncMode)
assert.Equal(t, WatchMode(watchMode), c.WatchMode)
assert.Equal(t, true, c.IndexNFTs)
assert.Equal(t, layer, c.Layer)
assert.NotNil(t, c.OpenDBFunc)

// assert.Nil(t, InitFromConfig(context.Background(), new(Indexer), c))

Expand All @@ -62,5 +84,16 @@ func TestNewConfigFromCliContext(t *testing.T) {
"-" + flags.SwapAddresses.Name, swapAddresses,
"-" + flags.HTTPPort.Name, httpPort,
"-" + flags.MetricsHTTPPort.Name, metricsHttpPort,
"-" + flags.CORSOrigins.Name, corsOrigins,
"-" + flags.DatabaseMaxIdleConns.Name, databaseMaxIdleConns,
"-" + flags.DatabaseMaxOpenConns.Name, databaseMaxOpenConns,
"-" + flags.DatabaseConnMaxLifetime.Name, databaseMaxConnLifetime,
"-" + flags.ETHClientTimeout.Name, ethClientTimeout,
"-" + flags.BlockBatchSize.Name, blockBatchSize,
"-" + flags.SubscriptionBackoff.Name, subscriptionBackoff,
"-" + flags.SyncMode.Name, syncMode,
"-" + flags.WatchMode.Name, watchMode,
"-" + flags.IndexNFTs.Name, indexNFTs,
"-" + flags.Layer.Name, layer,
}))
}
2 changes: 1 addition & 1 deletion packages/eventindexer/indexer/indexer.go
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ func InitFromConfig(ctx context.Context, i *Indexer, cfg *Config) error {
i.bridge = bridgeContract
i.swaps = swapContracts
i.blockBatchSize = cfg.BlockBatchSize
i.subscriptionBackoff = time.Duration(cfg.Subscriptionbackoff) * time.Second
i.subscriptionBackoff = time.Duration(cfg.SubscriptionBackoff) * time.Second
i.srv = srv
i.httpPort = cfg.HTTPPort
i.wg = &sync.WaitGroup{}
Expand Down
4 changes: 2 additions & 2 deletions packages/relayer/cmd/flags/indexer.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,9 @@ var (
CORSOrigins = &cli.StringFlag{
Name: "http.corsOrigins",
Usage: "Comma-delinated list of cors origins",
Required: false,
Category: indexerCategory,
Value: "*",
Category: commonCategory,
EnvVars: []string{"HTTP_CORS_ORIGINS"},
}
)

Expand Down
36 changes: 33 additions & 3 deletions packages/relayer/indexer/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,19 @@ import (
)

var (
srcTaikoAddr = "0x53FaC9201494f0bd17B9892B9fae4d52fe3BD377"
srcBridgeAddr = "0x73FaC9201494f0bd17B9892B9fae4d52fe3BD377"
destBridgeAddr = "0x63FaC9201494f0bd17B9892B9fae4d52fe3BD377"
srcTaikoAddr = "0x53FaC9201494f0bd17B9892B9fae4d52fe3BD377"
srcBridgeAddr = "0x73FaC9201494f0bd17B9892B9fae4d52fe3BD377"
destBridgeAddr = "0x63FaC9201494f0bd17B9892B9fae4d52fe3BD377"
ethClientTimeout = "10"
databaseMaxIdleConns = "10"
databaseMaxOpenConns = "10"
databaseMaxConnLifetime = "30"
blockBatchSize = "100"
numGoroutines = "10"
subscriptionBackoff = "30"
syncMode = "sync"
watchMode = "filter"
HTTPPort = "1000"
)

func setupApp() *cli.App {
Expand Down Expand Up @@ -48,6 +58,16 @@ func TestNewConfigFromCliContext(t *testing.T) {
assert.Equal(t, common.HexToAddress(srcBridgeAddr), c.SrcBridgeAddress)
assert.Equal(t, common.HexToAddress(srcTaikoAddr), c.SrcTaikoAddress)
assert.Equal(t, []string{"*"}, c.CORSOrigins)
assert.Equal(t, uint64(10), c.ETHClientTimeout)
assert.Equal(t, uint64(10), c.DatabaseMaxIdleConns)
assert.Equal(t, uint64(10), c.DatabaseMaxOpenConns)
assert.Equal(t, uint64(30), c.DatabaseMaxConnLifetime)
assert.Equal(t, uint64(100), c.BlockBatchSize)
assert.Equal(t, uint64(10), c.NumGoroutines)
assert.Equal(t, uint64(30), c.SubscriptionBackoff)
assert.Equal(t, SyncMode(syncMode), c.SyncMode)
assert.Equal(t, WatchMode(watchMode), c.WatchMode)
assert.Equal(t, uint64(1000), c.HTTPPort)

c.OpenDBFunc = func() (DB, error) {
return &mock.DB{}, nil
Expand Down Expand Up @@ -78,5 +98,15 @@ func TestNewConfigFromCliContext(t *testing.T) {
"-" + flags.SrcBridgeAddress.Name, srcBridgeAddr,
"-" + flags.SrcTaikoAddress.Name, srcTaikoAddr,
"-" + flags.CORSOrigins.Name, "*",
"-" + flags.ETHClientTimeout.Name, ethClientTimeout,
"-" + flags.DatabaseMaxOpenConns.Name, databaseMaxOpenConns,
"-" + flags.DatabaseMaxIdleConns.Name, databaseMaxIdleConns,
"-" + flags.DatabaseConnMaxLifetime.Name, databaseMaxConnLifetime,
"-" + flags.BlockBatchSize.Name, blockBatchSize,
"-" + flags.MaxNumGoroutines.Name, numGoroutines,
"-" + flags.SubscriptionBackoff.Name, subscriptionBackoff,
"-" + flags.SyncMode.Name, syncMode,
"-" + flags.WatchMode.Name, watchMode,
"-" + flags.HTTPPort.Name, HTTPPort,
}))
}
3 changes: 0 additions & 3 deletions packages/relayer/processor/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package processor
import (
"crypto/ecdsa"
"fmt"
"strings"

"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/crypto"
Expand Down Expand Up @@ -56,7 +55,6 @@ type Config struct {
SrcRPCUrl string
DestRPCUrl string
ETHClientTimeout uint64
CORSOrigins []string
OpenQueueFunc func() (queue.Queue, error)
OpenDBFunc func() (DB, error)
}
Expand Down Expand Up @@ -91,7 +89,6 @@ func NewConfigFromCliContext(c *cli.Context) (*Config, error) {
QueueHost: c.String(flags.QueueHost.Name),
SrcRPCUrl: c.String(flags.SrcRPCUrl.Name),
DestRPCUrl: c.String(flags.DestRPCUrl.Name),
CORSOrigins: strings.Split(c.String(flags.CORSOrigins.Name), ","),
HeaderSyncInterval: c.Uint64(flags.HeaderSyncInterval.Name),
Confirmations: c.Uint64(flags.Confirmations.Name),
ConfirmationsTimeout: c.Uint64(flags.ConfirmationTimeout.Name),
Expand Down
56 changes: 55 additions & 1 deletion packages/relayer/processor/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,17 @@ import (
)

var (
destBridgeAddr = "0x63FaC9201494f0bd17B9892B9fae4d52fe3BD377"
destBridgeAddr = "0x63FaC9201494f0bd17B9892B9fae4d52fe3BD377"
headerSyncInterval = "30"
confirmations = "10"
confirmationTimeout = "30"
profitableOnly = "true"
backoffRetryInterval = "20"
backOffMaxRetrys = "10"
databaseMaxIdleConns = "10"
databaseMaxOpenConns = "10"
databaseMaxConnLifetime = "30"
ethClientTimeout = "10"
)

func setupApp() *cli.App {
Expand Down Expand Up @@ -48,6 +58,16 @@ func TestNewConfigFromCliContext(t *testing.T) {
assert.Equal(t, common.HexToAddress(destBridgeAddr), c.DestERC721VaultAddress)
assert.Equal(t, common.HexToAddress(destBridgeAddr), c.DestERC1155VaultAddress)
assert.Equal(t, common.HexToAddress(destBridgeAddr), c.DestTaikoAddress)
assert.Equal(t, uint64(30), c.HeaderSyncInterval)
assert.Equal(t, uint64(10), c.Confirmations)
assert.Equal(t, uint64(30), c.ConfirmationsTimeout)
assert.Equal(t, uint64(20), c.BackoffRetryInterval)
assert.Equal(t, uint64(10), c.BackOffMaxRetrys)
assert.Equal(t, uint64(10), c.DatabaseMaxIdleConns)
assert.Equal(t, uint64(10), c.DatabaseMaxOpenConns)
assert.Equal(t, uint64(30), c.DatabaseMaxConnLifetime)
assert.Equal(t, uint64(10), c.ETHClientTimeout)
assert.Equal(t, true, c.ProfitableOnly)

c.OpenDBFunc = func() (DB, error) {
return &mock.DB{}, nil
Expand Down Expand Up @@ -81,5 +101,39 @@ func TestNewConfigFromCliContext(t *testing.T) {
"-" + flags.DestERC1155VaultAddress.Name, destBridgeAddr,
"-" + flags.DestTaikoAddress.Name, destBridgeAddr,
"-" + flags.ProcessorPrivateKey.Name, dummyEcdsaKey,
"-" + flags.HeaderSyncInterval.Name, headerSyncInterval,
"-" + flags.Confirmations.Name, confirmations,
"-" + flags.ConfirmationTimeout.Name, confirmationTimeout,
"-" + flags.BackOffRetryInterval.Name, backoffRetryInterval,
"-" + flags.BackOffMaxRetrys.Name, backOffMaxRetrys,
"-" + flags.DatabaseMaxIdleConns.Name, databaseMaxIdleConns,
"-" + flags.DatabaseMaxOpenConns.Name, databaseMaxOpenConns,
"-" + flags.DatabaseConnMaxLifetime.Name, databaseMaxConnLifetime,
"-" + flags.ETHClientTimeout.Name, ethClientTimeout,
"-" + flags.ProfitableOnly.Name, profitableOnly,
}))
}

func TestNewConfigFromCliContext_PrivKeyError(t *testing.T) {
app := setupApp()
assert.ErrorContains(t, app.Run([]string{
"TestingNewConfigFromCliContext",
"-" + flags.DatabaseUsername.Name, "dbuser",
"-" + flags.DatabasePassword.Name, "dbpass",
"-" + flags.DatabaseHost.Name, "dbhost",
"-" + flags.DatabaseName.Name, "dbname",
"-" + flags.QueueUsername.Name, "queuename",
"-" + flags.QueuePassword.Name, "queuepassword",
"-" + flags.QueueHost.Name, "queuehost",
"-" + flags.QueuePort.Name, "5555",
"-" + flags.SrcRPCUrl.Name, "srcRpcUrl",
"-" + flags.DestRPCUrl.Name, "destRpcUrl",
"-" + flags.DestBridgeAddress.Name, destBridgeAddr,
"-" + flags.SrcSignalServiceAddress.Name, destBridgeAddr,
"-" + flags.DestERC721VaultAddress.Name, destBridgeAddr,
"-" + flags.DestERC20VaultAddress.Name, destBridgeAddr,
"-" + flags.DestERC1155VaultAddress.Name, destBridgeAddr,
"-" + flags.DestTaikoAddress.Name, destBridgeAddr,
"-" + flags.ProcessorPrivateKey.Name, "invalid-priv-key",
}), "invalid processorPrivateKey")
}

0 comments on commit c60f716

Please sign in to comment.