aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sqlite3_test.go143
1 files changed, 143 insertions, 0 deletions
diff --git a/sqlite3_test.go b/sqlite3_test.go
new file mode 100644
index 0000000..bb49109
--- /dev/null
+++ b/sqlite3_test.go
@@ -0,0 +1,143 @@
+package sqlite
+
+import (
+ "fmt"
+ "testing"
+ "exp/sql"
+ "os"
+)
+
+func TestOpen(t *testing.T) {
+ db, err := sql.Open("sqlite3", "./foo.db")
+ if err != nil {
+ fmt.Println(err)
+ return
+ }
+ defer os.Remove("./foo.db")
+
+ _, err = db.Exec("create table foo (id integer)")
+ if err != nil {
+ t.Errorf("Failed to create table")
+ return
+ }
+
+ if stat, err := os.Stat("./foo.db"); err != nil || stat.IsDirectory() {
+ t.Errorf("Failed to create ./foo.db")
+ }
+}
+
+func TestInsert(t *testing.T) {
+ db, err := sql.Open("sqlite3", "./foo.db")
+ if err != nil {
+ fmt.Println(err)
+ return
+ }
+ defer os.Remove("./foo.db")
+
+ _, err = db.Exec("create table foo (id integer)")
+ if err != nil {
+ t.Errorf("Failed to create table")
+ return
+ }
+
+ _, err = db.Exec("insert into foo(id) values(123)")
+ if err != nil {
+ t.Errorf("Failed to create table")
+ return
+ }
+
+ rows, err := db.Query("select id from foo")
+ if err != nil {
+ fmt.Println(err)
+ return
+ }
+ defer rows.Close()
+
+ rows.Next()
+
+ var result int
+ rows.Scan(&result)
+ if result != 123 {
+ t.Errorf("Fetched %q; expected %q", 123, result)
+ }
+}
+
+func TestUpdate(t *testing.T) {
+ db, err := sql.Open("sqlite3", "./foo.db")
+ if err != nil {
+ fmt.Println(err)
+ return
+ }
+ defer os.Remove("./foo.db")
+
+ _, err = db.Exec("create table foo (id integer)")
+ if err != nil {
+ t.Errorf("Failed to create table")
+ return
+ }
+
+ _, err = db.Exec("insert into foo(id) values(123)")
+ if err != nil {
+ t.Errorf("Failed to create table")
+ return
+ }
+
+ _, err = db.Exec("update foo set id = 234")
+ if err != nil {
+ t.Errorf("Failed to create table")
+ return
+ }
+
+ rows, err := db.Query("select id from foo")
+ if err != nil {
+ fmt.Println(err)
+ return
+ }
+ defer rows.Close()
+
+ rows.Next()
+
+ var result int
+ rows.Scan(&result)
+ if result != 234 {
+ t.Errorf("Fetched %q; expected %q", 234, result)
+ }
+}
+
+func TestDelete(t *testing.T) {
+ db, err := sql.Open("sqlite3", "./foo.db")
+ if err != nil {
+ fmt.Println(err)
+ return
+ }
+ defer os.Remove("./foo.db")
+
+ _, err = db.Exec("create table foo (id integer)")
+ if err != nil {
+ t.Errorf("Failed to create table")
+ return
+ }
+
+ _, err = db.Exec("insert into foo(id) values(123)")
+ if err != nil {
+ t.Errorf("Failed to create table")
+ return
+ }
+
+ _, err = db.Exec("delete from foo where id = 123")
+ if err != nil {
+ t.Errorf("Failed to create table")
+ return
+ }
+
+ rows, err := db.Query("select id from foo")
+ if err != nil {
+ fmt.Println(err)
+ return
+ }
+ defer rows.Close()
+
+ if rows.Next() {
+ t.Errorf("Fetched row but expected not rows")
+ }
+}