package backend
import (
"math/big"
"os"
"path/filepath"
"testing"
"github.com/ethereum-optimism/optimism/op-supervisor/supervisor/types"
"github.com/stretchr/testify/require"
)
func TestLogDBPath(t *testing.T) {
base := t.TempDir()
chainIDStr := "42984928492928428424243444"
chainIDBig, ok := new(big.Int).SetString(chainIDStr, 10)
require.True(t, ok)
chainID := types.ChainIDFromBig(chainIDBig)
expected := filepath.Join(base, "subdir", chainIDStr, "log.db")
path, err := prepLogDBPath(chainID, filepath.Join(base, "subdir"))
require.NoError(t, err)
require.Equal(t, expected, path)
// Check it still works when directories exist
require.NoError(t, os.WriteFile(path, []byte("test"), 0o644))
path, err = prepLogDBPath(chainID, filepath.Join(base, "subdir"))
require.NoError(t, err)
require.Equal(t, expected, path)
}
-
Adrian Sutton authoredd4a22a7c