-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsqliteidm_test.go
80 lines (62 loc) · 1.78 KB
/
sqliteidm_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
//
// Copyright 2020 The AVFS authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package sqliteidm_test
import (
"database/sql"
"testing"
"github.com/avfs/avfs"
"github.com/avfs/avfs/test"
"github.com/avfs/avfs/vfs/memfs"
"github.com/avfs/sqliteidm"
)
var (
// MemIdm implements avfs.IdentityMgr interface.
_ avfs.IdentityMgr = &sqliteidm.SQLiteIdm{}
// User implements avfs.UserReader interface.
_ avfs.UserReader = &sqliteidm.User{}
// Group implements avfs.GroupReader interface.
_ avfs.GroupReader = &sqliteidm.Group{}
)
// InitDB initialize the database.
func InitDB(t *testing.T) *sql.DB {
db, err := sql.Open("sqlite3", ":memory:")
if err != nil {
t.Fatalf("sql.Open : want error to be nil, got %v", err)
}
return db
}
// TestSqliteIdmAll run all tests.
func TestSqliteIdmAll(t *testing.T) {
db := InitDB(t)
idm, err := sqliteidm.New(db)
if err != nil {
t.Fatalf("New : want error to be nil, got %v", err)
}
defer idm.Close()
sidm := test.NewSuiteIdm(t, idm)
sidm.TestAll(t)
}
func TestMemFsWithSqliteIdm(t *testing.T) {
db := InitDB(t)
idm, err := sqliteidm.New(db)
if err != nil {
t.Fatalf("sqliteidm.New : want error to be nil, got %v", err)
}
defer idm.Close()
vfs := memfs.New()
sfs := test.NewSuiteFS(t, vfs)
sfs.TestAll(t)
}