64 lines
1.3 KiB
Go
64 lines
1.3 KiB
Go
|
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)
|
||
|
// }
|
||
|
}
|