59 lines
2.1 KiB
Go
59 lines
2.1 KiB
Go
/*
|
|
Copyright 2016 GitHub Inc.
|
|
See https://github.com/github/gh-ost/blob/master/LICENSE
|
|
*/
|
|
|
|
package base
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/outbrain/golib/log"
|
|
test "github.com/outbrain/golib/tests"
|
|
)
|
|
|
|
func init() {
|
|
log.SetLevel(log.ERROR)
|
|
}
|
|
|
|
func TestGetTableNames(t *testing.T) {
|
|
{
|
|
context := NewMigrationContext()
|
|
context.OriginalTableName = "some_table"
|
|
test.S(t).ExpectEquals(context.GetOldTableName(), "_some_table_del")
|
|
test.S(t).ExpectEquals(context.GetGhostTableName(), "_some_table_gho")
|
|
test.S(t).ExpectEquals(context.GetChangelogTableName(), "_some_table_ghc")
|
|
}
|
|
{
|
|
context := NewMigrationContext()
|
|
context.OriginalTableName = "a123456789012345678901234567890123456789012345678901234567890"
|
|
test.S(t).ExpectEquals(context.GetOldTableName(), "_a1234567890123456789012345678901234567890123456789012345678_del")
|
|
test.S(t).ExpectEquals(context.GetGhostTableName(), "_a1234567890123456789012345678901234567890123456789012345678_gho")
|
|
test.S(t).ExpectEquals(context.GetChangelogTableName(), "_a1234567890123456789012345678901234567890123456789012345678_ghc")
|
|
}
|
|
{
|
|
context := NewMigrationContext()
|
|
context.OriginalTableName = "a123456789012345678901234567890123456789012345678901234567890123"
|
|
oldTableName := context.GetOldTableName()
|
|
test.S(t).ExpectEquals(oldTableName, "_a1234567890123456789012345678901234567890123456789012345678_del")
|
|
}
|
|
{
|
|
context := NewMigrationContext()
|
|
context.OriginalTableName = "a123456789012345678901234567890123456789012345678901234567890123"
|
|
context.TimestampOldTable = true
|
|
longForm := "Jan 2, 2006 at 3:04pm (MST)"
|
|
context.StartTime, _ = time.Parse(longForm, "Feb 3, 2013 at 7:54pm (PST)")
|
|
oldTableName := context.GetOldTableName()
|
|
test.S(t).ExpectEquals(oldTableName, "_a1234567890123456789012345678901234567890123_20130203195400_del")
|
|
}
|
|
{
|
|
context := NewMigrationContext()
|
|
context.OriginalTableName = "foo_bar_baz"
|
|
context.ForceTmpTableName = "tmp"
|
|
test.S(t).ExpectEquals(context.GetOldTableName(), "_tmp_del")
|
|
test.S(t).ExpectEquals(context.GetGhostTableName(), "_tmp_gho")
|
|
test.S(t).ExpectEquals(context.GetChangelogTableName(), "_tmp_ghc")
|
|
}
|
|
}
|