Environment improvements for Docker and testing. (#83)
* Add docker-compose.yml * Typo * Tweak defaults * Get e2e test from env, and also allow defaults. * Remove compose stuff.
This commit is contained in:
parent
20804bd30c
commit
56ae836b09
@ -17,12 +17,14 @@ import (
|
||||
"github.com/vulcanize/ipld-eth-beacon-indexer/pkg/beaconclient"
|
||||
"github.com/vulcanize/ipld-eth-beacon-indexer/pkg/database/sql"
|
||||
"math/big"
|
||||
"os"
|
||||
"strconv"
|
||||
"time"
|
||||
)
|
||||
|
||||
var _ = Describe("e2emerge", Label("e2e"), func() {
|
||||
e2eConfig := TestConfig
|
||||
e2eConfig.port = 5052
|
||||
e2eConfig.port = getEnvInt("TEST_E2E_LIGHTHOUSE_PORT", 5052)
|
||||
e2eConfig.performBeaconStateProcessing = false
|
||||
e2eConfig.performBeaconBlockProcessing = true
|
||||
|
||||
@ -123,10 +125,10 @@ func sendTestTx() (*SentTx, error) {
|
||||
tx, err := sendTransaction(
|
||||
ctx,
|
||||
eth,
|
||||
"0xe6ce22afe802caf5ff7d3845cec8c736ecc8d61f",
|
||||
"0xe22AD83A0dE117bA0d03d5E94Eb4E0d80a69C62a",
|
||||
10,
|
||||
"0x888814df89c4358d7ddb3fa4b0213e7331239a80e1f013eaa7b2deca2a41a218",
|
||||
getEnvStr("TEST_E2E_FROM_ADDR", "0xe6ce22afe802caf5ff7d3845cec8c736ecc8d61f"),
|
||||
getEnvStr("TEST_E2E_TO_ADDR", "0xe22AD83A0dE117bA0d03d5E94Eb4E0d80a69C62a"),
|
||||
int64(getEnvInt("TEST_E2E_AMOUNT", 10)),
|
||||
getEnvStr("TEST_E2E_SIGNING_KEY", "0x888814df89c4358d7ddb3fa4b0213e7331239a80e1f013eaa7b2deca2a41a218"),
|
||||
)
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
|
||||
@ -155,7 +157,7 @@ func sendTestTx() (*SentTx, error) {
|
||||
}
|
||||
|
||||
func createClient() (*ethclient.Client, error) {
|
||||
return ethclient.Dial("http://localhost:8545")
|
||||
return ethclient.Dial(getEnvStr("TEST_E2E_GETH_URL", "http://localhost:8545"))
|
||||
}
|
||||
|
||||
// sendTransaction sends a transaction with 1 ETH to a specified address.
|
||||
@ -165,7 +167,7 @@ func sendTransaction(ctx context.Context, eth *ethclient.Client, fromAddr string
|
||||
to = common.HexToAddress(toAddr)
|
||||
sk = crypto.ToECDSAUnsafe(common.FromHex(signingKey))
|
||||
value = big.NewInt(amount)
|
||||
gasLimit = uint64(21000)
|
||||
gasLimit = uint64(getEnvInt("TEST_E2E_GAS_LIMIT", 21000))
|
||||
)
|
||||
// Retrieve the chainid (needed for signer)
|
||||
chainid, err := eth.ChainID(ctx)
|
||||
@ -180,6 +182,8 @@ func sendTransaction(ctx context.Context, eth *ethclient.Client, fromAddr string
|
||||
// Get suggested gas price
|
||||
tipCap, _ := eth.SuggestGasTipCap(ctx)
|
||||
feeCap, _ := eth.SuggestGasPrice(ctx)
|
||||
log.Info("Tip cap: ", tipCap)
|
||||
log.Info("Fee cap: ", feeCap)
|
||||
// Create a new transaction
|
||||
tx := types.NewTx(
|
||||
&types.DynamicFeeTx{
|
||||
@ -197,3 +201,25 @@ func sendTransaction(ctx context.Context, eth *ethclient.Client, fromAddr string
|
||||
// Send the transaction to our node
|
||||
return signedTx, eth.SendTransaction(ctx, signedTx)
|
||||
}
|
||||
|
||||
func getEnvStr(envVar string, def string) string {
|
||||
value, set := os.LookupEnv(envVar)
|
||||
if set {
|
||||
return value
|
||||
} else {
|
||||
return def
|
||||
}
|
||||
}
|
||||
|
||||
func getEnvInt(envVar string, def int) int {
|
||||
value, set := os.LookupEnv(envVar)
|
||||
if set {
|
||||
number, err := strconv.Atoi(value)
|
||||
if err != nil {
|
||||
return def
|
||||
}
|
||||
return number
|
||||
} else {
|
||||
return def
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ package beaconclient_test
|
||||
import (
|
||||
log "github.com/sirupsen/logrus"
|
||||
"os"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
. "github.com/onsi/ginkgo/v2"
|
||||
@ -15,9 +14,9 @@ var (
|
||||
prodConfig = Config{
|
||||
protocol: os.Getenv("bc_protocol"),
|
||||
address: os.Getenv("bc_address"),
|
||||
port: getEnvInt(os.Getenv("bc_port")),
|
||||
port: getEnvInt(os.Getenv("bc_port"), 5052),
|
||||
dbHost: os.Getenv("db_host"),
|
||||
dbPort: getEnvInt(os.Getenv("db_port")),
|
||||
dbPort: getEnvInt(os.Getenv("db_port"), 8076),
|
||||
dbName: os.Getenv("db_name"),
|
||||
dbUser: os.Getenv("db_user"),
|
||||
dbPassword: os.Getenv("db_password"),
|
||||
@ -62,15 +61,6 @@ var _ = Describe("Systemvalidation", Label("system"), func() {
|
||||
})
|
||||
})
|
||||
|
||||
// Wrapper function to get int env variables.
|
||||
func getEnvInt(envVar string) int {
|
||||
val, err := strconv.Atoi(envVar)
|
||||
if err != nil {
|
||||
return 0
|
||||
}
|
||||
return val
|
||||
}
|
||||
|
||||
// Start head tracking and wait for the expected results.
|
||||
func processProdHeadBlocks(bc *beaconclient.BeaconClient, expectedInserts, expectedReorgs, expectedKnownGaps, expectedKnownGapsReprocessError uint64) {
|
||||
go bc.CaptureHead()
|
||||
|
Loading…
Reference in New Issue
Block a user