20
20
21
21
package com .arangodb ;
22
22
23
- import com .arangodb .config .ConfigUtils ;
24
23
import com .arangodb .entity .*;
25
24
import com .arangodb .internal .ArangoRequestParam ;
26
25
import com .arangodb .internal .serde .SerdeUtils ;
@@ -237,15 +236,19 @@ void createUser(ArangoDBAsync arangoDB) throws ExecutionException, InterruptedEx
237
236
assumeTrue (isSingleServer ());
238
237
String username ="user-" +UUID .randomUUID ();
239
238
final UserEntity result =arangoDB .createUser (username ,PW ,null ).get ();
240
- assertThat (result .getUser ()).isEqualTo (username );
239
+ try {
240
+ assertThat (result .getUser ()).isEqualTo (username );
241
+ }finally {
242
+ arangoDB .deleteUser (username ).get ();
243
+ }
241
244
}
242
245
243
246
@ ParameterizedTest
244
247
@ MethodSource ("asyncArangos" )
245
- void deleteUser (ArangoDBAsync arangoDB ) {
248
+ void deleteUser (ArangoDBAsync arangoDB )throws ExecutionException , InterruptedException {
246
249
String username ="user-" +UUID .randomUUID ();
247
- arangoDB .createUser (username ,PW ,null );
248
- arangoDB .deleteUser (username );
250
+ arangoDB .createUser (username ,PW ,null ). get () ;
251
+ arangoDB .deleteUser (username ). get () ;
249
252
}
250
253
251
254
@ ParameterizedTest
@@ -261,7 +264,11 @@ void getUser(ArangoDBAsync arangoDB) throws ExecutionException, InterruptedExcep
261
264
String username ="user-" +UUID .randomUUID ();
262
265
arangoDB .createUser (username ,PW ,null ).get ();
263
266
final UserEntity user =arangoDB .getUser (username ).get ();
264
- assertThat (user .getUser ()).isEqualTo (username );
267
+ try {
268
+ assertThat (user .getUser ()).isEqualTo (username );
269
+ }finally {
270
+ arangoDB .deleteUser (username ).get ();
271
+ }
265
272
}
266
273
267
274
@ ParameterizedTest
@@ -279,28 +286,36 @@ void getUsers(ArangoDBAsync arangoDB) throws ExecutionException, InterruptedExce
279
286
final Collection <UserEntity >initialUsers =arangoDB .getUsers ().get ();
280
287
281
288
arangoDB .createUser (username ,PW ,null ).get ();
282
- final Collection <UserEntity >users =arangoDB .getUsers ().get ();
283
- assertThat (users ).hasSize (initialUsers .size () +1 );
289
+ try {
290
+ final Collection <UserEntity >users =arangoDB .getUsers ().get ();
291
+ assertThat (users ).hasSize (initialUsers .size () +1 );
284
292
285
- final List <String >expected =new ArrayList <>(users .size ());
286
- // Add initial users, including root:
287
- for (final UserEntity userEntity :initialUsers ) {
288
- expected .add (userEntity .getUser ());
289
- }
290
- // Add username:
291
- expected .add (username );
293
+ final List <String >expected =new ArrayList <>(users .size ());
294
+ // Add initial users, including root:
295
+ for (final UserEntity userEntity :initialUsers ) {
296
+ expected .add (userEntity .getUser ());
297
+ }
298
+ // Add username:
299
+ expected .add (username );
292
300
293
- for (final UserEntity user :users ) {
294
- assertThat (user .getUser ()).isIn (expected );
301
+ for (final UserEntity user :users ) {
302
+ assertThat (user .getUser ()).isIn (expected );
303
+ }
304
+ }finally {
305
+ arangoDB .deleteUser (username ).get ();
295
306
}
296
307
}
297
308
298
309
@ ParameterizedTest
299
310
@ MethodSource ("asyncArangos" )
300
- void updateUserNoOptions (ArangoDBAsync arangoDB ) {
311
+ void updateUserNoOptions (ArangoDBAsync arangoDB )throws ExecutionException , InterruptedException {
301
312
String username ="user-" +UUID .randomUUID ();
302
- arangoDB .createUser (username ,PW ,null );
303
- arangoDB .updateUser (username ,null );
313
+ arangoDB .createUser (username ,PW ,null ).get ();
314
+ try {
315
+ arangoDB .updateUser (username ,null ).get ();
316
+ }finally {
317
+ arangoDB .deleteUser (username ).get ();
318
+ }
304
319
}
305
320
306
321
@ ParameterizedTest
@@ -310,16 +325,20 @@ void updateUser(ArangoDBAsync arangoDB) throws ExecutionException, InterruptedEx
310
325
final Map <String ,Object >extra =new HashMap <>();
311
326
extra .put ("hund" ,false );
312
327
arangoDB .createUser (username ,PW ,new UserCreateOptions ().extra (extra )).get ();
313
- extra .put ("hund" ,true );
314
- extra .put ("mund" ,true );
315
- final UserEntity user =arangoDB .updateUser (username ,new UserUpdateOptions ().extra (extra )).get ();
316
- assertThat (user .getExtra ()).hasSize (2 );
317
- assertThat (user .getExtra ()).containsKey ("hund" );
318
- assertThat (Boolean .valueOf (String .valueOf (user .getExtra ().get ("hund" )))).isTrue ();
319
- final UserEntity user2 =arangoDB .getUser (username ).get ();
320
- assertThat (user2 .getExtra ()).hasSize (2 );
321
- assertThat (user2 .getExtra ()).containsKey ("hund" );
322
- assertThat (Boolean .valueOf (String .valueOf (user2 .getExtra ().get ("hund" )))).isTrue ();
328
+ try {
329
+ extra .put ("hund" ,true );
330
+ extra .put ("mund" ,true );
331
+ final UserEntity user =arangoDB .updateUser (username ,new UserUpdateOptions ().extra (extra )).get ();
332
+ assertThat (user .getExtra ()).hasSize (2 );
333
+ assertThat (user .getExtra ()).containsKey ("hund" );
334
+ assertThat (Boolean .valueOf (String .valueOf (user .getExtra ().get ("hund" )))).isTrue ();
335
+ final UserEntity user2 =arangoDB .getUser (username ).get ();
336
+ assertThat (user2 .getExtra ()).hasSize (2 );
337
+ assertThat (user2 .getExtra ()).containsKey ("hund" );
338
+ assertThat (Boolean .valueOf (String .valueOf (user2 .getExtra ().get ("hund" )))).isTrue ();
339
+ }finally {
340
+ arangoDB .deleteUser (username ).get ();
341
+ }
323
342
}
324
343
325
344
@ ParameterizedTest
@@ -329,32 +348,44 @@ void replaceUser(ArangoDBAsync arangoDB) throws ExecutionException, InterruptedE
329
348
final Map <String ,Object >extra =new HashMap <>();
330
349
extra .put ("hund" ,false );
331
350
arangoDB .createUser (username ,PW ,new UserCreateOptions ().extra (extra )).get ();
332
- extra .remove ("hund" );
333
- extra .put ("mund" ,true );
334
- final UserEntity user =arangoDB .replaceUser (username ,new UserUpdateOptions ().extra (extra )).get ();
335
- assertThat (user .getExtra ()).hasSize (1 );
336
- assertThat (user .getExtra ()).containsKey ("mund" );
337
- assertThat (Boolean .valueOf (String .valueOf (user .getExtra ().get ("mund" )))).isTrue ();
338
- final UserEntity user2 =arangoDB .getUser (username ).get ();
339
- assertThat (user2 .getExtra ()).hasSize (1 );
340
- assertThat (user2 .getExtra ()).containsKey ("mund" );
341
- assertThat (Boolean .valueOf (String .valueOf (user2 .getExtra ().get ("mund" )))).isTrue ();
351
+ try {
352
+ extra .remove ("hund" );
353
+ extra .put ("mund" ,true );
354
+ final UserEntity user =arangoDB .replaceUser (username ,new UserUpdateOptions ().extra (extra )).get ();
355
+ assertThat (user .getExtra ()).hasSize (1 );
356
+ assertThat (user .getExtra ()).containsKey ("mund" );
357
+ assertThat (Boolean .valueOf (String .valueOf (user .getExtra ().get ("mund" )))).isTrue ();
358
+ final UserEntity user2 =arangoDB .getUser (username ).get ();
359
+ assertThat (user2 .getExtra ()).hasSize (1 );
360
+ assertThat (user2 .getExtra ()).containsKey ("mund" );
361
+ assertThat (Boolean .valueOf (String .valueOf (user2 .getExtra ().get ("mund" )))).isTrue ();
362
+ }finally {
363
+ arangoDB .deleteUser (username ).get ();
364
+ }
342
365
}
343
366
344
367
@ ParameterizedTest
345
368
@ MethodSource ("asyncArangos" )
346
- void updateUserDefaultDatabaseAccess (ArangoDBAsync arangoDB ) {
369
+ void updateUserDefaultDatabaseAccess (ArangoDBAsync arangoDB )throws ExecutionException , InterruptedException {
347
370
String username ="user-" +UUID .randomUUID ();
348
- arangoDB .createUser (username ,PW );
349
- arangoDB .grantDefaultDatabaseAccess (username ,Permissions .RW );
371
+ arangoDB .createUser (username ,PW ).get ();
372
+ try {
373
+ arangoDB .grantDefaultDatabaseAccess (username ,Permissions .RW ).get ();
374
+ }finally {
375
+ arangoDB .deleteUser (username ).get ();
376
+ }
350
377
}
351
378
352
379
@ ParameterizedTest
353
380
@ MethodSource ("asyncArangos" )
354
- void updateUserDefaultCollectionAccess (ArangoDBAsync arangoDB ) {
381
+ void updateUserDefaultCollectionAccess (ArangoDBAsync arangoDB )throws ExecutionException , InterruptedException {
355
382
String username ="user-" +UUID .randomUUID ();
356
- arangoDB .createUser (username ,PW );
357
- arangoDB .grantDefaultCollectionAccess (username ,Permissions .RW );
383
+ arangoDB .createUser (username ,PW ).get ();
384
+ try {
385
+ arangoDB .grantDefaultCollectionAccess (username ,Permissions .RW ).get ();
386
+ }finally {
387
+ arangoDB .deleteUser (username ).get ();
388
+ }
358
389
}
359
390
360
391
@ ParameterizedTest
@@ -637,29 +668,6 @@ void arangoDBException(ArangoDBAsync arangoDB) {
637
668
assertThat (e .getErrorNum ()).isEqualTo (1228 );
638
669
}
639
670
640
- @ ParameterizedTest
641
- @ MethodSource ("asyncArangos" )
642
- void fallbackHost ()throws ExecutionException ,InterruptedException {
643
- final ArangoDBAsync arangoDB =new ArangoDB .Builder ()
644
- .loadProperties (config )
645
- .host ("not-accessible" ,8529 ).host ("172.28.0.1" ,8529 )
646
- .build ()
647
- .async ();
648
- final ArangoDBVersion version =arangoDB .getVersion ().get ();
649
- assertThat (version ).isNotNull ();
650
- }
651
-
652
- @ ParameterizedTest
653
- @ MethodSource ("asyncArangos" )
654
- void loadpropertiesWithPrefix ()throws ExecutionException ,InterruptedException {
655
- ArangoDBAsync adb =new ArangoDB .Builder ()
656
- .loadProperties (ConfigUtils .loadConfig ("arangodb-with-prefix.properties" ,"adb" ))
657
- .build ()
658
- .async ();
659
- adb .getVersion ().get ();
660
- adb .shutdown ();
661
- }
662
-
663
671
@ ParameterizedTest
664
672
@ MethodSource ("asyncArangos" )
665
673
void accessMultipleDatabases (ArangoDBAsync arangoDB )throws ExecutionException ,InterruptedException {