46 lines
1.3 KiB
Go
46 lines
1.3 KiB
Go
package repository
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestIsMigrationChecksumCompatible(t *testing.T) {
|
|
t.Run("054历史checksum可兼容", func(t *testing.T) {
|
|
ok := isMigrationChecksumCompatible(
|
|
"054_drop_legacy_cache_columns.sql",
|
|
"182c193f3359946cf094090cd9e57d5c3fd9abaffbc1e8fc378646b8a6fa12b4",
|
|
"82de761156e03876653e7a6a4eee883cd927847036f779b0b9f34c42a8af7a7d",
|
|
)
|
|
require.True(t, ok)
|
|
})
|
|
|
|
t.Run("054在未知文件checksum下不兼容", func(t *testing.T) {
|
|
ok := isMigrationChecksumCompatible(
|
|
"054_drop_legacy_cache_columns.sql",
|
|
"182c193f3359946cf094090cd9e57d5c3fd9abaffbc1e8fc378646b8a6fa12b4",
|
|
"0000000000000000000000000000000000000000000000000000000000000000",
|
|
)
|
|
require.False(t, ok)
|
|
})
|
|
|
|
t.Run("061历史checksum可兼容", func(t *testing.T) {
|
|
ok := isMigrationChecksumCompatible(
|
|
"061_add_usage_log_request_type.sql",
|
|
"08a248652cbab7cfde147fc6ef8cda464f2477674e20b718312faa252e0481c0",
|
|
"97bdd9a32d921986f74a0231ab90735567a9234fb7062f4d9d1baf108ba59769",
|
|
)
|
|
require.True(t, ok)
|
|
})
|
|
|
|
t.Run("非白名单迁移不兼容", func(t *testing.T) {
|
|
ok := isMigrationChecksumCompatible(
|
|
"001_init.sql",
|
|
"182c193f3359946cf094090cd9e57d5c3fd9abaffbc1e8fc378646b8a6fa12b4",
|
|
"82de761156e03876653e7a6a4eee883cd927847036f779b0b9f34c42a8af7a7d",
|
|
)
|
|
require.False(t, ok)
|
|
})
|
|
}
|