github.com/jamiefdhurst/journal@v0.9.2/pkg/database/database_test.go (about) 1 package database 2 3 import ( 4 "os" 5 "testing" 6 ) 7 8 func TestSqliteClose(t *testing.T) { 9 os.Chdir(os.Getenv("GOPATH") + "/src/github.com/jamiefdhurst/journal") 10 sqlite := &Sqlite{} 11 _ = sqlite.Connect("test/data/test.db") 12 sqlite.Close() 13 } 14 15 func TestSqliteConnect(t *testing.T) { 16 os.Chdir(os.Getenv("GOPATH") + "/src/github.com/jamiefdhurst/journal") 17 sqlite := &Sqlite{} 18 err := sqlite.Connect("test/data/test.db") 19 if err != nil { 20 t.Errorf("Expected database to have been connected and no error to have been returned") 21 } 22 } 23 24 func TestSqliteExec(t *testing.T) { 25 os.Chdir(os.Getenv("GOPATH") + "/src/github.com/jamiefdhurst/journal") 26 sqlite := &Sqlite{} 27 _ = sqlite.Connect("test/data/test.db") 28 result, err := sqlite.Exec("SELECT 1") 29 rows, _ := result.RowsAffected() 30 if err != nil || rows > 0 { 31 t.Errorf("Expected query to have been executed and no rows to have been affected") 32 } 33 } 34 35 func TestSqliteQuery(t *testing.T) { 36 os.Chdir(os.Getenv("GOPATH") + "/src/github.com/jamiefdhurst/journal") 37 sqlite := &Sqlite{} 38 _ = sqlite.Connect("test/data/test.db") 39 rows, err := sqlite.Query("SELECT 1 AS example") 40 if err != nil { 41 t.Errorf("Expected query to have been executed") 42 } 43 columns, _ := rows.Columns() 44 if len(columns) != 1 || columns[0] != "example" { 45 t.Errorf("Expected column of 'example' to have been returned") 46 } 47 var test int 48 for rows.Next() { 49 rows.Scan(&test) 50 if test != 1 { 51 t.Errorf("Expected row with value of '1' to have been returned") 52 } 53 } 54 rows.Close() 55 }