2020
2121package com .arangodb ;
2222
23- import com .arangodb .config .ConfigUtils ;
2423import com .arangodb .entity .*;
2524import com .arangodb .internal .ArangoRequestParam ;
2625import com .arangodb .internal .serde .SerdeUtils ;
@@ -237,15 +236,19 @@ void createUser(ArangoDBAsync arangoDB) throws ExecutionException, InterruptedEx
237236 assumeTrue (isSingleServer ());
238237 String username = "user-" + UUID .randomUUID ();
239238 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+ }
241244 }
242245
243246 @ ParameterizedTest
244247 @ MethodSource ("asyncArangos" )
245- void deleteUser (ArangoDBAsync arangoDB ) {
248+ void deleteUser (ArangoDBAsync arangoDB ) throws ExecutionException , InterruptedException {
246249 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 () ;
249252 }
250253
251254 @ ParameterizedTest
@@ -261,7 +264,11 @@ void getUser(ArangoDBAsync arangoDB) throws ExecutionException, InterruptedExcep
261264 String username = "user-" + UUID .randomUUID ();
262265 arangoDB .createUser (username , PW , null ).get ();
263266 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+ }
265272 }
266273
267274 @ ParameterizedTest
@@ -279,28 +286,36 @@ void getUsers(ArangoDBAsync arangoDB) throws ExecutionException, InterruptedExce
279286 final Collection <UserEntity > initialUsers = arangoDB .getUsers ().get ();
280287
281288 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 );
284292
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 );
292300
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 ();
295306 }
296307 }
297308
298309 @ ParameterizedTest
299310 @ MethodSource ("asyncArangos" )
300- void updateUserNoOptions (ArangoDBAsync arangoDB ) {
311+ void updateUserNoOptions (ArangoDBAsync arangoDB ) throws ExecutionException , InterruptedException {
301312 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+ }
304319 }
305320
306321 @ ParameterizedTest
@@ -310,16 +325,20 @@ void updateUser(ArangoDBAsync arangoDB) throws ExecutionException, InterruptedEx
310325 final Map <String , Object > extra = new HashMap <>();
311326 extra .put ("hund" , false );
312327 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+ }
323342 }
324343
325344 @ ParameterizedTest
@@ -329,32 +348,44 @@ void replaceUser(ArangoDBAsync arangoDB) throws ExecutionException, InterruptedE
329348 final Map <String , Object > extra = new HashMap <>();
330349 extra .put ("hund" , false );
331350 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+ }
342365 }
343366
344367 @ ParameterizedTest
345368 @ MethodSource ("asyncArangos" )
346- void updateUserDefaultDatabaseAccess (ArangoDBAsync arangoDB ) {
369+ void updateUserDefaultDatabaseAccess (ArangoDBAsync arangoDB ) throws ExecutionException , InterruptedException {
347370 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+ }
350377 }
351378
352379 @ ParameterizedTest
353380 @ MethodSource ("asyncArangos" )
354- void updateUserDefaultCollectionAccess (ArangoDBAsync arangoDB ) {
381+ void updateUserDefaultCollectionAccess (ArangoDBAsync arangoDB ) throws ExecutionException , InterruptedException {
355382 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+ }
358389 }
359390
360391 @ ParameterizedTest
@@ -637,29 +668,6 @@ void arangoDBException(ArangoDBAsync arangoDB) {
637668 assertThat (e .getErrorNum ()).isEqualTo (1228 );
638669 }
639670
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-
663671 @ ParameterizedTest
664672 @ MethodSource ("asyncArangos" )
665673 void accessMultipleDatabases (ArangoDBAsync arangoDB ) throws ExecutionException , InterruptedException {
0 commit comments