mirror of
https://github.com/scroll-tech/scroll.git
synced 2026-01-15 00:48:01 -05:00
86 lines
3.9 KiB
Go
86 lines
3.9 KiB
Go
package config
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"os"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestConfig(t *testing.T) {
|
|
t.Run("Success Case", func(t *testing.T) {
|
|
cfg, err := NewConfig("../../conf/config.json")
|
|
assert.NoError(t, err)
|
|
|
|
data, err := json.Marshal(cfg)
|
|
assert.NoError(t, err)
|
|
|
|
tmpJSON := fmt.Sprintf("/tmp/%d_rollup_config.json", time.Now().Nanosecond())
|
|
defer func() {
|
|
if _, err = os.Stat(tmpJSON); err == nil {
|
|
assert.NoError(t, os.Remove(tmpJSON))
|
|
}
|
|
}()
|
|
|
|
assert.NoError(t, os.WriteFile(tmpJSON, data, 0644))
|
|
|
|
cfg2, err := NewConfig(tmpJSON)
|
|
assert.NoError(t, err)
|
|
|
|
assert.Equal(t, cfg.L1Config, cfg2.L1Config)
|
|
assert.Equal(t, cfg.L2Config, cfg2.L2Config)
|
|
assert.Equal(t, cfg.DBConfig, cfg2.DBConfig)
|
|
})
|
|
|
|
t.Run("File Not Found", func(t *testing.T) {
|
|
_, err := NewConfig("non_existent_file.json")
|
|
assert.ErrorIs(t, err, os.ErrNotExist)
|
|
})
|
|
|
|
t.Run("Invalid JSON Content", func(t *testing.T) {
|
|
// Create a temporary file with invalid JSON content
|
|
tmpFile, err := os.CreateTemp("", "invalid_json_config.json")
|
|
assert.NoError(t, err)
|
|
defer func() {
|
|
assert.NoError(t, tmpFile.Close())
|
|
assert.NoError(t, os.Remove(tmpFile.Name()))
|
|
}()
|
|
|
|
_, err = tmpFile.WriteString("{ invalid_json: ")
|
|
assert.NoError(t, err)
|
|
|
|
_, err = NewConfig(tmpFile.Name())
|
|
assert.Error(t, err)
|
|
})
|
|
|
|
t.Run("Override config value", func(t *testing.T) {
|
|
cfg, err := NewConfig("../../conf/config.json")
|
|
assert.NoError(t, err)
|
|
|
|
os.Setenv("SCROLL_ROLLUP_DB_CONFIG_DSN", "postgres://test:test@postgresql:5432/scroll?sslmode=disable")
|
|
os.Setenv("SCROLL_ROLLUP_L1_CONFIG_RELAYER_CONFIG_GAS_ORACLE_SENDER_SIGNER_CONFIG_PRIVATE_KEY_SIGNER_CONFIG_PRIVATE_KEY", "1616161616161616161616161616161616161616161616161616161616161616")
|
|
os.Setenv("SCROLL_ROLLUP_L2_CONFIG_RELAYER_CONFIG_GAS_ORACLE_SENDER_SIGNER_CONFIG_PRIVATE_KEY_SIGNER_CONFIG_PRIVATE_KEY", "1717171717171717171717171717171717171717171717171717171717171717")
|
|
os.Setenv("SCROLL_ROLLUP_L2_CONFIG_RELAYER_CONFIG_COMMIT_SENDER_SIGNER_CONFIG_PRIVATE_KEY_SIGNER_CONFIG_PRIVATE_KEY", "1818181818181818181818181818181818181818181818181818181818181818")
|
|
os.Setenv("SCROLL_ROLLUP_L2_CONFIG_RELAYER_CONFIG_FINALIZE_SENDER_SIGNER_CONFIG_PRIVATE_KEY_SIGNER_CONFIG_PRIVATE_KEY", "1919191919191919191919191919191919191919191919191919191919191919")
|
|
|
|
cfg2, err := NewConfig("../../conf/config.json")
|
|
assert.NoError(t, err)
|
|
|
|
assert.NotEqual(t, cfg.DBConfig.DSN, cfg2.DBConfig.DSN)
|
|
assert.NotEqual(t, cfg.L1Config.RelayerConfig.GasOracleSenderSignerConfig, cfg2.L1Config.RelayerConfig.GasOracleSenderSignerConfig)
|
|
assert.NotEqual(t, cfg.L2Config.RelayerConfig.GasOracleSenderSignerConfig, cfg2.L2Config.RelayerConfig.GasOracleSenderSignerConfig)
|
|
assert.NotEqual(t, cfg.L2Config.RelayerConfig.CommitSenderSignerConfig, cfg2.L2Config.RelayerConfig.CommitSenderSignerConfig)
|
|
assert.NotEqual(t, cfg.L2Config.RelayerConfig.FinalizeSenderSignerConfig, cfg2.L2Config.RelayerConfig.FinalizeSenderSignerConfig)
|
|
|
|
assert.Equal(t, cfg2.DBConfig.DSN, "postgres://test:test@postgresql:5432/scroll?sslmode=disable")
|
|
assert.Equal(t, "1414141414141414141414141414141414141414141414141414141414141414", cfg.L2Config.RelayerConfig.CommitSenderSignerConfig.PrivateKeySignerConfig.PrivateKey)
|
|
assert.Equal(t, "1616161616161616161616161616161616161616161616161616161616161616", cfg2.L1Config.RelayerConfig.GasOracleSenderSignerConfig.PrivateKeySignerConfig.PrivateKey)
|
|
assert.Equal(t, "1717171717171717171717171717171717171717171717171717171717171717", cfg2.L2Config.RelayerConfig.GasOracleSenderSignerConfig.PrivateKeySignerConfig.PrivateKey)
|
|
assert.Equal(t, "1818181818181818181818181818181818181818181818181818181818181818", cfg2.L2Config.RelayerConfig.CommitSenderSignerConfig.PrivateKeySignerConfig.PrivateKey)
|
|
assert.Equal(t, "1919191919191919191919191919191919191919191919191919191919191919", cfg2.L2Config.RelayerConfig.FinalizeSenderSignerConfig.PrivateKeySignerConfig.PrivateKey)
|
|
})
|
|
}
|