@ -340,13 +340,16 @@ type ITestDB interface {
Logf ( format string , args ... interface { } )
Logf ( format string , args ... interface { } )
}
}
var testSqlStore * SqlStore
// InitTestDB initializes the test DB.
// InitTestDB initializes the test DB.
func InitTestDB ( t ITestDB ) * SqlStore {
func InitTestDB ( t ITestDB ) * SqlStore {
t . Helper ( )
t . Helper ( )
sqlstore := & SqlStore { }
if testSqlStore == nil {
sqlstore . Bus = bus . New ( )
testSqlStore = & SqlStore { }
sqlstore . CacheService = localcache . New ( 5 * time . Minute , 10 * time . Minute )
testSqlStore . Bus = bus . New ( )
sqlstore . skipEnsureDefaultOrgAndUser = true
testSqlStore . CacheService = localcache . New ( 5 * time . Minute , 10 * time . Minute )
testSqlStore . skipEnsureDefaultOrgAndUser = true
dbType := migrator . SQLITE
dbType := migrator . SQLITE
@ -357,8 +360,8 @@ func InitTestDB(t ITestDB) *SqlStore {
}
}
// set test db config
// set test db config
sqls tore. Cfg = setting . NewCfg ( )
testSqlS tore . Cfg = setting . NewCfg ( )
sec , err := sqls tore. Cfg . Raw . NewSection ( "database" )
sec , err := testSqlS tore. Cfg . Raw . NewSection ( "database" )
if err != nil {
if err != nil {
t . Fatalf ( "Failed to create section: %s" , err )
t . Fatalf ( "Failed to create section: %s" , err )
}
}
@ -388,24 +391,29 @@ func InitTestDB(t ITestDB) *SqlStore {
t . Fatalf ( "Failed to init test database: %v" , err )
t . Fatalf ( "Failed to init test database: %v" , err )
}
}
sqls tore. Dialect = migrator . NewDialect ( engine )
testSqlS tore . Dialect = migrator . NewDialect ( engine )
// temp global var until we get rid of global vars
// temp global var until we get rid of global vars
dialect = sqls tore. Dialect
dialect = testSqlS tore. Dialect
t . Logf ( "Cleaning DB" )
t . Logf ( "Cleaning DB" )
if err := dialect . CleanDB ( ) ; err != nil {
if err := dialect . CleanDB ( ) ; err != nil {
t . Fatalf ( "Failed to clean test db %v" , err )
t . Fatalf ( "Failed to clean test db %v" , err )
}
}
if err := sqls tore. Init ( ) ; err != nil {
if err := testSqlS tore. Init ( ) ; err != nil {
t . Fatalf ( "Failed to init test database: %v" , err )
t . Fatalf ( "Failed to init test database: %v" , err )
}
}
sqlstore . engine . DatabaseTZ = time . UTC
testSqlStore . engine . DatabaseTZ = time . UTC
sqlstore . engine . TZLocation = time . UTC
testSqlStore . engine . TZLocation = time . UTC
}
if err := dialect . TruncateDBTables ( ) ; err != nil {
t . Fatalf ( "Failed to truncate test db %v" , err )
}
return sqlstore
return testSqlS tore
}
}
func IsTestDbMySql ( ) bool {
func IsTestDbMySql ( ) bool {