2021-06-14 14:29:22 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
2021-06-14 19:34:29 +00:00
|
|
|
func (a *goBlog) setInMemoryDatabase() {
|
|
|
|
a.db, _ = a.openDatabase(":memory:", false)
|
|
|
|
}
|
|
|
|
|
2021-06-14 14:29:22 +00:00
|
|
|
func Test_database(t *testing.T) {
|
|
|
|
t.Run("Basic Database Test", func(t *testing.T) {
|
|
|
|
app := &goBlog{}
|
|
|
|
|
|
|
|
db, err := app.openDatabase(":memory:", false)
|
|
|
|
if err != nil {
|
2021-06-15 15:36:41 +00:00
|
|
|
t.Fatalf("Error: %v", err)
|
2021-06-14 14:29:22 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
_, err = db.execMulti("create table test(test text);")
|
|
|
|
if err != nil {
|
2021-06-15 15:36:41 +00:00
|
|
|
t.Fatalf("Error: %v", err)
|
2021-06-14 14:29:22 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
_, err = db.exec("insert into test (test) values ('Test')")
|
|
|
|
if err != nil {
|
2021-06-15 15:36:41 +00:00
|
|
|
t.Fatalf("Error: %v", err)
|
2021-06-14 14:29:22 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
row, err := db.queryRow("select count(test) from test")
|
|
|
|
if err != nil {
|
2021-06-15 15:36:41 +00:00
|
|
|
t.Fatalf("Error: %v", err)
|
2021-06-14 14:29:22 +00:00
|
|
|
}
|
|
|
|
var test1 int
|
|
|
|
err = row.Scan(&test1)
|
|
|
|
if err != nil {
|
2021-06-15 15:36:41 +00:00
|
|
|
t.Fatalf("Error: %v", err)
|
2021-06-14 14:29:22 +00:00
|
|
|
}
|
|
|
|
if test1 != 1 {
|
|
|
|
t.Error("Wrong result")
|
|
|
|
}
|
|
|
|
|
|
|
|
rows, err := db.query("select count(test), test from test")
|
|
|
|
if err != nil {
|
2021-06-15 15:36:41 +00:00
|
|
|
t.Fatalf("Error: %v", err)
|
2021-06-14 14:29:22 +00:00
|
|
|
}
|
|
|
|
var test2 int
|
|
|
|
var testStr string
|
|
|
|
if !rows.Next() {
|
|
|
|
t.Error("No result row")
|
|
|
|
}
|
|
|
|
err = rows.Scan(&test2, &testStr)
|
|
|
|
if err != nil {
|
2021-06-15 15:36:41 +00:00
|
|
|
t.Fatalf("Error: %v", err)
|
2021-06-14 14:29:22 +00:00
|
|
|
}
|
|
|
|
if test2 != 1 || testStr != "Test" {
|
|
|
|
t.Error("Wrong result")
|
|
|
|
}
|
|
|
|
|
|
|
|
err = db.close()
|
|
|
|
if err != nil {
|
2021-06-15 15:36:41 +00:00
|
|
|
t.Fatalf("Error: %v", err)
|
2021-06-14 14:29:22 +00:00
|
|
|
}
|
|
|
|
})
|
|
|
|
}
|