internal/store/isinternal_test.go

v1.25.0
gitbay/internal/store/isinternal_test.go history · blame · raw

22 lines · 485 bytes

 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}