-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconnection_test.go
141 lines (105 loc) · 3.32 KB
/
connection_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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
package arango
import (
"testing"
)
func TestConnectionSuccessful( t *testing.T ){
db, err := Conn( "http://root@localhost:8529" )
if err != nil {
t.Fatal( err )
}
if db.Name() != "_system" {
t.Error( "Did not get default database _system.")
}
if !db.IsSystem() {
t.Error( "Expected _system to have IsSystem = true")
}
if db.Path() == "" {
t.Error( "Path of the database was not set. A path is expected." )
}
if db.Id() == "" {
t.Error( "Id of the database was not set. An id is expected." )
}
}
func TestSslConnectionSuccessful( t *testing.T ){
AllowBadSslCerts = true
_, err := Conn( "https://root@localhost:8530" )
AllowBadSslCerts = false
if err != nil {
t.Fatal( err )
}
}
func TestUnixSocketConnectionSuccessful( t *testing.T ){
_, err := Conn( "unix://root@/tmp/arangod.soc" )
if err != nil {
t.Fatal( err )
}
}
func TestBadPathUnixSocketConnectionSuccessful( t *testing.T ){
_, err := Conn( "unix://root@/tmp/fakearangod.soc" )
if err == nil {
t.Fatal( "Expected error when connectiong to unix:///tmp/fakearangod.soc" )
}
}
func TestConnectionFailure( t *testing.T ){
_, err := Conn( "http://root@localhost:9999" )
if err == nil {
t.Fatal( "Expected error when connectiong to http://localhost:9999" )
}
if _, ok := err.(ArangoError); !ok {
t.Fatalf( "Expected ArangoError but got something else (%T, %v)", err, err )
}
}
func TestBadUser( t *testing.T ){
db, err := Conn( "http://roo@localhost:8529" )
if err == nil {
t.Fatal( "Expected error when connectiong to http://localhost:8529" )
}
if _, ok := err.(ArangoError); !ok {
t.Fatalf( "Expected ArangoError but got something else (%T, %v)", err, err )
}
if db != nil {
t.Fatalf( "Expected database to be nil but got something back : (%T, %v)", db, db )
}
}
func TestUsingDatabaseName( t *testing.T ){
db, err := ConnDb( "http://root@localhost:8529", "_system" )
if err != nil {
t.Fatal( err )
}
if db.Name() != "_system" {
t.Error( "Did not get default database _system.")
}
}
func TestUsingDatabaseNameUnixConn( t *testing.T ){
db, err := ConnDb( "unix://root@/tmp/arangod.soc", "_system" )
if err != nil {
t.Fatal( err )
}
if db.Name() != "_system" {
t.Error( "Did not get default database _system.")
}
}
func TestUsingDatabaseNameAndUserCreds( t *testing.T ){
db, err := ConnDbUserPassword( "http://localhost:8529", "_system", "root", "" )
if err != nil {
t.Fatal( err )
}
if db == nil {
t.Fatal( "Expected to get a database back but got nil." )
}
if db.Name() != "_system" {
t.Error( "Did not get default database _system.")
}
}
func TestFailUsingDatabaseNameAndUserCreds( t *testing.T ){
db, err := ConnDbUserPassword( "http://localhost:8529", "_system", "roo", "" )
if err == nil {
t.Fatal( "Expected error when connectiong to http://localhost:8529" )
}
if _, ok := err.(ArangoError); !ok {
t.Fatalf( "Expected ArangoError but got something else (%T, %v)", err, err )
}
if db != nil {
t.Fatalf( "Expected database to be nil but got something back : (%T, %v)", db, db )
}
}