-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdb_test.go
More file actions
74 lines (58 loc) · 1.56 KB
/
Copy pathdb_test.go
File metadata and controls
74 lines (58 loc) · 1.56 KB
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
// ---
package graphengine
import (
"context"
"testing"
"github.com/simbiont-runtime/graphengine/session"
"github.com/stretchr/testify/require"
)
func TestOpen(t *testing.T) {
db, err := Open(t.TempDir(), nil)
require.NoError(t, err)
require.NotNil(t, db)
}
type TestKit struct {
t *testing.T
sess *session.Session
}
func NewTestKit(t *testing.T, sess *session.Session) *TestKit {
return &TestKit{
t: t,
sess: sess,
}
}
func (tk *TestKit) MustExec(ctx context.Context, query string) {
rs, err := tk.sess.Execute(ctx, query)
require.NoError(tk.t, err)
require.NoError(tk.t, rs.Next(ctx))
}
func TestDDL(t *testing.T) {
db, err := Open(t.TempDir(), nil)
require.NoError(t, err)
require.NotNil(t, db)
defer db.Close()
catalog := db.Catalog()
sess := db.NewSession()
require.NotNil(t, sess)
tk := NewTestKit(t, sess)
ctx := context.Background()
tk.MustExec(ctx, "CREATE GRAPH graph101")
require.NoError(t, err)
graph := catalog.Graph("graph101")
require.NotNil(t, graph)
sess.StmtContext().SetCurrentGraphName("graph101")
tk.MustExec(ctx, "CREATE LABEL label01")
require.NoError(t, err)
require.NotNil(t, graph.Label("label01"))
tk.MustExec(ctx, "CREATE LABEL IF NOT EXISTS label01")
require.NoError(t, err)
tk.MustExec(ctx, "DROP LABEL label01")
require.NoError(t, err)
require.Nil(t, graph.Label("label01"))
tk.MustExec(ctx, "DROP LABEL IF EXISTS label01")
require.NoError(t, err)
require.Nil(t, graph.Label("label01"))
tk.MustExec(ctx, "DROP GRAPH graph101")
require.NoError(t, err)
require.Nil(t, catalog.Graph("graph101"))
}