94
95
// RunCreateTest tests schema version table creation
96
>
func (tb *DBTestBase) RunCreateTest(db DB) {
dbtest.go
97
>
tables, err := db.ListTables()
98
>
tb.Nil(err)
99
>
tb.Equal(0, len(tables))
100
>
101
>
err = db.CreateSchemaVersionTables()
102
>
tb.Nil(err)
103
>
104
>
expectedTables := make(map[string]struct{})
105
>
expectedTables["schema_version"] = struct{}{}
106
>
expectedTables["schema_update_history"] = struct{}{}
107
>
108
>
tables, err = db.ListTables()
109
>
tb.Nil(err)
110
>
tb.Equal(len(expectedTables), len(tables))
111
>
112
>
for _, t := range tables {
113
>
_, ok := expectedTables[t]
114
>
tb.True(ok)
115
>
delete(expectedTables, t)
116
>
}
117
>
tb.Equal(0, len(expectedTables))
118
}
119
120
// RunUpdateTest tests update of schema and schema version tables
121
>
func (tb *DBTestBase) RunUpdateTest(db DB) {
dbtest.go
122
>
err := db.UpdateSchemaVersion("10.0", "5.0")
123
>
tb.Nil(err)
124
>
err = db.WriteSchemaUpdateLog("9.0", "10.0", "abc", "test")
125
>
tb.Nil(err)
126
>
127
>
ver, err := db.ReadSchemaVersion()
128
>
tb.Nil(err)
129
>
tb.Equal("10.0", ver)
130
>
131
>
err = db.UpdateSchemaVersion("12.0", "5.0")
132
>
tb.Nil(err)
133
>
ver, err = db.ReadSchemaVersion()
134
>
tb.Nil(err)
135
>
tb.Equal("12.0", ver)
136
>
}
137
138
// RunDropTest tests the drop methods in DB implementation
139
>
func (tb *DBTestBase) RunDropTest(db DB) {
dbtest.go
140
>
tables, err := db.ListTables()
141
>
tb.Nil(err)
142
>
tb.True(len(tables) > 0)
143
>
144
>
err = db.DropAllTables()
145
>
tb.Nil(err)
146
>
147
>
tables, err = db.ListTables()
148
>
tb.Nil(err)
149
>
tb.Equal(0, len(tables))
150
>
151
>
_, err = db.ReadSchemaVersion()
152
>
tb.NotNil(err)
153
>
154
>
}