ipld-eth-state-snapshot/pkg/snapshot/service_test.go

64 lines
1.3 KiB
Go
Raw Normal View History

2022-01-11 00:59:15 +00:00
package snapshot
import (
"path/filepath"
"testing"
ethNode "github.com/ethereum/go-ethereum/statediff/indexer/node"
"github.com/ethereum/go-ethereum/statediff/indexer/postgres"
)
func testConfig(leveldbpath, ancientdbpath string) *Config {
dbParams := postgres.ConnectionParams{}
dbParams.Name = "snapshot_test"
dbParams.Hostname = "localhost"
dbParams.Port = 5432
dbParams.User = "tester"
dbParams.Password = "test_pw"
uri := postgres.DbConnectionString(dbParams)
dbconfig := postgres.ConnectionConfig{
MaxIdle: 0,
MaxLifetime: 0,
MaxOpen: 4,
}
nodeinfo := ethNode.Info{
ID: "eth_node_id",
ClientName: "eth_client",
GenesisBlock: "X",
NetworkID: "eth_network",
ChainID: 0,
}
return &Config{
LevelDBPath: leveldbpath,
AncientDBPath: ancientdbpath,
Node: nodeinfo,
connectionURI: uri,
DBConfig: dbconfig,
}
}
func TestCreateSnapshot(t *testing.T) {
datadir := t.TempDir()
config := testConfig(
filepath.Join(datadir, "leveldb"),
filepath.Join(datadir, "ancient"),
)
service, err := NewSnapshotService(config)
if err != nil {
t.Fatal(err)
}
params := SnapshotParams{Height: 1}
err = service.CreateSnapshot(params)
if err != nil {
t.Fatal(err)
}
// err = service.CreateLatestSnapshot(0)
// if err != nil {
// t.Fatal(err)
// }
}