diff options
author | Lars Buitinck <l.buitinck@esciencecenter.nl> | 2015-06-05 16:33:25 +0200 |
---|---|---|
committer | Lars Buitinck <l.buitinck@esciencecenter.nl> | 2015-06-05 16:38:51 +0200 |
commit | 5674e19d0587e09d0649f650671cb23627d20ba8 (patch) | |
tree | 051f0c9aaedafb8d9c3305a4429d742e77030b7b /sqlite3_test.go | |
parent | Clean up more tempfiles (diff) | |
download | golite-5674e19d0587e09d0649f650671cb23627d20ba8.tar.gz golite-5674e19d0587e09d0649f650671cb23627d20ba8.tar.xz |
Test read-only databases
Diffstat (limited to '')
-rw-r--r-- | sqlite3_test.go | 21 |
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) |