From 6dfe350cb5eefde3a99374d14c083d1906717ddd Mon Sep 17 00:00:00 2001 From: Niall Sheridan Date: Sun, 8 Jan 2017 19:39:51 +0000 Subject: Remove dbinit and use sql/js seed files --- server/store/store_test.go | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) (limited to 'server') diff --git a/server/store/store_test.go b/server/store/store_test.go index dbe2d95..281a614 100644 --- a/server/store/store_test.go +++ b/server/store/store_test.go @@ -3,9 +3,11 @@ package store import ( "crypto/rand" "crypto/rsa" + "database/sql" "io/ioutil" "os" - "os/exec" + "os/user" + "strings" "testing" "time" @@ -15,10 +17,6 @@ import ( "golang.org/x/crypto/ssh" ) -var ( - dbConfig = map[string]string{"username": "user", "password": "passwd", "address": "localhost"} -) - func TestParseCertificate(t *testing.T) { t.Parallel() a := assert.New(t) @@ -93,8 +91,8 @@ func TestMySQLStore(t *testing.T) { if os.Getenv("MYSQL_TEST") == "" { t.Skip("No MYSQL_TEST environment variable") } - dbConfig["type"] = "mysql" - db, err := NewSQLStore(dbConfig) + u, _ := user.Current() + db, err := NewSQLStore(map[string]string{"type": "mysql", "username": u.Username}) if err != nil { t.Error(err) } @@ -106,8 +104,7 @@ func TestMongoStore(t *testing.T) { if os.Getenv("MONGO_TEST") == "" { t.Skip("No MONGO_TEST environment variable") } - dbConfig["type"] = "mongo" - db, err := NewMongoStore(dbConfig) + db, err := NewMongoStore(map[string]string{"type": "mongo"}) if err != nil { t.Error(err) } @@ -121,11 +118,21 @@ func TestSQLiteStore(t *testing.T) { t.Error(err) } defer os.Remove(f.Name()) - // This is so jank. - args := []string{"run", "../../cmd/dbinit/dbinit.go", "-db_type", "sqlite", "-db_path", f.Name()} - if err := exec.Command("go", args...).Run(); err != nil { + + seed, err := ioutil.ReadFile("../../db/seed.sql") + if err != nil { t.Error(err) } + stmts := strings.Split(string(seed), ";") + d, _ := sql.Open("sqlite3", f.Name()) + for _, stmt := range stmts { + if !strings.Contains(stmt, "CREATE TABLE") { + continue + } + d.Exec(stmt) + } + d.Close() + config := map[string]string{"type": "sqlite", "filename": f.Name()} db, err := NewSQLStore(config) if err != nil { -- cgit v1.2.3