internal/store/isinternal_test.go
22 lines · 485 bytes
1 symbol in this file
1package store
2
3import (
4 "errors"
5 "testing"
6)
7
8func TestIsInternal(t *testing.T) {
9 s := open(t)
10 if err := s.MigrateUp(); err != nil {
11 t.Fatal(err)
12 }
13 _, err := s.DB.Exec("INSERT INTO no_such_table (x) VALUES (1)")
14 if err == nil || !IsInternal(err) {
15 t.Errorf("a SQLite error is internal: %v", err)
16 }
17 for _, e := range []error{ErrNotFound, ErrExists, ErrDuplicateKey, errors.New("name must be lowercase")} {
18 if IsInternal(e) {
19 t.Errorf("%v is not internal", e)
20 }
21 }
22}