mirror of
https://github.com/netbirdio/netbird.git
synced 2026-10-29 07:49:14 +01:00
[management] Remove the MySQL store engine (#7914)
This commit is contained in:
@@ -164,7 +164,6 @@ func TestMigrate(t *testing.T) {
|
||||
|
||||
err = migratePreAuto(context.Background(), store.(*SqlStore).db)
|
||||
require.NoError(t, err, "Migration should not fail on migrated db")
|
||||
|
||||
}
|
||||
|
||||
func newAccount(store Store, id int) error {
|
||||
@@ -352,10 +351,6 @@ func TestSqlStore_DatabaseBlocking(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestSqlStore_ExecuteInTransaction_Timeout(t *testing.T) {
|
||||
if os.Getenv("NETBIRD_STORE_ENGINE") == "mysql" {
|
||||
t.Skip("Skipping timeout test for MySQL")
|
||||
}
|
||||
|
||||
t.Setenv("NB_STORE_TRANSACTION_TIMEOUT", "1s")
|
||||
|
||||
store, cleanup, err := NewTestStoreFromSQL(context.Background(), "", t.TempDir())
|
||||
@@ -429,49 +424,6 @@ func TestNewSqliteStore_BusyTimeoutRespectsUserOverride(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestSqlStore_ExecuteInTransaction_RestoresForeignKeyChecksOnMysql(t *testing.T) {
|
||||
runTestForAllEngines(t, "", func(t *testing.T, store Store) {
|
||||
sqlStore := store.(*SqlStore)
|
||||
if sqlStore.conn.Engine() != types.MysqlStoreEngine {
|
||||
t.Skip("FOREIGN_KEY_CHECKS is MySQL specific")
|
||||
}
|
||||
sqlDB, err := sqlStore.GetDB().DB()
|
||||
require.NoError(t, err)
|
||||
sqlDB.SetMaxOpenConns(1)
|
||||
ctx := context.Background()
|
||||
|
||||
foreignKeyChecks := func() int {
|
||||
var enabled int
|
||||
require.NoError(t, sqlStore.GetDB().Raw("SELECT @@SESSION.foreign_key_checks").Scan(&enabled).Error)
|
||||
return enabled
|
||||
}
|
||||
|
||||
err = store.ExecuteInTransaction(ctx, func(Store) error { return assert.AnError })
|
||||
require.ErrorIs(t, err, assert.AnError)
|
||||
assert.Equal(t, 1, foreignKeyChecks())
|
||||
|
||||
require.Panics(t, func() {
|
||||
_ = store.ExecuteInTransaction(ctx, func(Store) error { panic("boom") })
|
||||
})
|
||||
assert.Equal(t, 1, foreignKeyChecks())
|
||||
|
||||
err = sqlStore.transaction(ctx, func(*gorm.DB) error { return assert.AnError })
|
||||
require.ErrorIs(t, err, assert.AnError)
|
||||
assert.Equal(t, 1, foreignKeyChecks())
|
||||
|
||||
err = store.ExecuteInTransaction(ctx, func(transaction Store) error {
|
||||
bound := transaction.(*SqlStore)
|
||||
require.NoError(t, bound.transaction(ctx, func(*gorm.DB) error { return nil }))
|
||||
var enabled int
|
||||
require.NoError(t, bound.GetDB().Raw("SELECT @@SESSION.foreign_key_checks").Scan(&enabled).Error)
|
||||
assert.Equal(t, 0, enabled, "a savepoint must not re-enable FK checks for the rest of the transaction")
|
||||
return nil
|
||||
})
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, 1, foreignKeyChecks())
|
||||
})
|
||||
}
|
||||
|
||||
func TestSqlStore_Transaction_RollsBackOnError(t *testing.T) {
|
||||
runTestForAllEngines(t, "../testdata/extended-store.sql", func(t *testing.T, store Store) {
|
||||
ctx := context.Background()
|
||||
|
||||
Reference in New Issue
Block a user