feat(tests): update docker app (#402)

Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
Co-authored-by: ChuhanJin <60994121+ChuhanJin@users.noreply.github.com>
Co-authored-by: vincent <419436363@qq.com>
Co-authored-by: colinlyguo <651734127@qq.com>
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
This commit is contained in:
maskpp
2023-04-13 08:40:51 +08:00
committed by GitHub
parent 2b2cc62efe
commit c13e8aafc4
15 changed files with 195 additions and 236 deletions

View File

@@ -16,7 +16,6 @@ import (
"github.com/scroll-tech/go-ethereum/rpc"
"github.com/stretchr/testify/assert"
"scroll-tech/database"
_ "scroll-tech/database/cmd/app"
_ "scroll-tech/roller/cmd/app"
@@ -43,7 +42,6 @@ var (
wsPort int64
bridgeFile string
dbFile string
coordinatorFile string
bboltDB string
@@ -61,7 +59,6 @@ func setupEnv(t *testing.T) {
// Load reset and store config into a random file.
bridgeFile = mockBridgeConfig(t)
dbFile = mockDatabaseConfig(t)
coordinatorFile = mockCoordinatorConfig(t)
rollerFile = mockRollerConfig(t)
}
@@ -71,49 +68,40 @@ func free(t *testing.T) {
// Delete temporary files.
assert.NoError(t, os.Remove(bridgeFile))
assert.NoError(t, os.Remove(dbFile))
assert.NoError(t, os.Remove(coordinatorFile))
assert.NoError(t, os.Remove(rollerFile))
assert.NoError(t, os.Remove(bboltDB))
}
type appAPI interface {
OpenLog(open bool)
WaitResult(t *testing.T, timeout time.Duration, keyword string) bool
RunApp(waitResult func() bool)
WaitExit()
ExpectWithTimeout(t *testing.T, parallel bool, timeout time.Duration, keyword string)
}
func runMsgRelayerApp(t *testing.T, args ...string) appAPI {
func runMsgRelayerApp(t *testing.T, args ...string) docker.AppAPI {
args = append(args, "--log.debug", "--config", bridgeFile)
app := cmd.NewCmd("message-relayer-test", args...)
app.OpenLog(true)
return app
}
func runGasOracleApp(t *testing.T, args ...string) appAPI {
func runGasOracleApp(t *testing.T, args ...string) docker.AppAPI {
args = append(args, "--log.debug", "--config", bridgeFile)
app := cmd.NewCmd("gas-oracle-test", args...)
app.OpenLog(true)
return app
}
func runRollupRelayerApp(t *testing.T, args ...string) appAPI {
func runRollupRelayerApp(t *testing.T, args ...string) docker.AppAPI {
args = append(args, "--log.debug", "--config", bridgeFile)
app := cmd.NewCmd("rollup-relayer-test", args...)
app.OpenLog(true)
return app
}
func runEventWatcherApp(t *testing.T, args ...string) appAPI {
func runEventWatcherApp(t *testing.T, args ...string) docker.AppAPI {
args = append(args, "--log.debug", "--config", bridgeFile)
app := cmd.NewCmd("event-watcher-test", args...)
app.OpenLog(true)
return app
}
func runCoordinatorApp(t *testing.T, args ...string) appAPI {
func runCoordinatorApp(t *testing.T, args ...string) docker.AppAPI {
args = append(args, "--log.debug", "--config", coordinatorFile, "--ws", "--ws.port", strconv.Itoa(int(wsPort)))
// start process
app := cmd.NewCmd("coordinator-test", args...)
@@ -122,7 +110,7 @@ func runCoordinatorApp(t *testing.T, args ...string) appAPI {
}
func runDBCliApp(t *testing.T, option, keyword string) {
args := []string{option, "--config", dbFile}
args := []string{option, "--config", base.DBConfigFile}
app := cmd.NewCmd("db_cli-test", args...)
app.OpenLog(true)
defer app.WaitExit()
@@ -132,7 +120,7 @@ func runDBCliApp(t *testing.T, option, keyword string) {
app.RunApp(nil)
}
func runRollerApp(t *testing.T, args ...string) appAPI {
func runRollerApp(t *testing.T, args ...string) docker.AppAPI {
args = append(args, "--log.debug", "--config", rollerFile)
app := cmd.NewCmd("roller-test", args...)
app.OpenLog(true)
@@ -160,11 +148,11 @@ func mockBridgeConfig(t *testing.T) string {
cfg, err := bridgeConfig.NewConfig("../../bridge/config.json")
assert.NoError(t, err)
cfg.L1Config.Endpoint = base.L1GethEndpoint()
cfg.L2Config.RelayerConfig.SenderConfig.Endpoint = base.L1GethEndpoint()
cfg.L2Config.Endpoint = base.L2GethEndpoint()
cfg.L1Config.RelayerConfig.SenderConfig.Endpoint = base.L2GethEndpoint()
cfg.DBConfig.DSN = base.DBEndpoint()
cfg.L1Config.Endpoint = base.L1gethImg.Endpoint()
cfg.L2Config.RelayerConfig.SenderConfig.Endpoint = base.L1gethImg.Endpoint()
cfg.L2Config.Endpoint = base.L2gethImg.Endpoint()
cfg.L1Config.RelayerConfig.SenderConfig.Endpoint = base.L2gethImg.Endpoint()
cfg.DBConfig = base.DBConfig
// Store changed bridge config into a temp file.
data, err := json.Marshal(cfg)
@@ -182,9 +170,9 @@ func mockCoordinatorConfig(t *testing.T) string {
cfg.RollerManagerConfig.Verifier.MockMode = true
cfg.DBConfig.DSN = base.DBEndpoint()
cfg.DBConfig = base.DBConfig
cfg.L2Config.Endpoint = base.L2GethEndpoint()
cfg.L2Config.Endpoint = base.L2gethImg.Endpoint()
data, err := json.Marshal(cfg)
assert.NoError(t, err)
@@ -197,11 +185,7 @@ func mockCoordinatorConfig(t *testing.T) string {
}
func mockDatabaseConfig(t *testing.T) string {
cfg, err := database.NewConfig("../../database/config.json")
assert.NoError(t, err)
cfg.DSN = base.DBEndpoint()
data, err := json.Marshal(cfg)
data, err := json.Marshal(base.DBConfig)
assert.NoError(t, err)
file := fmt.Sprintf("/tmp/%d_db-config.json", timestamp)