-
Notifications
You must be signed in to change notification settings - Fork 0
/
arango_test.go
112 lines (90 loc) · 2.04 KB
/
arango_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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package arango
import (
"log"
"os"
"testing"
)
func TestMain(m *testing.M) {
Connect("http://localhost:8529")
os.Exit(m.Run())
}
func TestCurrentDB(t *testing.T) {
t.Log("Test if we can fetch the current database")
db, err := CurrentDB()
if err != nil {
t.Fatal(err)
}
if len(db.Name) < 1 {
t.Error("db does not have a name")
}
if len(db.Id) < 1 {
t.Error("db does not have a id")
}
if len(db.Path) < 1 {
t.Error("db does not have a path")
}
log.Println(db)
}
func createDoc(t *testing.T) Document {
doc := &map[string]interface{}{
"name": "Ujjwal Thaakar",
"email": "ujjwal@gmail.com",
}
d, err := CreateDocument(*doc, "ujjwal", true)
if err != nil {
t.Fatal(err)
}
t.Log(d)
return d
}
func TestCreateDocument(t *testing.T) {
t.Log("Test if we can create a new document")
d := createDoc(t)
if _, ok := d["_id"].(string); !ok {
t.Fatal("Document _id should be a string")
}
if _, ok := d["_key"].(string); !ok {
t.Fatal("Document _key should be a string")
}
if _, ok := d["_rev"].(string); !ok {
t.Fatal("Document _rev should be a string")
}
log.Println(d)
}
func TestFind(t *testing.T) {
t.Log("Test if we can find a document by it's handle")
d := createDoc(t)
handle := d.Id()
same, err := Find(handle)
if err != nil {
t.Fatal(err)
}
t.Log(same)
if d.Rev() != same.Rev() {
t.Fatalf("Documnt with handle %s not fetched: %s != %s", handle, d.Id(), same.Rev())
}
log.Printf("%s: %v", handle, same)
}
func TestFindIf(t *testing.T) {
t.Log("Test if we can find a document by it's handle and by conditionally matching it's etag")
doc := &map[string]interface{}{
"name": "Ujjwal Thaakar",
"email": "ujjwal@gmail.com",
}
d, err := CreateDocument(*doc, "ujjwal", true)
if err != nil {
t.Fatal(err)
}
t.Log(d)
handle := d.Id()
etag := d.Rev()
same, err := FindIf(handle, etag, true)
if err != nil {
t.Fatal(err)
}
t.Log(same)
if d.Rev() != same.Rev() {
t.Fatalf("Documnt with handle %s not fetched: %s != %s", handle, d.Id(), same.Rev())
}
log.Printf("%s == %s", d.Rev(), same.Rev())
}