Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8994c00

Browse files
authored
[DE-1047] QA: functional tests with configurable target (#610)
* commented tests with hard-coded hostname * commented classification analyzer models tests * moved configuration tests to test-non-functional module * added skipStatefulTests system property * remove users created in tests * fix async test * fix async test * fix jwt tests
1 parent 0da6fce commit 8994c00

File tree

11 files changed

+286
-171
lines changed

11 files changed

+286
-171
lines changed

‎test-functional/src/test/java/com/arangodb/ArangoDBAsyncTest.java

Lines changed: 77 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020

2121
package com.arangodb;
2222

23-
import com.arangodb.config.ConfigUtils;
2423
import com.arangodb.entity.*;
2524
import com.arangodb.internal.ArangoRequestParam;
2625
import 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) throwsExecutionException, 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) throwsExecutionException, 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) throwsExecutionException, 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) throwsExecutionException, 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

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /