aboutsummaryrefslogtreecommitdiff
path: root/sqlite3_test.go
diff options
context:
space:
mode:
authorLars Buitinck <l.buitinck@esciencecenter.nl>2015-06-05 16:33:25 +0200
committerLars Buitinck <l.buitinck@esciencecenter.nl>2015-06-05 16:38:51 +0200
commit5674e19d0587e09d0649f650671cb23627d20ba8 (patch)
tree051f0c9aaedafb8d9c3305a4429d742e77030b7b /sqlite3_test.go
parentClean up more tempfiles (diff)
downloadgolite-5674e19d0587e09d0649f650671cb23627d20ba8.tar.gz
golite-5674e19d0587e09d0649f650671cb23627d20ba8.tar.xz
Test read-only databases
Diffstat (limited to '')
-rw-r--r--sqlite3_test.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/sqlite3_test.go b/sqlite3_test.go
index f2d461b..43f7b4f 100644
--- a/sqlite3_test.go
+++ b/sqlite3_test.go
@@ -83,6 +83,27 @@ func TestOpen(t *testing.T) {
}
}
+func TestReadonly(t *testing.T) {
+ tempFilename := TempFilename(t)
+ defer os.Remove(tempFilename)
+
+ db1, err := sql.Open("sqlite3", "file:" + tempFilename)
+ if err != nil {
+ t.Fatal(err)
+ }
+ db1.Exec("CREATE TABLE test (x int, y float)")
+
+ db2, err := sql.Open("sqlite3", "file:" + tempFilename + "?mode=ro")
+ if err != nil {
+ t.Fatal(err)
+ }
+ _ = db2
+ _, err = db2.Exec("INSERT INTO test VALUES (1, 3.14)")
+ if err == nil {
+ t.Fatal("didn't expect INSERT into read-only database to work")
+ }
+}
+
func TestClose(t *testing.T) {
tempFilename := TempFilename(t)
db, err := sql.Open("sqlite3", tempFilename)