Create master database for mssql integration tests

Signed-off-by: Jonas Franz <info@jonasfranz.software>
This commit is contained in:
Jonas Franz 2018-07-05 16:55:27 +02:00
parent f5069eb574
commit 3fc4bb3bb0
No known key found for this signature in database
GPG Key ID: 506AEEBE80BEDECD
2 changed files with 16 additions and 2 deletions

View File

@ -130,6 +130,19 @@ func initIntegrationTest() {
if _, err = db.Exec("CREATE DATABASE testgitea"); err != nil {
log.Fatalf("db.Exec: %v", err)
}
case setting.UseMSSQL:
host, port := models.ParseMSSQLHostPort(models.DbCfg.Host)
db, err := sql.Open("mssql", fmt.Sprintf("server=%s; port=%s; database=%s; user id=%s; password=%s;",
host, port, models.DbCfg.Name, models.DbCfg.User, models.DbCfg.Passwd))
defer db.Close()
if err != nil {
log.Fatalf("sql.Open: %v", err)
}
// FIXME: what happens if the database already exists? ¯\_(ツ)_/¯
if _, err := db.Exec("CREATE DATABASE master"); err != nil {
log.Fatalf("db.Exec: %v", err)
}
}
routers.GlobalInit()
}

View File

@ -197,7 +197,8 @@ func getPostgreSQLConnectionString(DBHost, DBUser, DBPasswd, DBName, DBParam, DB
return
}
func parseMSSQLHostPort(info string) (string, string) {
// ParseMSSQLHostPort splits the host into host and port
func ParseMSSQLHostPort(info string) (string, string) {
host, port := "127.0.0.1", "1433"
if strings.Contains(info, ":") {
host = strings.Split(info, ":")[0]
@ -229,7 +230,7 @@ func getEngine() (*xorm.Engine, error) {
case "postgres":
connStr = getPostgreSQLConnectionString(DbCfg.Host, DbCfg.User, DbCfg.Passwd, DbCfg.Name, Param, DbCfg.SSLMode)
case "mssql":
host, port := parseMSSQLHostPort(DbCfg.Host)
host, port := ParseMSSQLHostPort(DbCfg.Host)
connStr = fmt.Sprintf("server=%s; port=%s; database=%s; user id=%s; password=%s;", host, port, DbCfg.Name, DbCfg.User, DbCfg.Passwd)
case "sqlite3":
if !EnableSQLite3 {