Files
threshold/internal/db/schema/statement_test.go
T

42 lines
965 B
Go
Raw Normal View History

package schema
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestStatementProvider(t *testing.T) {
testDialect := "test"
migrationStates[testDialect] = migrationState{
binarySchemaVersion: 5,
upMigrations: map[int][]byte{
1: []byte("one"),
2: []byte("two"),
3: []byte("three"),
},
}
2021-01-25 14:43:50 -07:00
st := newStatementProvider(testDialect, 1)
assert.Equal(t, -1, st.Version())
assert.Equal(t, []byte(nil), st.ReadUp())
assert.True(t, st.Next())
assert.Equal(t, 2, st.Version())
assert.Equal(t, []byte("two"), st.ReadUp())
assert.True(t, st.Next())
assert.Equal(t, 3, st.Version())
assert.Equal(t, []byte("three"), st.ReadUp())
assert.False(t, st.Next())
assert.Equal(t, -1, st.Version())
assert.Equal(t, []byte(nil), st.ReadUp())
assert.False(t, st.Next())
assert.Equal(t, -1, st.Version())
assert.Equal(t, []byte(nil), st.ReadUp())
2021-01-25 14:43:50 -07:00
st = newStatementProvider("unknown_dialect", nilVersion)
assert.False(t, st.Next())
}