@@ -83,105 +83,146 @@ public static void shutdown() {
83
83
84
84
@ Parameters
85
85
public static List <ArangoDB > builders () {
86
- return BaseTest .arangos ;
87
- }
86
+ return BaseTest .arangos ;
87
+ }
88
88
89
- public ArangoDBTest (final ArangoDB arangoDB ) {
90
- super ();
91
- this .arangoDB = arangoDB ;
92
- db1 = arangoDB .db (DB1 );
93
- db2 = arangoDB .db (DB2 );
94
- }
89
+ public ArangoDBTest (final ArangoDB arangoDB ) {
90
+ super ();
91
+ this .arangoDB = arangoDB ;
92
+ db1 = arangoDB .db (DB1 );
93
+ db2 = arangoDB .db (DB2 );
94
+ }
95
95
96
- private boolean isEnterprise () {
97
- return arangoDB .getVersion ().getLicense () == License .ENTERPRISE ;
98
- }
96
+ private boolean isEnterprise () {
97
+ return arangoDB .getVersion ().getLicense () == License .ENTERPRISE ;
98
+ }
99
99
100
- private boolean isCluster () {
101
- return arangoDB .getRole () == ServerRole .COORDINATOR ;
102
- }
100
+ private boolean isCluster () {
101
+ return arangoDB .getRole () == ServerRole .COORDINATOR ;
102
+ }
103
103
104
- private boolean isAtLeastVersion (final int major , final int minor ) {
104
+ private boolean isAtLeastVersion (final int major , final int minor ) {
105
105
return TestUtils .isAtLeastVersion (arangoDB .getVersion ().getVersion (), major , minor , 0 );
106
- }
107
-
108
- @ Test
109
- public void getVersion () {
110
- final ArangoDBVersion version = arangoDB .getVersion ();
111
- assertThat (version , is (notNullValue ()));
112
- assertThat (version .getServer (), is (notNullValue ()));
113
- assertThat (version .getVersion (), is (notNullValue ()));
114
- }
115
-
116
- @ Test
117
- public void createAndDeleteDatabase () {
118
- final String dbName = "testDB-" + UUID .randomUUID ().toString ();
119
- final Boolean resultCreate = arangoDB .createDatabase (dbName );
120
- assertThat (resultCreate , is (true ));
121
- final Boolean resultDelete = arangoDB .db (dbName ).drop ();
122
- assertThat (resultDelete , is (true ));
123
- }
124
-
125
- @ Test
126
- public void createDatabaseWithOptions () {
127
- assumeTrue (isCluster ());
128
- assumeTrue (isAtLeastVersion (3 , 6 ));
129
- final String dbName = "testDB-" + UUID .randomUUID ().toString ();
130
- final Boolean resultCreate = arangoDB .createDatabase (new DBCreateOptions ()
131
- .name (dbName )
132
- .options (new DatabaseOptions ()
133
- .writeConcern (2 )
134
- .replicationFactor (2 )
135
- .sharding ("" )
136
- )
137
- );
138
- assertThat (resultCreate , is (true ));
139
-
140
- DatabaseEntity info = arangoDB .db (dbName ).getInfo ();
141
- assertThat (info .getReplicationFactor (), is (2 ));
142
- assertThat (info .getWriteConcern (), is (2 ));
143
- assertThat (info .getSharding (), is ("" ));
144
- assertThat (info .getSatellite (), nullValue ());
145
-
146
- final Boolean resultDelete = arangoDB .db (dbName ).drop ();
147
- assertThat (resultDelete , is (true ));
148
- }
149
-
150
- @ Test
106
+ }
107
+
108
+ @ Test
109
+ public void getVersion () {
110
+ final ArangoDBVersion version = arangoDB .getVersion ();
111
+ assertThat (version , is (notNullValue ()));
112
+ assertThat (version .getServer (), is (notNullValue ()));
113
+ assertThat (version .getVersion (), is (notNullValue ()));
114
+ }
115
+
116
+ @ Test
117
+ public void createAndDeleteDatabase () {
118
+ final String dbName = "testDB-" + UUID .randomUUID ().toString ();
119
+ final Boolean resultCreate = arangoDB .createDatabase (dbName );
120
+ assertThat (resultCreate , is (true ));
121
+ final Boolean resultDelete = arangoDB .db (dbName ).drop ();
122
+ assertThat (resultDelete , is (true ));
123
+ }
124
+
125
+ @ Test
126
+ public void createDatabaseWithOptions () {
127
+ assumeTrue (isCluster ());
128
+ assumeTrue (isAtLeastVersion (3 , 6 ));
129
+ final String dbName = "testDB-" + UUID .randomUUID ().toString ();
130
+ final Boolean resultCreate = arangoDB .createDatabase (new DBCreateOptions ()
131
+ .name (dbName )
132
+ .options (new DatabaseOptions ()
133
+ .writeConcern (2 )
134
+ .replicationFactor (2 )
135
+ .sharding ("" )
136
+ )
137
+ );
138
+ assertThat (resultCreate , is (true ));
139
+
140
+ DatabaseEntity info = arangoDB .db (dbName ).getInfo ();
141
+ assertThat (info .getReplicationFactor (), is (2 ));
142
+ assertThat (info .getWriteConcern (), is (2 ));
143
+ assertThat (info .getSharding (), is ("" ));
144
+ assertThat (info .getSatellite (), nullValue ());
145
+
146
+ final Boolean resultDelete = arangoDB .db (dbName ).drop ();
147
+ assertThat (resultDelete , is (true ));
148
+ }
149
+
150
+ @ Test
151
151
public void createDatabaseWithOptionsSatellite () {
152
- assumeTrue (isCluster ());
153
- assumeTrue (isEnterprise ());
154
- assumeTrue (isAtLeastVersion (3 , 6 ));
155
-
156
- final String dbName = "testDB-" + UUID .randomUUID ().toString ();
157
- final Boolean resultCreate = arangoDB .createDatabase (new DBCreateOptions ()
158
- .name (dbName )
159
- .options (new DatabaseOptions ()
160
- .writeConcern (2 )
161
- .satellite (true )
162
- .sharding ("" )
163
- )
164
- );
165
- assertThat (resultCreate , is (true ));
166
-
167
- DatabaseEntity info = arangoDB .db (dbName ).getInfo ();
168
- assertThat (info .getReplicationFactor (), nullValue ());
169
- assertThat (info .getSatellite (), is (true ));
170
- assertThat (info .getWriteConcern (), is (2 ));
171
- assertThat (info .getSharding (), is ("" ));
172
-
173
- final Boolean resultDelete = arangoDB .db (dbName ).drop ();
174
- assertThat (resultDelete , is (true ));
175
- }
176
-
177
- @ Test
178
- public void getDatabases () {
179
- Collection <String > dbs = arangoDB .getDatabases ();
180
- assertThat (dbs , is (notNullValue ()));
181
- assertThat (dbs .size (), is (greaterThan (0 )));
182
- assertThat (dbs .contains ("_system" ), is (true ));
183
- assertThat (dbs , hasItem (DB1 ));
184
- }
152
+ assumeTrue (isCluster ());
153
+ assumeTrue (isEnterprise ());
154
+ assumeTrue (isAtLeastVersion (3 , 6 ));
155
+
156
+ final String dbName = "testDB-" + UUID .randomUUID ().toString ();
157
+ final Boolean resultCreate = arangoDB .createDatabase (new DBCreateOptions ()
158
+ .name (dbName )
159
+ .options (new DatabaseOptions ()
160
+ .writeConcern (2 )
161
+ .satellite (true )
162
+ .sharding ("" )
163
+ )
164
+ );
165
+ assertThat (resultCreate , is (true ));
166
+
167
+ DatabaseEntity info = arangoDB .db (dbName ).getInfo ();
168
+ assertThat (info .getReplicationFactor (), nullValue ());
169
+ assertThat (info .getSatellite (), is (true ));
170
+ assertThat (info .getWriteConcern (), is (2 ));
171
+ assertThat (info .getSharding (), is ("" ));
172
+
173
+ final Boolean resultDelete = arangoDB .db (dbName ).drop ();
174
+ assertThat (resultDelete , is (true ));
175
+ }
176
+
177
+ @ Test
178
+ public void createDatabaseWithUsers () {
179
+ final String dbName = "testDB-" + UUID .randomUUID ().toString ();
180
+ final Map <String , Object > extra = Collections .singletonMap ("key" , "value" );
181
+ final Boolean resultCreate = arangoDB .createDatabase (new DBCreateOptions ()
182
+ .name (dbName )
183
+ .users (Collections .singletonList (new DatabaseUsersOptions ()
184
+ .active (true )
185
+ .username ("testUser" )
186
+ .passwd ("testPasswd" )
187
+ .extra (extra )
188
+ ))
189
+ );
190
+ assertThat (resultCreate , is (true ));
191
+
192
+ DatabaseEntity info = arangoDB .db (dbName ).getInfo ();
193
+ assertThat (info .getName (), is (dbName ));
194
+
195
+ Optional <UserEntity > retrievedUserOptional = arangoDB .getUsers ().stream ()
196
+ .filter (it -> it .getUser ().equals ("testUser" ))
197
+ .findFirst ();
198
+ assertThat (retrievedUserOptional .isPresent (), is (true ));
199
+
200
+ UserEntity retrievedUser = retrievedUserOptional .get ();
201
+ assertThat (retrievedUser .getActive (), is (true ));
202
+ assertThat (retrievedUser .getExtra (), is (extra ));
203
+
204
+ ArangoDB arangoDBTestUser = new ArangoDB .Builder ()
205
+ .user ("testUser" )
206
+ .password ("testPasswd" )
207
+ .build ();
208
+
209
+ // check if testUser has been created and can access the created db
210
+ ArangoCollection collection = arangoDBTestUser .db (dbName ).collection ("col-" + UUID .randomUUID ().toString ());
211
+ collection .create ();
212
+ arangoDBTestUser .shutdown ();
213
+
214
+ final Boolean resultDelete = arangoDB .db (dbName ).drop ();
215
+ assertThat (resultDelete , is (true ));
216
+ }
217
+
218
+ @ Test
219
+ public void getDatabases () {
220
+ Collection <String > dbs = arangoDB .getDatabases ();
221
+ assertThat (dbs , is (notNullValue ()));
222
+ assertThat (dbs .size (), is (greaterThan (0 )));
223
+ assertThat (dbs .contains ("_system" ), is (true ));
224
+ assertThat (dbs , hasItem (DB1 ));
225
+ }
185
226
186
227
@ Test
187
228
public void getAccessibleDatabases () {
0 commit comments