diff options
Diffstat (limited to 'error_test.go')
-rw-r--r-- | error_test.go | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/error_test.go b/error_test.go index afa7b27..bf7bb3c 100644 --- a/error_test.go +++ b/error_test.go @@ -8,7 +8,7 @@ import ( "testing" ) -func TestFailures(t *testing.T) { +func TestCorruptDbErrors(t *testing.T) { dirName, err := ioutil.TempDir("", "sqlite3") if err != nil { t.Fatal(err) @@ -27,7 +27,9 @@ func TestFailures(t *testing.T) { if err == nil { _, err = db.Exec("drop table foo") } - if err != ErrNotADB { + + sqliteErr := err.(Error) + if sqliteErr.Code != ErrNotADB { t.Error("wrong error code for corrupted DB") } if err.Error() == "" { @@ -35,3 +37,28 @@ func TestFailures(t *testing.T) { } db.Close() } + +func TestSqlLogicErrors(t *testing.T) { + dirName, err := ioutil.TempDir("", "sqlite3") + if err != nil { + t.Fatal(err) + } + defer os.RemoveAll(dirName) + + dbFileName := path.Join(dirName, "test.db") + db, err := sql.Open("sqlite3", dbFileName) + if err != nil { + t.Error(err) + } + + _, err = db.Exec("CREATE TABLE Foo (id INT PRIMARY KEY)") + if err != nil { + t.Error(err) + } + + const expectedErr = "table Foo already exists" + _, err = db.Exec("CREATE TABLE Foo (id INT PRIMARY KEY)") + if err.Error() != expectedErr { + t.Errorf("Unexpected error: %s, expected %s", err.Error(), expectedErr) + } +} |