diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 433453de8..cd0f23e23 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -54,6 +54,7 @@ jobs:
with:
java-version: ${{matrix.java-version}}
distribution: 'adopt'
+ cache: maven
- name: Start Database
run: ./docker/start_db.sh
env:
@@ -61,30 +62,10 @@ jobs:
STARTER_MODE: ${{matrix.topology}}
DOCKER_IMAGE: ${{matrix.docker-img}}
DATABASE_EXTENDED_NAMES: ${{matrix.db-ext-names}}
- - name: Cache local Maven repository
- uses: actions/cache@v2
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: ${{ runner.os }}-maven-
- name: Info
run: mvn -version
- name: Test
run: mvn --no-transfer-progress test -DargLine="-Duser.language=${{matrix.user-language}}"
- - name: Collect docker logs on failure
- if: ${{ cancelled() || failure() }}
- uses: jwalton/gh-docker-logs@v1
- with:
- dest: './logs'
- - name: Tar logs
- if: ${{ cancelled() || failure() }}
- run: tar cvzf ./logs.tgz ./logs
- - name: Upload logs to GitHub
- if: ${{ cancelled() || failure() }}
- uses: actions/upload-artifact@master
- with:
- name: logs-${{github.job}}.tgz
- path: ./logs.tgz
# test encodeURIComponent() and normalize('NFC') comparing to Javascript behavior
test-graalvm:
@@ -128,6 +109,7 @@ jobs:
with:
java-version: ${{matrix.java-version}}
distribution: 'adopt'
+ cache: maven
- name: Start Database
run: ./docker/start_db.sh
env:
@@ -135,12 +117,6 @@ jobs:
STARTER_MODE: ${{matrix.topology}}
DOCKER_IMAGE: ${{matrix.docker-img}}
DATABASE_EXTENDED_NAMES: ${{matrix.db-ext-names}}
- - name: Cache local Maven repository
- uses: actions/cache@v2
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: ${{ runner.os }}-maven-
- name: Set JWT
run: |
ENDPOINT=$(./docker/find_active_endpoint.sh)
@@ -152,17 +128,3 @@ jobs:
run: mvn -version
- name: Test
run: mvn --no-transfer-progress test -DargLine="-Duser.language=${{matrix.user-language}}"
- - name: Collect docker logs on failure
- if: ${{ cancelled() || failure() }}
- uses: jwalton/gh-docker-logs@v1
- with:
- dest: './logs'
- - name: Tar logs
- if: ${{ cancelled() || failure() }}
- run: tar cvzf ./logs.tgz ./logs
- - name: Upload logs to GitHub
- if: ${{ cancelled() || failure() }}
- uses: actions/upload-artifact@master
- with:
- name: logs.tgz
- path: ./logs.tgz
diff --git a/.github/workflows/native.yml b/.github/workflows/native.yml
new file mode 100644
index 000000000..373d4c3de
--- /dev/null
+++ b/.github/workflows/native.yml
@@ -0,0 +1,43 @@
+name: Native Tests
+
+on:
+ workflow_dispatch:
+ push:
+ tags: [ v** ]
+
+jobs:
+ test-native:
+ timeout-minutes: 20
+ runs-on: ubuntu-latest
+
+ strategy:
+ fail-fast: false
+ matrix:
+ docker-img:
+ - docker.io/arangodb/enterprise:3.9.0
+ topology:
+ - cluster
+ db-ext-names:
+ - false
+ java-version:
+ - 11
+
+ steps:
+ - uses: actions/checkout@v2
+ - uses: graalvm/setup-graalvm@v1
+ with:
+ version: 'latest'
+ java-version: ${{matrix.java-version}}
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ components: 'native-image'
+ - name: Start Database
+ run: ./docker/start_db.sh
+ env:
+ ARANGO_LICENSE_KEY: ${{ secrets.ARANGO_LICENSE_KEY }}
+ STARTER_MODE: ${{matrix.topology}}
+ DOCKER_IMAGE: ${{matrix.docker-img}}
+ DATABASE_EXTENDED_NAMES: ${{matrix.db-ext-names}}
+ - name: Info
+ run: mvn -version
+ - name: Test Native
+ run: mvn -Pnative --no-transfer-progress test
diff --git a/.gitignore b/.gitignore
index f594772c9..04451cf5c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@
/docker/jwtSecret
/docker/data
+/test-results-native/
diff --git a/dev-README.md b/dev-README.md
index 195fe7df8..fb6f0c109 100644
--- a/dev-README.md
+++ b/dev-README.md
@@ -3,3 +3,16 @@
## native image reflection configuration
To generate reflection configuration run `helper.NativeImageHelper` and copy the generated json to `src/main/resources/META-INF/native-image/com.arangodb/arangodb-java-driver/reflect-config.json`.
+
+
+## test native
+
+```shell
+mvn -Pnative test
+```
+
+## test ssl
+
+```shell
+mvn test -Dtest=com.arangodb.ArangoSslTest -DSslTest=true
+```
diff --git a/pom.xml b/pom.xml
index 4695daf69..61dcd4540 100644
--- a/pom.xml
+++ b/pom.xml
@@ -58,6 +58,40 @@
none
+
+ native
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.0.0-M5
+
+
+ org.graalvm.buildtools
+ native-maven-plugin
+ 0.9.11
+ true
+
+
+ test-native
+
+ generateTestResourceConfig
+ test
+
+ test
+
+
+
+ false
+
+ --no-fallback
+
+
+
+
+
+
@@ -145,7 +179,7 @@
org.apache.maven.plugins
maven-surefire-plugin
- 2.22.2
+ 3.0.0-M5
**/*Test.java
@@ -214,13 +248,14 @@
test
- org.junit.vintage
- junit-vintage-engine
+ org.junit.jupiter
+ junit-jupiter-params
test
- org.hamcrest
- hamcrest-all
+ org.assertj
+ assertj-core
+ 3.22.0
test
@@ -232,7 +267,7 @@
org.graalvm.sdk
graal-sdk
- 21.2.0
+ 22.0.0.2
test
@@ -286,11 +321,6 @@
pom
import
-
- org.hamcrest
- hamcrest-all
- 1.3
-
diff --git a/src/main/java/com/arangodb/entity/EdgeDefinition.java b/src/main/java/com/arangodb/entity/EdgeDefinition.java
index d48c78951..140e01567 100644
--- a/src/main/java/com/arangodb/entity/EdgeDefinition.java
+++ b/src/main/java/com/arangodb/entity/EdgeDefinition.java
@@ -78,7 +78,7 @@ public EdgeDefinition satellites(final String... satellites) {
return this;
}
- private static class Options {
+ public static class Options {
private Collection satellites;
}
}
diff --git a/src/main/java/com/arangodb/entity/arangosearch/AnalyzerEntity.java b/src/main/java/com/arangodb/entity/arangosearch/AnalyzerEntity.java
index 3d6a9a621..5b5e5c019 100644
--- a/src/main/java/com/arangodb/entity/arangosearch/AnalyzerEntity.java
+++ b/src/main/java/com/arangodb/entity/arangosearch/AnalyzerEntity.java
@@ -20,6 +20,8 @@
package com.arangodb.entity.arangosearch;
+import java.util.Collection;
+import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -30,7 +32,7 @@
@Deprecated
public class AnalyzerEntity {
- private Set features;
+ private Collection features;
private AnalyzerType type;
private String name;
private Map properties;
@@ -39,7 +41,7 @@ public AnalyzerEntity() {
}
public Set getFeatures() {
- return features;
+ return features != null ? new HashSet<>(features) : null;
}
public void setFeatures(Set features) {
diff --git a/src/main/java/com/arangodb/entity/arangosearch/ConsolidationPolicy.java b/src/main/java/com/arangodb/entity/arangosearch/ConsolidationPolicy.java
index ddb21911c..b0cb50a0a 100644
--- a/src/main/java/com/arangodb/entity/arangosearch/ConsolidationPolicy.java
+++ b/src/main/java/com/arangodb/entity/arangosearch/ConsolidationPolicy.java
@@ -25,17 +25,20 @@
*/
public class ConsolidationPolicy {
- private final ConsolidationType type;
+ private ConsolidationType type;
private Double threshold;
private Long segmentThreshold;
- private ConsolidationPolicy(final ConsolidationType type) {
- super();
- this.type = type;
+ public ConsolidationPolicy() {
}
public static ConsolidationPolicy of(final ConsolidationType type) {
- return new ConsolidationPolicy(type);
+ return new ConsolidationPolicy().type(type);
+ }
+
+ public ConsolidationPolicy type(final ConsolidationType type) {
+ this.type = type;
+ return this;
}
/**
diff --git a/src/main/java/com/arangodb/entity/arangosearch/analyzer/SearchAnalyzer.java b/src/main/java/com/arangodb/entity/arangosearch/analyzer/SearchAnalyzer.java
index 3286acf4d..2155a39a8 100644
--- a/src/main/java/com/arangodb/entity/arangosearch/analyzer/SearchAnalyzer.java
+++ b/src/main/java/com/arangodb/entity/arangosearch/analyzer/SearchAnalyzer.java
@@ -25,6 +25,8 @@
import com.arangodb.entity.arangosearch.AnalyzerFeature;
import com.arangodb.entity.arangosearch.AnalyzerType;
+import java.util.Collection;
+import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
@@ -34,7 +36,7 @@
public abstract class SearchAnalyzer implements Entity {
private String name;
private AnalyzerType type;
- private Set features;
+ private Collection features;
/**
* @return The Analyzer name.
@@ -62,7 +64,7 @@ public void setType(AnalyzerType type) {
* @return The set of features to set on the Analyzer generated fields.
*/
public Set getFeatures() {
- return features;
+ return features != null ? new HashSet<>(features) : null;
}
public void setFeatures(Set features) {
@@ -73,10 +75,10 @@ public void setFeatures(Set features) {
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
- SearchAnalyzer analyzer = (SearchAnalyzer) o;
- return Objects.equals(name, analyzer.name) &&
- type == analyzer.type &&
- Objects.equals(features, analyzer.features);
+ SearchAnalyzer that = (SearchAnalyzer) o;
+ return Objects.equals(getName(), that.getName())
+ && getType() == that.getType()
+ && Objects.equals(getFeatures(), that.getFeatures());
}
@Override
diff --git a/src/main/java/com/arangodb/model/AqlQueryExplainOptions.java b/src/main/java/com/arangodb/model/AqlQueryExplainOptions.java
index 29b8351c6..27b962465 100644
--- a/src/main/java/com/arangodb/model/AqlQueryExplainOptions.java
+++ b/src/main/java/com/arangodb/model/AqlQueryExplainOptions.java
@@ -114,7 +114,7 @@ private Options getOptions() {
return options;
}
- private static class Options {
+ public static class Options {
private Optimizer optimizer;
private Integer maxNumberOfPlans;
private Boolean allPlans;
@@ -127,7 +127,7 @@ protected Optimizer getOptimizer() {
}
}
- private static class Optimizer {
+ public static class Optimizer {
private Collection rules;
}
}
diff --git a/src/main/java/com/arangodb/model/AqlQueryOptions.java b/src/main/java/com/arangodb/model/AqlQueryOptions.java
index da9e1f1a3..52e344663 100644
--- a/src/main/java/com/arangodb/model/AqlQueryOptions.java
+++ b/src/main/java/com/arangodb/model/AqlQueryOptions.java
@@ -410,7 +410,7 @@ private Options getOptions() {
return options;
}
- private static class Options implements Serializable {
+ public static class Options implements Serializable {
private static final long serialVersionUID = 1L;
@@ -446,7 +446,7 @@ protected Collection getShardIds() {
}
- private static class Optimizer {
+ public static class Optimizer {
private Collection rules;
}
diff --git a/src/main/java/com/arangodb/model/VertexCollectionCreateOptions.java b/src/main/java/com/arangodb/model/VertexCollectionCreateOptions.java
index 2806daf3a..b79b8ed41 100644
--- a/src/main/java/com/arangodb/model/VertexCollectionCreateOptions.java
+++ b/src/main/java/com/arangodb/model/VertexCollectionCreateOptions.java
@@ -65,7 +65,7 @@ public VertexCollectionCreateOptions satellites(final String... satellites) {
return this;
}
- private static class Options {
+ public static class Options {
private Collection satellites;
}
diff --git a/src/main/resources/META-INF/native-image/com.arangodb/arangodb-java-driver/reflect-config.json b/src/main/resources/META-INF/native-image/com.arangodb/arangodb-java-driver/reflect-config.json
index d49390dc2..eac1dd6cd 100644
--- a/src/main/resources/META-INF/native-image/com.arangodb/arangodb-java-driver/reflect-config.json
+++ b/src/main/resources/META-INF/native-image/com.arangodb/arangodb-java-driver/reflect-config.json
@@ -10,7 +10,7 @@
]
},
{
- "name": "com.arangodb.entity.CursorEntity",
+ "name": "com.arangodb.entity.arangosearch.analyzer.GeoPointAnalyzerProperties",
"allDeclaredFields": true,
"methods": [
{
@@ -30,7 +30,7 @@
]
},
{
- "name": "com.arangodb.entity.arangosearch.analyzer.GeoPointAnalyzerProperties",
+ "name": "com.arangodb.entity.CursorEntity",
"allDeclaredFields": true,
"methods": [
{
@@ -100,7 +100,7 @@
]
},
{
- "name": "com.arangodb.entity.MultiDocumentEntity",
+ "name": "com.arangodb.entity.CollectionEntity",
"allDeclaredFields": true,
"methods": [
{
@@ -120,7 +120,7 @@
]
},
{
- "name": "com.arangodb.entity.CollectionEntity",
+ "name": "com.arangodb.entity.MultiDocumentEntity",
"allDeclaredFields": true,
"methods": [
{
@@ -150,7 +150,7 @@
]
},
{
- "name": "com.arangodb.entity.CollectionPropertiesEntity",
+ "name": "com.arangodb.entity.arangosearch.analyzer.StopwordsAnalyzer",
"allDeclaredFields": true,
"methods": [
{
@@ -160,7 +160,7 @@
]
},
{
- "name": "com.arangodb.entity.arangosearch.analyzer.StopwordsAnalyzer",
+ "name": "com.arangodb.entity.CollectionPropertiesEntity",
"allDeclaredFields": true,
"methods": [
{
@@ -240,7 +240,7 @@
]
},
{
- "name": "com.arangodb.entity.EdgeEntity",
+ "name": "com.arangodb.entity.DatabaseEntity",
"allDeclaredFields": true,
"methods": [
{
@@ -250,7 +250,7 @@
]
},
{
- "name": "com.arangodb.entity.DatabaseEntity",
+ "name": "com.arangodb.entity.EdgeEntity",
"allDeclaredFields": true,
"methods": [
{
@@ -280,7 +280,7 @@
]
},
{
- "name": "com.arangodb.entity.BaseDocument",
+ "name": "com.arangodb.entity.AqlExecutionExplainEntity$ExecutionNode",
"allDeclaredFields": true,
"methods": [
{
@@ -290,7 +290,7 @@
]
},
{
- "name": "com.arangodb.entity.AqlExecutionExplainEntity$ExecutionNode",
+ "name": "com.arangodb.entity.BaseDocument",
"allDeclaredFields": true,
"methods": [
{
@@ -350,7 +350,7 @@
]
},
{
- "name": "com.arangodb.entity.CursorEntity$Warning",
+ "name": "com.arangodb.entity.arangosearch.analyzer.NormAnalyzer",
"allDeclaredFields": true,
"methods": [
{
@@ -360,7 +360,7 @@
]
},
{
- "name": "com.arangodb.entity.AqlExecutionExplainEntity$ExecutionStats",
+ "name": "com.arangodb.entity.arangosearch.analyzer.DelimiterAnalyzerProperties",
"allDeclaredFields": true,
"methods": [
{
@@ -370,7 +370,7 @@
]
},
{
- "name": "com.arangodb.entity.arangosearch.analyzer.DelimiterAnalyzerProperties",
+ "name": "com.arangodb.entity.CursorEntity$Warning",
"allDeclaredFields": true,
"methods": [
{
@@ -380,7 +380,7 @@
]
},
{
- "name": "com.arangodb.entity.arangosearch.analyzer.NormAnalyzer",
+ "name": "com.arangodb.entity.AqlExecutionExplainEntity$ExecutionStats",
"allDeclaredFields": true,
"methods": [
{
@@ -390,7 +390,7 @@
]
},
{
- "name": "com.arangodb.entity.AqlParseEntity$AstNode",
+ "name": "com.arangodb.entity.arangosearch.analyzer.GeoAnalyzerOptions",
"allDeclaredFields": true,
"methods": [
{
@@ -410,7 +410,7 @@
]
},
{
- "name": "com.arangodb.entity.arangosearch.analyzer.GeoAnalyzerOptions",
+ "name": "com.arangodb.entity.AqlParseEntity$AstNode",
"allDeclaredFields": true,
"methods": [
{
@@ -489,6 +489,16 @@
}
]
},
+ {
+ "name": "com.arangodb.entity.EdgeDefinition$Options",
+ "allDeclaredFields": true,
+ "methods": [
+ {
+ "name": "",
+ "parameterTypes": []
+ }
+ ]
+ },
{
"name": "com.arangodb.entity.arangosearch.AnalyzerEntity",
"allDeclaredFields": true,
@@ -540,7 +550,7 @@
]
},
{
- "name": "com.arangodb.entity.VertexUpdateEntity",
+ "name": "com.arangodb.entity.arangosearch.ConsolidationPolicy",
"allDeclaredFields": true,
"methods": [
{
@@ -550,7 +560,7 @@
]
},
{
- "name": "com.arangodb.entity.KeyOptions",
+ "name": "com.arangodb.entity.VertexUpdateEntity",
"allDeclaredFields": true,
"methods": [
{
@@ -569,6 +579,16 @@
}
]
},
+ {
+ "name": "com.arangodb.entity.KeyOptions",
+ "allDeclaredFields": true,
+ "methods": [
+ {
+ "name": "",
+ "parameterTypes": []
+ }
+ ]
+ },
{
"name": "com.arangodb.entity.AqlExecutionExplainEntity$ExecutionPlan",
"allDeclaredFields": true,
@@ -590,7 +610,7 @@
]
},
{
- "name": "com.arangodb.entity.arangosearch.analyzer.DelimiterAnalyzer",
+ "name": "com.arangodb.entity.ReplicationFactor",
"allDeclaredFields": true,
"methods": [
{
@@ -600,7 +620,7 @@
]
},
{
- "name": "com.arangodb.entity.ReplicationFactor",
+ "name": "com.arangodb.entity.arangosearch.analyzer.DelimiterAnalyzer",
"allDeclaredFields": true,
"methods": [
{
@@ -650,7 +670,7 @@
]
},
{
- "name": "com.arangodb.entity.LogEntriesEntity",
+ "name": "com.arangodb.entity.StreamTransactionEntity",
"allDeclaredFields": true,
"methods": [
{
@@ -660,7 +680,7 @@
]
},
{
- "name": "com.arangodb.entity.StreamTransactionEntity",
+ "name": "com.arangodb.entity.arangosearch.analyzer.GeoPointAnalyzer",
"allDeclaredFields": true,
"methods": [
{
@@ -670,7 +690,7 @@
]
},
{
- "name": "com.arangodb.entity.arangosearch.analyzer.GeoPointAnalyzer",
+ "name": "com.arangodb.entity.LogEntriesEntity",
"allDeclaredFields": true,
"methods": [
{
@@ -750,7 +770,7 @@
]
},
{
- "name": "com.arangodb.entity.CollectionRevisionEntity",
+ "name": "com.arangodb.entity.QueryTrackingPropertiesEntity",
"allDeclaredFields": true,
"methods": [
{
@@ -760,7 +780,7 @@
]
},
{
- "name": "com.arangodb.entity.QueryTrackingPropertiesEntity",
+ "name": "com.arangodb.entity.CollectionRevisionEntity",
"allDeclaredFields": true,
"methods": [
{
@@ -800,7 +820,7 @@
]
},
{
- "name": "com.arangodb.entity.arangosearch.analyzer.TextAnalyzer",
+ "name": "com.arangodb.entity.arangosearch.analyzer.CollationAnalyzer",
"allDeclaredFields": true,
"methods": [
{
@@ -810,7 +830,7 @@
]
},
{
- "name": "com.arangodb.entity.arangosearch.analyzer.CollationAnalyzer",
+ "name": "com.arangodb.entity.arangosearch.analyzer.TextAnalyzer",
"allDeclaredFields": true,
"methods": [
{
@@ -869,6 +889,16 @@
}
]
},
+ {
+ "name": "com.arangodb.model.AqlQueryOptions$Optimizer",
+ "allDeclaredFields": true,
+ "methods": [
+ {
+ "name": "",
+ "parameterTypes": []
+ }
+ ]
+ },
{
"name": "com.arangodb.model.DBCreateOptions",
"allDeclaredFields": true,
@@ -930,7 +960,7 @@
]
},
{
- "name": "com.arangodb.model.StreamTransactionOptions",
+ "name": "com.arangodb.model.UserUpdateOptions",
"allDeclaredFields": true,
"methods": [
{
@@ -940,7 +970,7 @@
]
},
{
- "name": "com.arangodb.model.UserUpdateOptions",
+ "name": "com.arangodb.model.StreamTransactionOptions",
"allDeclaredFields": true,
"methods": [
{
@@ -999,6 +1029,16 @@
}
]
},
+ {
+ "name": "com.arangodb.model.AqlQueryExplainOptions$Options",
+ "allDeclaredFields": true,
+ "methods": [
+ {
+ "name": "",
+ "parameterTypes": []
+ }
+ ]
+ },
{
"name": "com.arangodb.model.ViewCreateOptions",
"allDeclaredFields": true,
@@ -1009,6 +1049,16 @@
}
]
},
+ {
+ "name": "com.arangodb.model.VertexCollectionCreateOptions$Options",
+ "allDeclaredFields": true,
+ "methods": [
+ {
+ "name": "",
+ "parameterTypes": []
+ }
+ ]
+ },
{
"name": "com.arangodb.model.AqlQueryParseOptions",
"allDeclaredFields": true,
@@ -1120,7 +1170,7 @@
]
},
{
- "name": "com.arangodb.model.CollectionTruncateOptions",
+ "name": "com.arangodb.model.TransactionOptions",
"allDeclaredFields": true,
"methods": [
{
@@ -1130,7 +1180,7 @@
]
},
{
- "name": "com.arangodb.model.TransactionOptions",
+ "name": "com.arangodb.model.CollectionTruncateOptions",
"allDeclaredFields": true,
"methods": [
{
@@ -1170,7 +1220,7 @@
]
},
{
- "name": "com.arangodb.model.DocumentDeleteOptions",
+ "name": "com.arangodb.model.CollectionSchema",
"allDeclaredFields": true,
"methods": [
{
@@ -1190,7 +1240,17 @@
]
},
{
- "name": "com.arangodb.model.CollectionSchema",
+ "name": "com.arangodb.model.DocumentDeleteOptions",
+ "allDeclaredFields": true,
+ "methods": [
+ {
+ "name": "",
+ "parameterTypes": []
+ }
+ ]
+ },
+ {
+ "name": "com.arangodb.model.AqlQueryOptions$Options",
"allDeclaredFields": true,
"methods": [
{
@@ -1270,7 +1330,7 @@
]
},
{
- "name": "com.arangodb.model.CollectionPropertiesOptions",
+ "name": "com.arangodb.model.UserCreateOptions",
"allDeclaredFields": true,
"methods": [
{
@@ -1280,7 +1340,7 @@
]
},
{
- "name": "com.arangodb.model.UserCreateOptions",
+ "name": "com.arangodb.model.CollectionPropertiesOptions",
"allDeclaredFields": true,
"methods": [
{
@@ -1409,6 +1469,16 @@
}
]
},
+ {
+ "name": "com.arangodb.model.AqlQueryExplainOptions$Optimizer",
+ "allDeclaredFields": true,
+ "methods": [
+ {
+ "name": "",
+ "parameterTypes": []
+ }
+ ]
+ },
{
"name": "com.arangodb.model.AqlQueryExplainOptions",
"allDeclaredFields": true,
diff --git a/src/test/java/com/arangodb/ArangoCollectionTest.java b/src/test/java/com/arangodb/ArangoCollectionTest.java
index e704109a0..9c4ceda2d 100644
--- a/src/test/java/com/arangodb/ArangoCollectionTest.java
+++ b/src/test/java/com/arangodb/ArangoCollectionTest.java
@@ -41,11 +41,11 @@
import com.arangodb.velocypack.VPackSlice;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
import java.util.ArrayList;
import java.util.Arrays;
@@ -57,110 +57,114 @@
import java.util.UUID;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
+import java.util.stream.Stream;
-import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.*;
-import static org.junit.Assert.fail;
-import static org.junit.Assume.assumeTrue;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.catchThrowable;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
/**
* @author Mark Vollmary
+ * @author Michele Rastelli
*/
-@RunWith(Parameterized.class)
-public class ArangoCollectionTest extends BaseTest {
+class ArangoCollectionTest extends BaseJunit5 {
private static final String COLLECTION_NAME = "ArangoCollectionTest_collection";
private static final String EDGE_COLLECTION_NAME = "ArangoCollectionTest_edge_collection";
- private final ArangoCollection collection;
- private final ArangoCollection edgeCollection;
-
private final ObjectMapper mapper = new ObjectMapper();
- @BeforeClass
- public static void init() {
- BaseTest.initCollections(COLLECTION_NAME);
- BaseTest.initEdgeCollections(EDGE_COLLECTION_NAME);
+ private static Stream cols() {
+ return dbsStream().map(db -> db.collection(COLLECTION_NAME)).map(Arguments::of);
+ }
+
+ private static Stream edges() {
+ return dbsStream().map(db -> db.collection(EDGE_COLLECTION_NAME)).map(Arguments::of);
}
- public ArangoCollectionTest(final ArangoDB arangoDB) {
- super(arangoDB);
- collection = db.collection(COLLECTION_NAME);
- edgeCollection = db.collection(EDGE_COLLECTION_NAME);
+ @BeforeAll
+ static void init() {
+ initCollections(COLLECTION_NAME);
+ initEdgeCollections(EDGE_COLLECTION_NAME);
}
- @Test
- public void insertDocument() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocument(ArangoCollection collection) {
final DocumentCreateEntity doc = collection
.insertDocument(new BaseDocument(), null);
- assertThat(doc, is(notNullValue()));
- assertThat(doc.getId(), is(notNullValue()));
- assertThat(doc.getKey(), is(notNullValue()));
- assertThat(doc.getRev(), is(notNullValue()));
- assertThat(doc.getNew(), is(nullValue()));
- assertThat(doc.getId(), is(COLLECTION_NAME + "/" + doc.getKey()));
+ assertThat(doc).isNotNull();
+ assertThat(doc.getId()).isNotNull();
+ assertThat(doc.getKey()).isNotNull();
+ assertThat(doc.getRev()).isNotNull();
+ assertThat(doc.getNew()).isNull();
+ assertThat(doc.getId()).isEqualTo(COLLECTION_NAME + "/" + doc.getKey());
}
// FIXME: v7
- @Test
- @Ignore
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ @Disabled
@SuppressWarnings("unchecked")
- public void insertDocumentWithArrayWithNullValues() {
+ void insertDocumentWithArrayWithNullValues(ArangoCollection collection) {
List arr = Arrays.asList("a", null);
BaseDocument doc = new BaseDocument();
doc.addAttribute("arr", arr);
final DocumentCreateEntity insertedDoc = collection
.insertDocument(doc, new DocumentCreateOptions().returnNew(true));
- assertThat(insertedDoc, is(notNullValue()));
- assertThat(insertedDoc.getId(), is(notNullValue()));
- assertThat(insertedDoc.getKey(), is(notNullValue()));
- assertThat(insertedDoc.getRev(), is(notNullValue()));
- assertThat(insertedDoc.getId(), is(COLLECTION_NAME + "/" + insertedDoc.getKey()));
+ assertThat(insertedDoc).isNotNull();
+ assertThat(insertedDoc.getId()).isNotNull();
+ assertThat(insertedDoc.getKey()).isNotNull();
+ assertThat(insertedDoc.getRev()).isNotNull();
+ assertThat(insertedDoc.getId()).isEqualTo(COLLECTION_NAME + "/" + insertedDoc.getKey());
//noinspection unchecked
- assertThat(((List) insertedDoc.getNew().getAttribute("arr")), contains("a", null));
+ assertThat((List) insertedDoc.getNew().getAttribute("arr")).containsAll(Arrays.asList("a", null));
}
// FIXME: v7
- @Test
- @Ignore
- public void insertDocumentWithNullValues() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ @Disabled
+ void insertDocumentWithNullValues(ArangoCollection collection) {
BaseDocument doc = new BaseDocument();
doc.addAttribute("null", null);
final DocumentCreateEntity insertedDoc = collection
.insertDocument(doc, new DocumentCreateOptions().returnNew(true));
- assertThat(insertedDoc, is(notNullValue()));
- assertThat(insertedDoc.getId(), is(notNullValue()));
- assertThat(insertedDoc.getKey(), is(notNullValue()));
- assertThat(insertedDoc.getRev(), is(notNullValue()));
- assertThat(insertedDoc.getId(), is(COLLECTION_NAME + "/" + insertedDoc.getKey()));
- assertThat(insertedDoc.getNew().getProperties().containsKey("null"), is(true));
+ assertThat(insertedDoc).isNotNull();
+ assertThat(insertedDoc.getId()).isNotNull();
+ assertThat(insertedDoc.getKey()).isNotNull();
+ assertThat(insertedDoc.getRev()).isNotNull();
+ assertThat(insertedDoc.getId()).isEqualTo(COLLECTION_NAME + "/" + insertedDoc.getKey());
+ assertThat(insertedDoc.getNew().getProperties()).containsKey("null");
}
- @Test
- public void insertDocumentUpdateRev() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentUpdateRev(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
final DocumentCreateEntity createResult = collection
.insertDocument(doc, null);
- assertThat(doc.getRevision(), is(createResult.getRev()));
+ assertThat(doc.getRevision()).isEqualTo(createResult.getRev());
}
- @Test
- public void insertDocumentReturnNew() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentReturnNew(ArangoCollection collection) {
final DocumentCreateOptions options = new DocumentCreateOptions().returnNew(true);
final DocumentCreateEntity doc = collection
.insertDocument(new BaseDocument(), options);
- assertThat(doc, is(notNullValue()));
- assertThat(doc.getId(), is(notNullValue()));
- assertThat(doc.getKey(), is(notNullValue()));
- assertThat(doc.getRev(), is(notNullValue()));
- assertThat(doc.getNew(), is(notNullValue()));
+ assertThat(doc).isNotNull();
+ assertThat(doc.getId()).isNotNull();
+ assertThat(doc.getKey()).isNotNull();
+ assertThat(doc.getRev()).isNotNull();
+ assertThat(doc.getNew()).isNotNull();
}
- @Test
- public void insertDocumentOverwriteReturnOld() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentOverwriteReturnOld(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 4));
Long initialCount = collection.count().getCount();
@@ -172,18 +176,19 @@ public void insertDocumentOverwriteReturnOld() {
final DocumentCreateEntity repsert = collection
.insertDocument(doc, new DocumentCreateOptions().overwrite(true).returnOld(true).returnNew(true));
- assertThat(repsert, is(notNullValue()));
- assertThat(repsert.getRev(), is(not(meta.getRev())));
- assertThat(repsert.getOld().getAttribute("value").toString(), is("a"));
- assertThat(repsert.getNew().getAttribute("value").toString(), is("b"));
- assertThat(collection.count().getCount(), is(initialCount + 1L));
+ assertThat(repsert).isNotNull();
+ assertThat(repsert.getRev()).isNotEqualTo(meta.getRev());
+ assertThat(repsert.getOld().getAttribute("value")).isEqualTo("a");
+ assertThat(repsert.getNew().getAttribute("value")).isEqualTo("b");
+ assertThat(collection.count().getCount()).isEqualTo(initialCount + 1L);
}
- @Test
- public void insertDocumentOverwriteModeIgnore() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentOverwriteModeIgnore(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 7));
- String key = "key-" + UUID.randomUUID().toString();
+ String key = "key-" + UUID.randomUUID();
final BaseDocument doc = new BaseDocument(key);
doc.addAttribute("foo", "a");
final DocumentCreateEntity meta = collection.insertDocument(doc);
@@ -193,34 +198,35 @@ public void insertDocumentOverwriteModeIgnore() {
final DocumentCreateEntity insertIgnore = collection
.insertDocument(doc2, new DocumentCreateOptions().overwriteMode(OverwriteMode.ignore));
- assertThat(insertIgnore, is(notNullValue()));
- assertThat(insertIgnore.getRev(), is(meta.getRev()));
+ assertThat(insertIgnore).isNotNull();
+ assertThat(insertIgnore.getRev()).isEqualTo(meta.getRev());
}
- @Test
- public void insertDocumentOverwriteModeConflict() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentOverwriteModeConflict(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 7));
- String key = "key-" + UUID.randomUUID().toString();
+ String key = "key-" + UUID.randomUUID();
final BaseDocument doc = new BaseDocument(key);
doc.addAttribute("foo", "a");
- final DocumentCreateEntity meta = collection.insertDocument(doc);
+ collection.insertDocument(doc);
final BaseDocument doc2 = new BaseDocument(key);
- try {
- collection.insertDocument(doc2, new DocumentCreateOptions().overwriteMode(OverwriteMode.conflict));
- fail();
- } catch (ArangoDBException e) {
- assertThat(e.getResponseCode(), is(409));
- assertThat(e.getErrorNum(), is(1210));
- }
+ Throwable thrown = catchThrowable(() ->
+ collection.insertDocument(doc2, new DocumentCreateOptions().overwriteMode(OverwriteMode.conflict)));
+ assertThat(thrown).isInstanceOf(ArangoDBException.class);
+ ArangoDBException e = (ArangoDBException) thrown;
+ assertThat(e.getResponseCode()).isEqualTo(409);
+ assertThat(e.getErrorNum()).isEqualTo(1210);
}
- @Test
- public void insertDocumentOverwriteModeReplace() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentOverwriteModeReplace(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 7));
- String key = "key-" + UUID.randomUUID().toString();
+ String key = "key-" + UUID.randomUUID();
final BaseDocument doc = new BaseDocument(key);
doc.addAttribute("foo", "a");
final DocumentCreateEntity meta = collection.insertDocument(doc);
@@ -230,14 +236,15 @@ public void insertDocumentOverwriteModeReplace() {
final DocumentCreateEntity repsert = collection
.insertDocument(doc2, new DocumentCreateOptions().overwriteMode(OverwriteMode.replace).returnNew(true));
- assertThat(repsert, is(notNullValue()));
- assertThat(repsert.getRev(), is(not(meta.getRev())));
- assertThat(repsert.getNew().getProperties().containsKey("foo"), is(false));
- assertThat(repsert.getNew().getAttribute("bar").toString(), is("b"));
+ assertThat(repsert).isNotNull();
+ assertThat(repsert.getRev()).isNotEqualTo(meta.getRev());
+ assertThat(repsert.getNew().getProperties().containsKey("foo")).isFalse();
+ assertThat(repsert.getNew().getAttribute("bar")).isEqualTo("b");
}
- @Test
- public void insertDocumentOverwriteModeUpdate() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentOverwriteModeUpdate(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 7));
final BaseDocument doc = new BaseDocument();
@@ -248,14 +255,15 @@ public void insertDocumentOverwriteModeUpdate() {
final DocumentCreateEntity updated = collection
.insertDocument(doc, new DocumentCreateOptions().overwriteMode(OverwriteMode.update).returnNew(true));
- assertThat(updated, is(notNullValue()));
- assertThat(updated.getRev(), is(not(meta.getRev())));
- assertThat(updated.getNew().getAttribute("foo").toString(), is("a"));
- assertThat(updated.getNew().getAttribute("bar").toString(), is("b"));
+ assertThat(updated).isNotNull();
+ assertThat(updated.getRev()).isNotEqualTo(meta.getRev());
+ assertThat(updated.getNew().getAttribute("foo")).isEqualTo("a");
+ assertThat(updated.getNew().getAttribute("bar")).isEqualTo("b");
}
- @Test
- public void insertDocumentOverwriteModeUpdateMergeObjectsFalse() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentOverwriteModeUpdateMergeObjectsFalse(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 7));
final BaseDocument doc = new BaseDocument();
@@ -271,177 +279,199 @@ public void insertDocumentOverwriteModeUpdateMergeObjectsFalse() {
.mergeObjects(false)
.returnNew(true));
- assertThat(updated, is(notNullValue()));
- assertThat(updated.getRev(), is(not(meta.getRev())));
- assertThat(updated.getNew().getAttribute("foo"), is(fieldB));
+ assertThat(updated).isNotNull();
+ assertThat(updated.getRev()).isNotEqualTo(meta.getRev());
+ assertThat(updated.getNew().getAttribute("foo")).isEqualTo(fieldB);
}
- @Test
- public void insertDocumentWaitForSync() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentWaitForSync(ArangoCollection collection) {
final DocumentCreateOptions options = new DocumentCreateOptions().waitForSync(true);
final DocumentCreateEntity doc = collection
.insertDocument(new BaseDocument(), options);
- assertThat(doc, is(notNullValue()));
- assertThat(doc.getId(), is(notNullValue()));
- assertThat(doc.getKey(), is(notNullValue()));
- assertThat(doc.getRev(), is(notNullValue()));
- assertThat(doc.getNew(), is(nullValue()));
+ assertThat(doc).isNotNull();
+ assertThat(doc.getId()).isNotNull();
+ assertThat(doc.getKey()).isNotNull();
+ assertThat(doc.getRev()).isNotNull();
+ assertThat(doc.getNew()).isNull();
}
- @Test
- public void insertDocumentAsJson() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentAsJson(ArangoCollection collection) {
+ String key = "doc-" + UUID.randomUUID();
final DocumentCreateEntity doc = collection
- .insertDocument("{\"_key\":\"docRaw\",\"a\":\"test\"}", null);
- assertThat(doc, is(notNullValue()));
- assertThat(doc.getId(), is(notNullValue()));
- assertThat(doc.getKey(), is(notNullValue()));
- assertThat(doc.getRev(), is(notNullValue()));
+ .insertDocument("{\"_key\":\"" + key + "\",\"a\":\"test\"}", null);
+ assertThat(doc).isNotNull();
+ assertThat(doc.getId()).isEqualTo(collection.name() + "/" + key);
+ assertThat(doc.getKey()).isEqualTo(key);
+ assertThat(doc.getRev()).isNotNull();
}
- @Test
- public void insertDocumentSilent() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentSilent(ArangoCollection collection) {
assumeTrue(isSingleServer());
final DocumentCreateEntity meta = collection
.insertDocument(new BaseDocument(), new DocumentCreateOptions().silent(true));
- assertThat(meta, is(notNullValue()));
- assertThat(meta.getId(), is(nullValue()));
- assertThat(meta.getKey(), is(nullValue()));
- assertThat(meta.getRev(), is(nullValue()));
+ assertThat(meta).isNotNull();
+ assertThat(meta.getId()).isNull();
+ assertThat(meta.getKey()).isNull();
+ assertThat(meta.getRev()).isNull();
}
- @Test
- public void insertDocumentSilentDontTouchInstance() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentSilentDontTouchInstance(ArangoCollection collection) {
assumeTrue(isSingleServer());
final BaseDocument doc = new BaseDocument();
- final String key = "testkey";
+ final String key = "testkey-" + UUID.randomUUID();
doc.setKey(key);
final DocumentCreateEntity meta = collection
.insertDocument(doc, new DocumentCreateOptions().silent(true));
- assertThat(meta, is(notNullValue()));
- assertThat(meta.getKey(), is(nullValue()));
- assertThat(doc.getKey(), is(key));
+ assertThat(meta).isNotNull();
+ assertThat(meta.getKey()).isNull();
+ assertThat(doc.getKey()).isEqualTo(key);
}
- @Test
- public void insertDocumentsSilent() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentsSilent(ArangoCollection collection) {
assumeTrue(isSingleServer());
final MultiDocumentEntity> info = collection
.insertDocuments(Arrays.asList(new BaseDocument(), new BaseDocument()),
new DocumentCreateOptions().silent(true));
- assertThat(info, is(notNullValue()));
- assertThat(info.getDocuments().isEmpty(), is(true));
- assertThat(info.getDocumentsAndErrors().isEmpty(), is(true));
- assertThat(info.getErrors().isEmpty(), is(true));
+ assertThat(info).isNotNull();
+ assertThat(info.getDocuments()).isEmpty();
+ assertThat(info.getDocumentsAndErrors()).isEmpty();
+ assertThat(info.getErrors()).isEmpty();
}
- @Test
- public void getDocument() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocument(ArangoCollection collection) {
final DocumentCreateEntity createResult = collection
.insertDocument(new BaseDocument(), null);
- assertThat(createResult.getKey(), is(notNullValue()));
+ assertThat(createResult.getKey()).isNotNull();
final BaseDocument readResult = collection
.getDocument(createResult.getKey(), BaseDocument.class, null);
- assertThat(readResult.getKey(), is(createResult.getKey()));
- assertThat(readResult.getId(), is(COLLECTION_NAME + "/" + createResult.getKey()));
+ assertThat(readResult.getKey()).isEqualTo(createResult.getKey());
+ assertThat(readResult.getId()).isEqualTo(COLLECTION_NAME + "/" + createResult.getKey());
}
- @Test
- public void getDocumentIfMatch() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocumentIfMatch(ArangoCollection collection) {
final DocumentCreateEntity createResult = collection
.insertDocument(new BaseDocument(), null);
- assertThat(createResult.getKey(), is(notNullValue()));
+ assertThat(createResult.getKey()).isNotNull();
final DocumentReadOptions options = new DocumentReadOptions().ifMatch(createResult.getRev());
final BaseDocument readResult = collection
.getDocument(createResult.getKey(), BaseDocument.class, options);
- assertThat(readResult.getKey(), is(createResult.getKey()));
- assertThat(readResult.getId(), is(COLLECTION_NAME + "/" + createResult.getKey()));
+ assertThat(readResult.getKey()).isEqualTo(createResult.getKey());
+ assertThat(readResult.getId()).isEqualTo(COLLECTION_NAME + "/" + createResult.getKey());
}
- @Test
- public void getDocumentIfMatchFail() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocumentIfMatchFail(ArangoCollection collection) {
final DocumentCreateEntity createResult = collection
.insertDocument(new BaseDocument(), null);
- assertThat(createResult.getKey(), is(notNullValue()));
+ assertThat(createResult.getKey()).isNotNull();
final DocumentReadOptions options = new DocumentReadOptions().ifMatch("no");
final BaseDocument document = collection
.getDocument(createResult.getKey(), BaseDocument.class, options);
- assertThat(document, is(nullValue()));
+ assertThat(document).isNull();
}
- @Test
- public void getDocumentIfNoneMatch() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocumentIfNoneMatch(ArangoCollection collection) {
final DocumentCreateEntity createResult = collection
.insertDocument(new BaseDocument(), null);
- assertThat(createResult.getKey(), is(notNullValue()));
+ assertThat(createResult.getKey()).isNotNull();
final DocumentReadOptions options = new DocumentReadOptions().ifNoneMatch("no");
final BaseDocument readResult = collection
.getDocument(createResult.getKey(), BaseDocument.class, options);
- assertThat(readResult.getKey(), is(createResult.getKey()));
- assertThat(readResult.getId(), is(COLLECTION_NAME + "/" + createResult.getKey()));
+ assertThat(readResult.getKey()).isEqualTo(createResult.getKey());
+ assertThat(readResult.getId()).isEqualTo(COLLECTION_NAME + "/" + createResult.getKey());
}
- @Test
- public void getDocumentIfNoneMatchFail() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocumentIfNoneMatchFail(ArangoCollection collection) {
final DocumentCreateEntity createResult = collection
.insertDocument(new BaseDocument(), null);
- assertThat(createResult.getKey(), is(notNullValue()));
+ assertThat(createResult.getKey()).isNotNull();
final DocumentReadOptions options = new DocumentReadOptions().ifNoneMatch(createResult.getRev());
final BaseDocument document = collection
.getDocument(createResult.getKey(), BaseDocument.class, options);
- assertThat(document, is(nullValue()));
+ assertThat(document).isNull();
}
- @Test
- public void getDocumentAsJson() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocumentAsJson(ArangoCollection collection) {
String key = rnd();
collection.insertDocument("{\"_key\":\"" + key + "\",\"a\":\"test\"}", null);
final String readResult = collection.getDocument(key, String.class, null);
- assertThat(readResult, containsString("\"_key\":\"" + key + "\""));
- assertThat(readResult, containsString("\"_id\":\"" + COLLECTION_NAME + "/" + key + "\""));
+ assertThat(readResult)
+ .contains("\"_key\":\"" + key + "\"")
+ .contains("\"_id\":\"" + COLLECTION_NAME + "/" + key + "\"");
}
- @Test
- public void getDocumentNotFound() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocumentNotFound(ArangoCollection collection) {
final BaseDocument document = collection.getDocument("no", BaseDocument.class);
- assertThat(document, is(nullValue()));
+ assertThat(document).isNull();
}
- @Test
- public void getDocumentNotFoundOptionsDefault() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocumentNotFoundOptionsDefault(ArangoCollection collection) {
final BaseDocument document = collection
.getDocument("no", BaseDocument.class, new DocumentReadOptions());
- assertThat(document, is(nullValue()));
+ assertThat(document).isNull();
}
- @Test
- public void getDocumentNotFoundOptionsNull() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocumentNotFoundOptionsNull(ArangoCollection collection) {
final BaseDocument document = collection.getDocument("no", BaseDocument.class, null);
- assertThat(document, is(nullValue()));
+ assertThat(document).isNull();
}
- @Test(expected = ArangoDBException.class)
- public void getDocumentNotFoundThrowException() {
- collection
- .getDocument("no", BaseDocument.class, new DocumentReadOptions().catchException(false));
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocumentNotFoundThrowException(ArangoCollection collection) {
+ Throwable thrown = catchThrowable(() ->
+ collection.getDocument("no", BaseDocument.class, new DocumentReadOptions().catchException(false)));
+ assertThat(thrown).isInstanceOf(ArangoDBException.class);
}
- @Test(expected = ArangoDBException.class)
- public void getDocumentWrongKey() {
- collection.getDocument("no/no", BaseDocument.class);
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocumentWrongKey(ArangoCollection collection) {
+ Throwable thrown = catchThrowable(() -> collection.getDocument("no/no", BaseDocument.class));
+ assertThat(thrown).isInstanceOf(ArangoDBException.class);
}
- @Test
- public void getDocumentDirtyRead() throws InterruptedException {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocumentDirtyRead(ArangoCollection collection) throws InterruptedException {
final BaseDocument doc = new BaseDocument();
collection.insertDocument(doc, new DocumentCreateOptions());
Thread.sleep(2000);
final VPackSlice document = collection
.getDocument(doc.getKey(), VPackSlice.class, new DocumentReadOptions().allowDirtyRead(true));
- assertThat(document, is(notNullValue()));
+ assertThat(document).isNotNull();
}
- @Test
- public void getDocuments() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocuments(ArangoCollection collection) {
final Collection values = new ArrayList<>();
values.add(new BaseDocument("1"));
values.add(new BaseDocument("2"));
@@ -449,17 +479,17 @@ public void getDocuments() {
collection.insertDocuments(values);
final MultiDocumentEntity documents = collection
.getDocuments(Arrays.asList("1", "2", "3"), BaseDocument.class);
- assertThat(documents, is(notNullValue()));
- assertThat(documents.getDocuments().size(), is(3));
+ assertThat(documents).isNotNull();
+ assertThat(documents.getDocuments()).hasSize(3);
for (final BaseDocument document : documents.getDocuments()) {
- assertThat(document.getId(),
- isOneOf(COLLECTION_NAME + "/" + "1", COLLECTION_NAME + "/" + "2", COLLECTION_NAME + "/" + "3"));
+ assertThat(document.getId()).isIn(COLLECTION_NAME + "/" + "1", COLLECTION_NAME + "/" + "2", COLLECTION_NAME + "/" + "3");
}
}
- @Test
- public void getDocumentsWithCustomShardingKey() {
- ArangoCollection collection = db.collection("customShardingKeyCollection");
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocumentsWithCustomShardingKey(ArangoCollection c) {
+ ArangoCollection collection = c.db().collection("customShardingKeyCollection");
if (collection.exists())
collection.drop();
@@ -479,11 +509,12 @@ public void getDocumentsWithCustomShardingKey() {
final Collection documents = collection
.getDocuments(insertedKeys, BaseDocument.class).getDocuments();
- assertThat(documents.size(), is(10));
+ assertThat(documents).hasSize(10);
}
- @Test
- public void getDocumentsDirtyRead() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocumentsDirtyRead(ArangoCollection collection) {
final Collection values = new ArrayList<>();
values.add(new BaseDocument("1"));
values.add(new BaseDocument("2"));
@@ -492,34 +523,36 @@ public void getDocumentsDirtyRead() {
final MultiDocumentEntity documents = collection
.getDocuments(Arrays.asList("1", "2", "3"), BaseDocument.class,
new DocumentReadOptions().allowDirtyRead(true));
- assertThat(documents, is(notNullValue()));
- assertThat(documents.getDocuments().size(), is(3));
+ assertThat(documents).isNotNull();
+ assertThat(documents.getDocuments()).hasSize(3);
for (final BaseDocument document : documents.getDocuments()) {
- assertThat(document.getId(),
- isOneOf(COLLECTION_NAME + "/" + "1", COLLECTION_NAME + "/" + "2", COLLECTION_NAME + "/" + "3"));
+ assertThat(document.getId()).isIn(COLLECTION_NAME + "/" + "1", COLLECTION_NAME + "/" + "2", COLLECTION_NAME + "/" + "3");
}
}
- @Test
- public void getDocumentsNotFound() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocumentsNotFound(ArangoCollection collection) {
final MultiDocumentEntity readResult = collection
.getDocuments(Collections.singleton("no"), BaseDocument.class);
- assertThat(readResult, is(notNullValue()));
- assertThat(readResult.getDocuments().size(), is(0));
- assertThat(readResult.getErrors().size(), is(1));
+ assertThat(readResult).isNotNull();
+ assertThat(readResult.getDocuments()).isEmpty();
+ assertThat(readResult.getErrors()).hasSize(1);
}
- @Test
- public void getDocumentsWrongKey() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getDocumentsWrongKey(ArangoCollection collection) {
final MultiDocumentEntity readResult = collection
.getDocuments(Collections.singleton("no/no"), BaseDocument.class);
- assertThat(readResult, is(notNullValue()));
- assertThat(readResult.getDocuments().size(), is(0));
- assertThat(readResult.getErrors().size(), is(1));
+ assertThat(readResult).isNotNull();
+ assertThat(readResult.getDocuments()).isEmpty();
+ assertThat(readResult.getErrors()).hasSize(1);
}
- @Test
- public void updateDocument() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocument(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
doc.addAttribute("a", "test");
doc.addAttribute("c", "test");
@@ -530,54 +563,57 @@ public void updateDocument() {
doc.updateAttribute("c", null);
final DocumentUpdateEntity updateResult = collection
.updateDocument(createResult.getKey(), doc, null);
- assertThat(updateResult, is(notNullValue()));
- assertThat(updateResult.getId(), is(createResult.getId()));
- assertThat(updateResult.getNew(), is(nullValue()));
- assertThat(updateResult.getOld(), is(nullValue()));
- assertThat(updateResult.getRev(), is(not(updateResult.getOldRev())));
- assertThat(updateResult.getOldRev(), is(createResult.getRev()));
+ assertThat(updateResult).isNotNull();
+ assertThat(updateResult.getId()).isEqualTo(createResult.getId());
+ assertThat(updateResult.getNew()).isNull();
+ assertThat(updateResult.getOld()).isNull();
+ assertThat(updateResult.getRev()).isNotEqualTo(updateResult.getOldRev());
+ assertThat(updateResult.getOldRev()).isEqualTo(createResult.getRev());
final BaseDocument readResult = collection
.getDocument(createResult.getKey(), BaseDocument.class, null);
- assertThat(readResult.getKey(), is(createResult.getKey()));
- assertThat(readResult.getAttribute("a"), is(notNullValue()));
- assertThat(String.valueOf(readResult.getAttribute("a")), is("test1"));
- assertThat(readResult.getAttribute("b"), is(notNullValue()));
- assertThat(String.valueOf(readResult.getAttribute("b")), is("test"));
- assertThat(readResult.getRevision(), is(updateResult.getRev()));
- assertThat(readResult.getProperties().keySet(), hasItem("c"));
- }
-
- @Test
- public void updateDocumentWithDifferentReturnType() {
- final String key = "key-" + UUID.randomUUID().toString();
+ assertThat(readResult.getKey()).isEqualTo(createResult.getKey());
+ assertThat(readResult.getAttribute("a")).isNotNull();
+ assertThat(String.valueOf(readResult.getAttribute("a"))).isEqualTo("test1");
+ assertThat(readResult.getAttribute("b")).isNotNull();
+ assertThat(String.valueOf(readResult.getAttribute("b"))).isEqualTo("test");
+ assertThat(readResult.getRevision()).isEqualTo(updateResult.getRev());
+ assertThat(readResult.getProperties()).containsKey("c");
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocumentWithDifferentReturnType(ArangoCollection collection) {
+ final String key = "key-" + UUID.randomUUID();
final BaseDocument doc = new BaseDocument(key);
doc.addAttribute("a", "test");
collection.insertDocument(doc);
final DocumentUpdateEntity updateResult = collection
.updateDocument(key, Collections.singletonMap("b", "test"), new DocumentUpdateOptions().returnNew(true), BaseDocument.class);
- assertThat(updateResult, is(notNullValue()));
- assertThat(updateResult.getKey(), is(key));
+ assertThat(updateResult).isNotNull();
+ assertThat(updateResult.getKey()).isEqualTo(key);
BaseDocument updated = updateResult.getNew();
- assertThat(updated, is(notNullValue()));
- assertThat(updated.getAttribute("a"), is("test"));
- assertThat(updated.getAttribute("b"), is("test"));
+ assertThat(updated).isNotNull();
+ assertThat(updated.getAttribute("a")).isEqualTo("test");
+ assertThat(updated.getAttribute("b")).isEqualTo("test");
}
- @Test
- public void updateDocumentUpdateRev() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocumentUpdateRev(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
final DocumentCreateEntity createResult = collection
.insertDocument(doc, null);
- assertThat(doc.getRevision(), is(createResult.getRev()));
+ assertThat(doc.getRevision()).isEqualTo(createResult.getRev());
final DocumentUpdateEntity updateResult = collection
.updateDocument(createResult.getKey(), doc, null);
- assertThat(doc.getRevision(), is(updateResult.getRev()));
+ assertThat(doc.getRevision()).isEqualTo(updateResult.getRev());
}
- @Test
- public void updateDocumentIfMatch() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocumentIfMatch(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
doc.addAttribute("a", "test");
doc.addAttribute("c", "test");
@@ -589,24 +625,25 @@ public void updateDocumentIfMatch() {
final DocumentUpdateOptions options = new DocumentUpdateOptions().ifMatch(createResult.getRev());
final DocumentUpdateEntity updateResult = collection
.updateDocument(createResult.getKey(), doc, options);
- assertThat(updateResult, is(notNullValue()));
- assertThat(updateResult.getId(), is(createResult.getId()));
- assertThat(updateResult.getRev(), is(not(updateResult.getOldRev())));
- assertThat(updateResult.getOldRev(), is(createResult.getRev()));
+ assertThat(updateResult).isNotNull();
+ assertThat(updateResult.getId()).isEqualTo(createResult.getId());
+ assertThat(updateResult.getRev()).isNotEqualTo(updateResult.getOldRev());
+ assertThat(updateResult.getOldRev()).isEqualTo(createResult.getRev());
final BaseDocument readResult = collection
.getDocument(createResult.getKey(), BaseDocument.class, null);
- assertThat(readResult.getKey(), is(createResult.getKey()));
- assertThat(readResult.getAttribute("a"), is(notNullValue()));
- assertThat(String.valueOf(readResult.getAttribute("a")), is("test1"));
- assertThat(readResult.getAttribute("b"), is(notNullValue()));
- assertThat(String.valueOf(readResult.getAttribute("b")), is("test"));
- assertThat(readResult.getRevision(), is(updateResult.getRev()));
- assertThat(readResult.getProperties().keySet(), hasItem("c"));
- }
-
- @Test(expected = ArangoDBException.class)
- public void updateDocumentIfMatchFail() {
+ assertThat(readResult.getKey()).isEqualTo(createResult.getKey());
+ assertThat(readResult.getAttribute("a")).isNotNull();
+ assertThat(String.valueOf(readResult.getAttribute("a"))).isEqualTo("test1");
+ assertThat(readResult.getAttribute("b")).isNotNull();
+ assertThat(String.valueOf(readResult.getAttribute("b"))).isEqualTo("test");
+ assertThat(readResult.getRevision()).isEqualTo(updateResult.getRev());
+ assertThat(readResult.getProperties()).containsKey("c");
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocumentIfMatchFail(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
doc.addAttribute("a", "test");
doc.addAttribute("c", "test");
@@ -617,11 +654,13 @@ public void updateDocumentIfMatchFail() {
doc.updateAttribute("c", null);
final DocumentUpdateOptions options = new DocumentUpdateOptions().ifMatch("no");
- collection.updateDocument(createResult.getKey(), doc, options);
+ Throwable thrown = catchThrowable(() -> collection.updateDocument(createResult.getKey(), doc, options));
+ assertThat(thrown).isInstanceOf(ArangoDBException.class);
}
- @Test
- public void updateDocumentReturnNew() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocumentReturnNew(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
doc.addAttribute("a", "test");
final DocumentCreateEntity createResult = collection
@@ -631,20 +670,21 @@ public void updateDocumentReturnNew() {
final DocumentUpdateOptions options = new DocumentUpdateOptions().returnNew(true);
final DocumentUpdateEntity updateResult = collection
.updateDocument(createResult.getKey(), doc, options);
- assertThat(updateResult, is(notNullValue()));
- assertThat(updateResult.getId(), is(createResult.getId()));
- assertThat(updateResult.getOldRev(), is(createResult.getRev()));
- assertThat(updateResult.getNew(), is(notNullValue()));
- assertThat(updateResult.getNew().getKey(), is(createResult.getKey()));
- assertThat(updateResult.getNew().getRevision(), is(not(createResult.getRev())));
- assertThat(updateResult.getNew().getAttribute("a"), is(notNullValue()));
- assertThat(String.valueOf(updateResult.getNew().getAttribute("a")), is("test1"));
- assertThat(updateResult.getNew().getAttribute("b"), is(notNullValue()));
- assertThat(String.valueOf(updateResult.getNew().getAttribute("b")), is("test"));
- }
-
- @Test
- public void updateDocumentReturnOld() {
+ assertThat(updateResult).isNotNull();
+ assertThat(updateResult.getId()).isEqualTo(createResult.getId());
+ assertThat(updateResult.getOldRev()).isEqualTo(createResult.getRev());
+ assertThat(updateResult.getNew()).isNotNull();
+ assertThat(updateResult.getNew().getKey()).isEqualTo(createResult.getKey());
+ assertThat(updateResult.getNew().getRevision()).isNotEqualTo(createResult.getRev());
+ assertThat(updateResult.getNew().getAttribute("a")).isNotNull();
+ assertThat(String.valueOf(updateResult.getNew().getAttribute("a"))).isEqualTo("test1");
+ assertThat(updateResult.getNew().getAttribute("b")).isNotNull();
+ assertThat(String.valueOf(updateResult.getNew().getAttribute("b"))).isEqualTo("test");
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocumentReturnOld(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
doc.addAttribute("a", "test");
final DocumentCreateEntity createResult = collection
@@ -654,19 +694,20 @@ public void updateDocumentReturnOld() {
final DocumentUpdateOptions options = new DocumentUpdateOptions().returnOld(true);
final DocumentUpdateEntity updateResult = collection
.updateDocument(createResult.getKey(), doc, options);
- assertThat(updateResult, is(notNullValue()));
- assertThat(updateResult.getId(), is(createResult.getId()));
- assertThat(updateResult.getOldRev(), is(createResult.getRev()));
- assertThat(updateResult.getOld(), is(notNullValue()));
- assertThat(updateResult.getOld().getKey(), is(createResult.getKey()));
- assertThat(updateResult.getOld().getRevision(), is(createResult.getRev()));
- assertThat(updateResult.getOld().getAttribute("a"), is(notNullValue()));
- assertThat(String.valueOf(updateResult.getOld().getAttribute("a")), is("test"));
- assertThat(updateResult.getOld().getProperties().keySet(), not(hasItem("b")));
- }
-
- @Test
- public void updateDocumentKeepNullTrue() {
+ assertThat(updateResult).isNotNull();
+ assertThat(updateResult.getId()).isEqualTo(createResult.getId());
+ assertThat(updateResult.getOldRev()).isEqualTo(createResult.getRev());
+ assertThat(updateResult.getOld()).isNotNull();
+ assertThat(updateResult.getOld().getKey()).isEqualTo(createResult.getKey());
+ assertThat(updateResult.getOld().getRevision()).isEqualTo(createResult.getRev());
+ assertThat(updateResult.getOld().getAttribute("a")).isNotNull();
+ assertThat(String.valueOf(updateResult.getOld().getAttribute("a"))).isEqualTo("test");
+ assertThat(updateResult.getOld().getProperties().keySet()).doesNotContain("b");
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocumentKeepNullTrue(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
doc.addAttribute("a", "test");
final DocumentCreateEntity createResult = collection
@@ -675,19 +716,20 @@ public void updateDocumentKeepNullTrue() {
final DocumentUpdateOptions options = new DocumentUpdateOptions().keepNull(true);
final DocumentUpdateEntity updateResult = collection
.updateDocument(createResult.getKey(), doc, options);
- assertThat(updateResult, is(notNullValue()));
- assertThat(updateResult.getId(), is(createResult.getId()));
- assertThat(updateResult.getRev(), is(not(updateResult.getOldRev())));
- assertThat(updateResult.getOldRev(), is(createResult.getRev()));
+ assertThat(updateResult).isNotNull();
+ assertThat(updateResult.getId()).isEqualTo(createResult.getId());
+ assertThat(updateResult.getRev()).isNotEqualTo(updateResult.getOldRev());
+ assertThat(updateResult.getOldRev()).isEqualTo(createResult.getRev());
final BaseDocument readResult = collection
.getDocument(createResult.getKey(), BaseDocument.class, null);
- assertThat(readResult.getKey(), is(createResult.getKey()));
- assertThat(readResult.getProperties().keySet(), hasItem("a"));
+ assertThat(readResult.getKey()).isEqualTo(createResult.getKey());
+ assertThat(readResult.getProperties()).containsKey("a");
}
- @Test
- public void updateDocumentKeepNullFalse() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocumentKeepNullFalse(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
doc.addAttribute("a", "test");
final DocumentCreateEntity createResult = collection
@@ -696,26 +738,27 @@ public void updateDocumentKeepNullFalse() {
final DocumentUpdateOptions options = new DocumentUpdateOptions().keepNull(false);
final DocumentUpdateEntity updateResult = collection
.updateDocument(createResult.getKey(), doc, options);
- assertThat(updateResult, is(notNullValue()));
- assertThat(updateResult.getId(), is(createResult.getId()));
- assertThat(updateResult.getRev(), is(not(updateResult.getOldRev())));
- assertThat(updateResult.getOldRev(), is(createResult.getRev()));
+ assertThat(updateResult).isNotNull();
+ assertThat(updateResult.getId()).isEqualTo(createResult.getId());
+ assertThat(updateResult.getRev()).isNotEqualTo(updateResult.getOldRev());
+ assertThat(updateResult.getOldRev()).isEqualTo(createResult.getRev());
final BaseDocument readResult = collection
.getDocument(createResult.getKey(), BaseDocument.class, null);
- assertThat(readResult.getKey(), is(createResult.getKey()));
- assertThat(readResult.getId(), is(createResult.getId()));
- assertThat(readResult.getRevision(), is(notNullValue()));
- assertThat(readResult.getProperties().keySet(), not(hasItem("a")));
+ assertThat(readResult.getKey()).isEqualTo(createResult.getKey());
+ assertThat(readResult.getId()).isEqualTo(createResult.getId());
+ assertThat(readResult.getRevision()).isNotNull();
+ assertThat(readResult.getProperties().keySet()).doesNotContain("a");
}
- private static class TestUpdateEntity {
+ static class TestUpdateEntity {
@SuppressWarnings("unused")
private String a, b;
}
- @Test
- public void updateDocumentSerializeNullTrue() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocumentSerializeNullTrue(ArangoCollection collection) {
final TestUpdateEntity doc = new TestUpdateEntity();
doc.a = "foo";
doc.b = "foo";
@@ -724,18 +767,19 @@ public void updateDocumentSerializeNullTrue() {
patchDoc.a = "bar";
final DocumentUpdateEntity updateResult = collection
.updateDocument(createResult.getKey(), patchDoc);
- assertThat(updateResult, is(notNullValue()));
- assertThat(updateResult.getKey(), is(createResult.getKey()));
+ assertThat(updateResult).isNotNull();
+ assertThat(updateResult.getKey()).isEqualTo(createResult.getKey());
final BaseDocument readResult = collection
.getDocument(createResult.getKey(), BaseDocument.class);
- assertThat(readResult.getKey(), is(createResult.getKey()));
- assertThat(readResult.getProperties().keySet(), hasItem("a"));
- assertThat(readResult.getAttribute("a").toString(), is("bar"));
+ assertThat(readResult.getKey()).isEqualTo(createResult.getKey());
+ assertThat(readResult.getProperties()).containsKey("a");
+ assertThat(readResult.getAttribute("a")).isEqualTo("bar");
}
- @Test
- public void updateDocumentSerializeNullFalse() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocumentSerializeNullFalse(ArangoCollection collection) {
final TestUpdateEntity doc = new TestUpdateEntity();
doc.a = "foo";
doc.b = "foo";
@@ -744,20 +788,21 @@ public void updateDocumentSerializeNullFalse() {
patchDoc.a = "bar";
final DocumentUpdateEntity updateResult = collection
.updateDocument(createResult.getKey(), patchDoc, new DocumentUpdateOptions().serializeNull(false));
- assertThat(updateResult, is(notNullValue()));
- assertThat(updateResult.getKey(), is(createResult.getKey()));
+ assertThat(updateResult).isNotNull();
+ assertThat(updateResult.getKey()).isEqualTo(createResult.getKey());
final BaseDocument readResult = collection
.getDocument(createResult.getKey(), BaseDocument.class);
- assertThat(readResult.getKey(), is(createResult.getKey()));
- assertThat(readResult.getProperties().keySet(), hasItems("a", "b"));
- assertThat(readResult.getAttribute("a").toString(), is("bar"));
- assertThat(readResult.getAttribute("b").toString(), is("foo"));
+ assertThat(readResult.getKey()).isEqualTo(createResult.getKey());
+ assertThat(readResult.getProperties()).containsKeys("a", "b");
+ assertThat(readResult.getAttribute("a")).isEqualTo("bar");
+ assertThat(readResult.getAttribute("b")).isEqualTo("foo");
}
@SuppressWarnings("unchecked")
- @Test
- public void updateDocumentMergeObjectsTrue() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocumentMergeObjectsTrue(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
final Map a = new HashMap<>();
a.put("a", "test");
@@ -770,24 +815,24 @@ public void updateDocumentMergeObjectsTrue() {
final DocumentUpdateOptions options = new DocumentUpdateOptions().mergeObjects(true);
final DocumentUpdateEntity updateResult = collection
.updateDocument(createResult.getKey(), doc, options);
- assertThat(updateResult, is(notNullValue()));
- assertThat(updateResult.getId(), is(createResult.getId()));
- assertThat(updateResult.getRev(), is(not(updateResult.getOldRev())));
- assertThat(updateResult.getOldRev(), is(createResult.getRev()));
+ assertThat(updateResult).isNotNull();
+ assertThat(updateResult.getId()).isEqualTo(createResult.getId());
+ assertThat(updateResult.getRev()).isNotEqualTo(updateResult.getOldRev());
+ assertThat(updateResult.getOldRev()).isEqualTo(createResult.getRev());
final BaseDocument readResult = collection
.getDocument(createResult.getKey(), BaseDocument.class, null);
- assertThat(readResult.getKey(), is(createResult.getKey()));
+ assertThat(readResult.getKey()).isEqualTo(createResult.getKey());
final Object aResult = readResult.getAttribute("a");
- assertThat(aResult, instanceOf(Map.class));
+ assertThat(aResult).isInstanceOf(Map.class);
final Map aMap = (Map) aResult;
- assertThat(aMap.keySet(), hasItem("a"));
- assertThat(aMap.keySet(), hasItem("b"));
+ assertThat(aMap).containsKeys("a", "b");
}
@SuppressWarnings("unchecked")
- @Test
- public void updateDocumentMergeObjectsFalse() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocumentMergeObjectsFalse(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
final Map a = new HashMap<>();
a.put("a", "test");
@@ -800,23 +845,24 @@ public void updateDocumentMergeObjectsFalse() {
final DocumentUpdateOptions options = new DocumentUpdateOptions().mergeObjects(false);
final DocumentUpdateEntity updateResult = collection
.updateDocument(createResult.getKey(), doc, options);
- assertThat(updateResult, is(notNullValue()));
- assertThat(updateResult.getId(), is(createResult.getId()));
- assertThat(updateResult.getRev(), is(not(updateResult.getOldRev())));
- assertThat(updateResult.getOldRev(), is(createResult.getRev()));
+ assertThat(updateResult).isNotNull();
+ assertThat(updateResult.getId()).isEqualTo(createResult.getId());
+ assertThat(updateResult.getRev()).isNotEqualTo(updateResult.getOldRev());
+ assertThat(updateResult.getOldRev()).isEqualTo(createResult.getRev());
final BaseDocument readResult = collection
.getDocument(createResult.getKey(), BaseDocument.class, null);
- assertThat(readResult.getKey(), is(createResult.getKey()));
+ assertThat(readResult.getKey()).isEqualTo(createResult.getKey());
final Object aResult = readResult.getAttribute("a");
- assertThat(aResult, instanceOf(Map.class));
+ assertThat(aResult).isInstanceOf(Map.class);
final Map aMap = (Map) aResult;
- assertThat(aMap.keySet(), not(hasItem("a")));
- assertThat(aMap.keySet(), hasItem("b"));
+ assertThat(aMap.keySet()).doesNotContain("a");
+ assertThat(aMap).containsKey("b");
}
- @Test(expected = ArangoDBException.class)
- public void updateDocumentIgnoreRevsFalse() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocumentIgnoreRevsFalse(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
doc.addAttribute("a", "test");
final DocumentCreateEntity createResult = collection
@@ -825,53 +871,56 @@ public void updateDocumentIgnoreRevsFalse() {
doc.setRevision("no");
final DocumentUpdateOptions options = new DocumentUpdateOptions().ignoreRevs(false);
- collection.updateDocument(createResult.getKey(), doc, options);
+ Throwable thrown = catchThrowable(() -> collection.updateDocument(createResult.getKey(), doc, options));
+ assertThat(thrown).isInstanceOf(ArangoDBException.class);
}
- @Test
- public void updateDocumentSilent() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocumentSilent(ArangoCollection collection) {
assumeTrue(isSingleServer());
final DocumentCreateEntity createResult = collection
.insertDocument(new BaseDocument());
final DocumentUpdateEntity meta = collection
.updateDocument(createResult.getKey(), new BaseDocument(), new DocumentUpdateOptions().silent(true));
- assertThat(meta, is(notNullValue()));
- assertThat(meta.getId(), is(nullValue()));
- assertThat(meta.getKey(), is(nullValue()));
- assertThat(meta.getRev(), is(nullValue()));
+ assertThat(meta).isNotNull();
+ assertThat(meta.getId()).isNull();
+ assertThat(meta.getKey()).isNull();
+ assertThat(meta.getRev()).isNull();
}
- @Test
- public void updateDocumentsSilent() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocumentsSilent(ArangoCollection collection) {
assumeTrue(isSingleServer());
final DocumentCreateEntity createResult = collection
.insertDocument(new BaseDocument());
final MultiDocumentEntity> info = collection
.updateDocuments(Collections.singletonList(new BaseDocument(createResult.getKey())),
new DocumentUpdateOptions().silent(true));
- assertThat(info, is(notNullValue()));
- assertThat(info.getDocuments().isEmpty(), is(true));
- assertThat(info.getDocumentsAndErrors().isEmpty(), is(true));
- assertThat(info.getErrors().isEmpty(), is(true));
+ assertThat(info).isNotNull();
+ assertThat(info.getDocuments()).isEmpty();
+ assertThat(info.getDocumentsAndErrors()).isEmpty();
+ assertThat(info.getErrors()).isEmpty();
}
- @Test
- public void updateNonExistingDocument() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateNonExistingDocument(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument("test-" + rnd());
doc.addAttribute("a", "test");
doc.addAttribute("c", "test");
- try {
- collection.updateDocument(doc.getKey(), doc, null);
- fail();
- } catch (ArangoDBException e) {
- assertThat(e.getResponseCode(), is(404));
- assertThat(e.getErrorNum(), is(1202));
- }
+ Throwable thrown = catchThrowable(() -> collection.updateDocument(doc.getKey(), doc, null));
+ assertThat(thrown).isInstanceOf(ArangoDBException.class);
+ ArangoDBException e = (ArangoDBException) thrown;
+ assertThat(e.getResponseCode()).isEqualTo(404);
+ assertThat(e.getErrorNum()).isEqualTo(1202);
}
- @Test
- public void updateDocumentPreconditionFailed() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void updateDocumentPreconditionFailed(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument("test-" + rnd());
doc.addAttribute("foo", "a");
final DocumentCreateEntity createResult = collection
@@ -881,19 +930,19 @@ public void updateDocumentPreconditionFailed() {
collection.updateDocument(doc.getKey(), doc, null);
doc.updateAttribute("foo", "c");
- try {
- collection.updateDocument(doc.getKey(), doc, new DocumentUpdateOptions().ifMatch(createResult.getRev()));
- fail();
- } catch (ArangoDBException e) {
- assertThat(e.getResponseCode(), is(412));
- assertThat(e.getErrorNum(), is(1200));
- }
+ Throwable thrown = catchThrowable(() ->
+ collection.updateDocument(doc.getKey(), doc, new DocumentUpdateOptions().ifMatch(createResult.getRev())));
+ assertThat(thrown).isInstanceOf(ArangoDBException.class);
+ ArangoDBException e = (ArangoDBException) thrown;
+ assertThat(e.getResponseCode()).isEqualTo(412);
+ assertThat(e.getErrorNum()).isEqualTo(1200);
BaseDocument readDocument = collection.getDocument(doc.getKey(), BaseDocument.class);
- assertThat(readDocument.getAttribute("foo"), is("b"));
+ assertThat(readDocument.getAttribute("foo")).isEqualTo("b");
}
- @Test
- public void replaceDocument() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void replaceDocument(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
doc.addAttribute("a", "test");
final DocumentCreateEntity createResult = collection
@@ -902,35 +951,37 @@ public void replaceDocument() {
doc.addAttribute("b", "test");
final DocumentUpdateEntity replaceResult = collection
.replaceDocument(createResult.getKey(), doc, null);
- assertThat(replaceResult, is(notNullValue()));
- assertThat(replaceResult.getId(), is(createResult.getId()));
- assertThat(replaceResult.getNew(), is(nullValue()));
- assertThat(replaceResult.getOld(), is(nullValue()));
- assertThat(replaceResult.getRev(), is(not(replaceResult.getOldRev())));
- assertThat(replaceResult.getOldRev(), is(createResult.getRev()));
+ assertThat(replaceResult).isNotNull();
+ assertThat(replaceResult.getId()).isEqualTo(createResult.getId());
+ assertThat(replaceResult.getNew()).isNull();
+ assertThat(replaceResult.getOld()).isNull();
+ assertThat(replaceResult.getRev()).isNotEqualTo(replaceResult.getOldRev());
+ assertThat(replaceResult.getOldRev()).isEqualTo(createResult.getRev());
final BaseDocument readResult = collection
.getDocument(createResult.getKey(), BaseDocument.class, null);
- assertThat(readResult.getKey(), is(createResult.getKey()));
- assertThat(readResult.getRevision(), is(replaceResult.getRev()));
- assertThat(readResult.getProperties().keySet(), not(hasItem("a")));
- assertThat(readResult.getAttribute("b"), is(notNullValue()));
- assertThat(String.valueOf(readResult.getAttribute("b")), is("test"));
+ assertThat(readResult.getKey()).isEqualTo(createResult.getKey());
+ assertThat(readResult.getRevision()).isEqualTo(replaceResult.getRev());
+ assertThat(readResult.getProperties().keySet()).doesNotContain("a");
+ assertThat(readResult.getAttribute("b")).isNotNull();
+ assertThat(String.valueOf(readResult.getAttribute("b"))).isEqualTo("test");
}
- @Test
- public void replaceDocumentUpdateRev() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void replaceDocumentUpdateRev(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
final DocumentCreateEntity createResult = collection
.insertDocument(doc, null);
- assertThat(doc.getRevision(), is(createResult.getRev()));
+ assertThat(doc.getRevision()).isEqualTo(createResult.getRev());
final DocumentUpdateEntity replaceResult = collection
.replaceDocument(createResult.getKey(), doc, null);
- assertThat(doc.getRevision(), is(replaceResult.getRev()));
+ assertThat(doc.getRevision()).isEqualTo(replaceResult.getRev());
}
- @Test
- public void replaceDocumentIfMatch() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void replaceDocumentIfMatch(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
doc.addAttribute("a", "test");
final DocumentCreateEntity createResult = collection
@@ -940,22 +991,23 @@ public void replaceDocumentIfMatch() {
final DocumentReplaceOptions options = new DocumentReplaceOptions().ifMatch(createResult.getRev());
final DocumentUpdateEntity replaceResult = collection
.replaceDocument(createResult.getKey(), doc, options);
- assertThat(replaceResult, is(notNullValue()));
- assertThat(replaceResult.getId(), is(createResult.getId()));
- assertThat(replaceResult.getRev(), is(not(replaceResult.getOldRev())));
- assertThat(replaceResult.getOldRev(), is(createResult.getRev()));
+ assertThat(replaceResult).isNotNull();
+ assertThat(replaceResult.getId()).isEqualTo(createResult.getId());
+ assertThat(replaceResult.getRev()).isNotEqualTo(replaceResult.getOldRev());
+ assertThat(replaceResult.getOldRev()).isEqualTo(createResult.getRev());
final BaseDocument readResult = collection
.getDocument(createResult.getKey(), BaseDocument.class, null);
- assertThat(readResult.getKey(), is(createResult.getKey()));
- assertThat(readResult.getRevision(), is(replaceResult.getRev()));
- assertThat(readResult.getProperties().keySet(), not(hasItem("a")));
- assertThat(readResult.getAttribute("b"), is(notNullValue()));
- assertThat(String.valueOf(readResult.getAttribute("b")), is("test"));
+ assertThat(readResult.getKey()).isEqualTo(createResult.getKey());
+ assertThat(readResult.getRevision()).isEqualTo(replaceResult.getRev());
+ assertThat(readResult.getProperties().keySet()).doesNotContain("a");
+ assertThat(readResult.getAttribute("b")).isNotNull();
+ assertThat(String.valueOf(readResult.getAttribute("b"))).isEqualTo("test");
}
- @Test(expected = ArangoDBException.class)
- public void replaceDocumentIfMatchFail() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void replaceDocumentIfMatchFail(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
doc.addAttribute("a", "test");
final DocumentCreateEntity createResult = collection
@@ -964,11 +1016,14 @@ public void replaceDocumentIfMatchFail() {
doc.addAttribute("b", "test");
final DocumentReplaceOptions options = new DocumentReplaceOptions().ifMatch("no");
- collection.replaceDocument(createResult.getKey(), doc, options);
+ Throwable thrown = catchThrowable(() -> collection.replaceDocument(createResult.getKey(), doc, options));
+ assertThat(thrown).isInstanceOf(ArangoDBException.class);
+
}
- @Test(expected = ArangoDBException.class)
- public void replaceDocumentIgnoreRevsFalse() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void replaceDocumentIgnoreRevsFalse(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
doc.addAttribute("a", "test");
final DocumentCreateEntity createResult = collection
@@ -978,11 +1033,13 @@ public void replaceDocumentIgnoreRevsFalse() {
doc.setRevision("no");
final DocumentReplaceOptions options = new DocumentReplaceOptions().ignoreRevs(false);
- collection.replaceDocument(createResult.getKey(), doc, options);
+ Throwable thrown = catchThrowable(() -> collection.replaceDocument(createResult.getKey(), doc, options));
+ assertThat(thrown).isInstanceOf(ArangoDBException.class);
}
- @Test
- public void replaceDocumentReturnNew() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void replaceDocumentReturnNew(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
doc.addAttribute("a", "test");
final DocumentCreateEntity createResult = collection
@@ -992,19 +1049,20 @@ public void replaceDocumentReturnNew() {
final DocumentReplaceOptions options = new DocumentReplaceOptions().returnNew(true);
final DocumentUpdateEntity replaceResult = collection
.replaceDocument(createResult.getKey(), doc, options);
- assertThat(replaceResult, is(notNullValue()));
- assertThat(replaceResult.getId(), is(createResult.getId()));
- assertThat(replaceResult.getOldRev(), is(createResult.getRev()));
- assertThat(replaceResult.getNew(), is(notNullValue()));
- assertThat(replaceResult.getNew().getKey(), is(createResult.getKey()));
- assertThat(replaceResult.getNew().getRevision(), is(not(createResult.getRev())));
- assertThat(replaceResult.getNew().getProperties().keySet(), not(hasItem("a")));
- assertThat(replaceResult.getNew().getAttribute("b"), is(notNullValue()));
- assertThat(String.valueOf(replaceResult.getNew().getAttribute("b")), is("test"));
- }
-
- @Test
- public void replaceDocumentReturnOld() {
+ assertThat(replaceResult).isNotNull();
+ assertThat(replaceResult.getId()).isEqualTo(createResult.getId());
+ assertThat(replaceResult.getOldRev()).isEqualTo(createResult.getRev());
+ assertThat(replaceResult.getNew()).isNotNull();
+ assertThat(replaceResult.getNew().getKey()).isEqualTo(createResult.getKey());
+ assertThat(replaceResult.getNew().getRevision()).isNotEqualTo(createResult.getRev());
+ assertThat(replaceResult.getNew().getProperties().keySet()).doesNotContain("a");
+ assertThat(replaceResult.getNew().getAttribute("b")).isNotNull();
+ assertThat(String.valueOf(replaceResult.getNew().getAttribute("b"))).isEqualTo("test");
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void replaceDocumentReturnOld(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
doc.addAttribute("a", "test");
final DocumentCreateEntity createResult = collection
@@ -1014,70 +1072,75 @@ public void replaceDocumentReturnOld() {
final DocumentReplaceOptions options = new DocumentReplaceOptions().returnOld(true);
final DocumentUpdateEntity replaceResult = collection
.replaceDocument(createResult.getKey(), doc, options);
- assertThat(replaceResult, is(notNullValue()));
- assertThat(replaceResult.getId(), is(createResult.getId()));
- assertThat(replaceResult.getOldRev(), is(createResult.getRev()));
- assertThat(replaceResult.getOld(), is(notNullValue()));
- assertThat(replaceResult.getOld().getKey(), is(createResult.getKey()));
- assertThat(replaceResult.getOld().getRevision(), is(createResult.getRev()));
- assertThat(replaceResult.getOld().getAttribute("a"), is(notNullValue()));
- assertThat(String.valueOf(replaceResult.getOld().getAttribute("a")), is("test"));
- assertThat(replaceResult.getOld().getProperties().keySet(), not(hasItem("b")));
- }
-
- @Test
- public void replaceDocumentSilent() {
+ assertThat(replaceResult).isNotNull();
+ assertThat(replaceResult.getId()).isEqualTo(createResult.getId());
+ assertThat(replaceResult.getOldRev()).isEqualTo(createResult.getRev());
+ assertThat(replaceResult.getOld()).isNotNull();
+ assertThat(replaceResult.getOld().getKey()).isEqualTo(createResult.getKey());
+ assertThat(replaceResult.getOld().getRevision()).isEqualTo(createResult.getRev());
+ assertThat(replaceResult.getOld().getAttribute("a")).isNotNull();
+ assertThat(String.valueOf(replaceResult.getOld().getAttribute("a"))).isEqualTo("test");
+ assertThat(replaceResult.getOld().getProperties().keySet()).doesNotContain("b");
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void replaceDocumentSilent(ArangoCollection collection) {
assumeTrue(isSingleServer());
final DocumentCreateEntity createResult = collection
.insertDocument(new BaseDocument());
final DocumentUpdateEntity meta = collection
.replaceDocument(createResult.getKey(), new BaseDocument(), new DocumentReplaceOptions().silent(true));
- assertThat(meta, is(notNullValue()));
- assertThat(meta.getId(), is(nullValue()));
- assertThat(meta.getKey(), is(nullValue()));
- assertThat(meta.getRev(), is(nullValue()));
+ assertThat(meta).isNotNull();
+ assertThat(meta.getId()).isNull();
+ assertThat(meta.getKey()).isNull();
+ assertThat(meta.getRev()).isNull();
}
- @Test
- public void replaceDocumentSilentDontTouchInstance() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void replaceDocumentSilentDontTouchInstance(ArangoCollection collection) {
assumeTrue(isSingleServer());
final BaseDocument doc = new BaseDocument();
final DocumentCreateEntity createResult = collection.insertDocument(doc);
final String revision = doc.getRevision();
- assertThat(revision, is(notNullValue()));
+ assertThat(revision).isNotNull();
final DocumentUpdateEntity meta = collection
.replaceDocument(createResult.getKey(), doc, new DocumentReplaceOptions().silent(true));
- assertThat(meta.getRev(), is(nullValue()));
- assertThat(doc.getRevision(), is(revision));
+ assertThat(meta.getRev()).isNull();
+ assertThat(doc.getRevision()).isEqualTo(revision);
}
- @Test
- public void replaceDocumentsSilent() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void replaceDocumentsSilent(ArangoCollection collection) {
assumeTrue(isSingleServer());
final DocumentCreateEntity createResult = collection
.insertDocument(new BaseDocument());
final MultiDocumentEntity> info = collection
.replaceDocuments(Collections.singletonList(new BaseDocument(createResult.getKey())),
new DocumentReplaceOptions().silent(true));
- assertThat(info, is(notNullValue()));
- assertThat(info.getDocuments().isEmpty(), is(true));
- assertThat(info.getDocumentsAndErrors().isEmpty(), is(true));
- assertThat(info.getErrors().isEmpty(), is(true));
+ assertThat(info).isNotNull();
+ assertThat(info.getDocuments()).isEmpty();
+ assertThat(info.getDocumentsAndErrors()).isEmpty();
+ assertThat(info.getErrors()).isEmpty();
}
- @Test
- public void deleteDocument() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void deleteDocument(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
final DocumentCreateEntity createResult = collection
.insertDocument(doc, null);
collection.deleteDocument(createResult.getKey(), null, null);
final BaseDocument document = collection
.getDocument(createResult.getKey(), BaseDocument.class, null);
- assertThat(document, is(nullValue()));
+ assertThat(document).isNull();
}
- @Test
- public void deleteDocumentReturnOld() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void deleteDocumentReturnOld(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
doc.addAttribute("a", "test");
final DocumentCreateEntity createResult = collection
@@ -1085,14 +1148,15 @@ public void deleteDocumentReturnOld() {
final DocumentDeleteOptions options = new DocumentDeleteOptions().returnOld(true);
final DocumentDeleteEntity deleteResult = collection
.deleteDocument(createResult.getKey(), BaseDocument.class, options);
- assertThat(deleteResult.getOld(), is(notNullValue()));
- assertThat(deleteResult.getOld(), instanceOf(BaseDocument.class));
- assertThat(deleteResult.getOld().getAttribute("a"), is(notNullValue()));
- assertThat(String.valueOf(deleteResult.getOld().getAttribute("a")), is("test"));
+ assertThat(deleteResult.getOld()).isNotNull();
+ assertThat(deleteResult.getOld()).isInstanceOf(BaseDocument.class);
+ assertThat(deleteResult.getOld().getAttribute("a")).isNotNull();
+ assertThat(String.valueOf(deleteResult.getOld().getAttribute("a"))).isEqualTo("test");
}
- @Test
- public void deleteDocumentIfMatch() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void deleteDocumentIfMatch(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
final DocumentCreateEntity createResult = collection
.insertDocument(doc, null);
@@ -1100,108 +1164,120 @@ public void deleteDocumentIfMatch() {
collection.deleteDocument(createResult.getKey(), null, options);
final BaseDocument document = collection
.getDocument(createResult.getKey(), BaseDocument.class, null);
- assertThat(document, is(nullValue()));
+ assertThat(document).isNull();
}
- @Test(expected = ArangoDBException.class)
- public void deleteDocumentIfMatchFail() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void deleteDocumentIfMatchFail(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
final DocumentCreateEntity createResult = collection
.insertDocument(doc, null);
final DocumentDeleteOptions options = new DocumentDeleteOptions().ifMatch("no");
- collection.deleteDocument(createResult.getKey(), null, options);
+ Throwable thrown = catchThrowable(() -> collection.deleteDocument(createResult.getKey(), null, options));
+ assertThat(thrown).isInstanceOf(ArangoDBException.class);
}
- @Test
- public void deleteDocumentSilent() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void deleteDocumentSilent(ArangoCollection collection) {
assumeTrue(isSingleServer());
final DocumentCreateEntity createResult = collection
.insertDocument(new BaseDocument());
final DocumentDeleteEntity meta = collection
.deleteDocument(createResult.getKey(), BaseDocument.class, new DocumentDeleteOptions().silent(true));
- assertThat(meta, is(notNullValue()));
- assertThat(meta.getId(), is(nullValue()));
- assertThat(meta.getKey(), is(nullValue()));
- assertThat(meta.getRev(), is(nullValue()));
+ assertThat(meta).isNotNull();
+ assertThat(meta.getId()).isNull();
+ assertThat(meta.getKey()).isNull();
+ assertThat(meta.getRev()).isNull();
}
- @Test
- public void deleteDocumentsSilent() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void deleteDocumentsSilent(ArangoCollection collection) {
assumeTrue(isSingleServer());
final DocumentCreateEntity createResult = collection
.insertDocument(new BaseDocument());
final MultiDocumentEntity> info = collection
.deleteDocuments(Collections.singletonList(createResult.getKey()), BaseDocument.class,
new DocumentDeleteOptions().silent(true));
- assertThat(info, is(notNullValue()));
- assertThat(info.getDocuments().isEmpty(), is(true));
- assertThat(info.getDocumentsAndErrors().isEmpty(), is(true));
- assertThat(info.getErrors().isEmpty(), is(true));
+ assertThat(info).isNotNull();
+ assertThat(info.getDocuments()).isEmpty();
+ assertThat(info.getDocumentsAndErrors()).isEmpty();
+ assertThat(info.getErrors()).isEmpty();
}
- @Test
- public void getIndex() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getIndex(ArangoCollection collection) {
final Collection fields = new ArrayList<>();
fields.add("a");
final IndexEntity createResult = collection.ensureHashIndex(fields, null);
final IndexEntity readResult = collection.getIndex(createResult.getId());
- assertThat(readResult.getId(), is(createResult.getId()));
- assertThat(readResult.getType(), is(createResult.getType()));
+ assertThat(readResult.getId()).isEqualTo(createResult.getId());
+ assertThat(readResult.getType()).isEqualTo(createResult.getType());
}
- @Test
- public void getIndexByKey() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getIndexByKey(ArangoCollection collection) {
final Collection fields = new ArrayList<>();
fields.add("a");
final IndexEntity createResult = collection.ensureHashIndex(fields, null);
final IndexEntity readResult = collection.getIndex(createResult.getId().split("/")[1]);
- assertThat(readResult.getId(), is(createResult.getId()));
- assertThat(readResult.getType(), is(createResult.getType()));
+ assertThat(readResult.getId()).isEqualTo(createResult.getId());
+ assertThat(readResult.getType()).isEqualTo(createResult.getType());
}
- @Test(expected = ArangoDBException.class)
- public void deleteIndex() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void deleteIndex(ArangoCollection collection) {
final Collection fields = new ArrayList<>();
fields.add("a");
final IndexEntity createResult = collection.ensureHashIndex(fields, null);
final String id = collection.deleteIndex(createResult.getId());
- assertThat(id, is(createResult.getId()));
- db.getIndex(id);
+ assertThat(id).isEqualTo(createResult.getId());
+ Throwable thrown = catchThrowable(() -> collection.db().getIndex(id));
+ assertThat(thrown).isInstanceOf(ArangoDBException.class);
}
- @Test(expected = ArangoDBException.class)
- public void deleteIndexByKey() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void deleteIndexByKey(ArangoCollection collection) {
final Collection fields = new ArrayList<>();
fields.add("a");
final IndexEntity createResult = collection.ensureHashIndex(fields, null);
final String id = collection.deleteIndex(createResult.getId().split("/")[1]);
- assertThat(id, is(createResult.getId()));
- db.getIndex(id);
+ assertThat(id).isEqualTo(createResult.getId());
+ Throwable thrown = catchThrowable(() -> collection.db().getIndex(id));
+ assertThat(thrown).isInstanceOf(ArangoDBException.class);
}
- @Test
- public void createHashIndex() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void createHashIndex(ArangoCollection collection) {
String f1 = "field-" + rnd();
String f2 = "field-" + rnd();
final Collection fields = Arrays.asList(f1, f2);
final IndexEntity indexResult = collection.ensureHashIndex(fields, null);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getConstraint(), is(nullValue()));
- assertThat(indexResult.getFields(), hasItem(f1));
- assertThat(indexResult.getFields(), hasItem(f2));
- assertThat(indexResult.getId(), startsWith(COLLECTION_NAME));
- assertThat(indexResult.getIsNewlyCreated(), is(true));
- assertThat(indexResult.getMinLength(), is(nullValue()));
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getConstraint()).isNull();
+ assertThat(indexResult.getFields()).contains(f1);
+ assertThat(indexResult.getFields()).contains(f2);
+ assertThat(indexResult.getId()).startsWith(COLLECTION_NAME);
+ assertThat(indexResult.getIsNewlyCreated()).isTrue();
+ assertThat(indexResult.getMinLength()).isNull();
if (isSingleServer()) {
- assertThat(indexResult.getSelectivityEstimate(), is(greaterThan(0.0)));
+ assertThat(indexResult.getSelectivityEstimate()).isPositive();
}
- assertThat(indexResult.getSparse(), is(false));
- assertThat(indexResult.getType(), is(IndexType.hash));
- assertThat(indexResult.getUnique(), is(false));
+ assertThat(indexResult.getSparse()).isFalse();
+ assertThat(indexResult.getType()).isEqualTo(IndexType.hash);
+ assertThat(indexResult.getUnique()).isFalse();
}
- @Test
- public void createHashIndexWithOptions() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void createHashIndexWithOptions(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 5));
String name = "hashIndex-" + rnd();
@@ -1213,43 +1289,45 @@ public void createHashIndexWithOptions() {
final Collection fields = Arrays.asList(f1, f2);
final IndexEntity indexResult = collection.ensureHashIndex(fields, options);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getConstraint(), is(nullValue()));
- assertThat(indexResult.getFields(), hasItem(f1));
- assertThat(indexResult.getFields(), hasItem(f2));
- assertThat(indexResult.getId(), startsWith(COLLECTION_NAME));
- assertThat(indexResult.getIsNewlyCreated(), is(true));
- assertThat(indexResult.getMinLength(), is(nullValue()));
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getConstraint()).isNull();
+ assertThat(indexResult.getFields()).contains(f1);
+ assertThat(indexResult.getFields()).contains(f2);
+ assertThat(indexResult.getId()).startsWith(COLLECTION_NAME);
+ assertThat(indexResult.getIsNewlyCreated()).isTrue();
+ assertThat(indexResult.getMinLength()).isNull();
if (isSingleServer()) {
- assertThat(indexResult.getSelectivityEstimate(), is(greaterThan(0.0)));
+ assertThat(indexResult.getSelectivityEstimate()).isPositive();
}
- assertThat(indexResult.getSparse(), is(false));
- assertThat(indexResult.getType(), is(IndexType.hash));
- assertThat(indexResult.getUnique(), is(false));
- assertThat(indexResult.getName(), is(name));
+ assertThat(indexResult.getSparse()).isFalse();
+ assertThat(indexResult.getType()).isEqualTo(IndexType.hash);
+ assertThat(indexResult.getUnique()).isFalse();
+ assertThat(indexResult.getName()).isEqualTo(name);
}
- @Test
- public void createGeoIndex() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void createGeoIndex(ArangoCollection collection) {
String f1 = "field-" + rnd();
final Collection fields = Collections.singletonList(f1);
final IndexEntity indexResult = collection.ensureGeoIndex(fields, null);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getFields(), hasItem(f1));
- assertThat(indexResult.getId(), startsWith(COLLECTION_NAME));
- assertThat(indexResult.getIsNewlyCreated(), is(true));
- assertThat(indexResult.getMinLength(), is(nullValue()));
- assertThat(indexResult.getSparse(), is(true));
- assertThat(indexResult.getUnique(), is(false));
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getFields()).contains(f1);
+ assertThat(indexResult.getId()).startsWith(COLLECTION_NAME);
+ assertThat(indexResult.getIsNewlyCreated()).isTrue();
+ assertThat(indexResult.getMinLength()).isNull();
+ assertThat(indexResult.getSparse()).isTrue();
+ assertThat(indexResult.getUnique()).isFalse();
if (isAtLeastVersion(3, 4)) {
- assertThat(indexResult.getType(), is(IndexType.geo));
+ assertThat(indexResult.getType()).isEqualTo(IndexType.geo);
} else {
- assertThat(indexResult.getType(), is(IndexType.geo1));
+ assertThat(indexResult.getType()).isEqualTo(IndexType.geo1);
}
}
- @Test
- public void createGeoIndexWithOptions() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void createGeoIndexWithOptions(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 5));
String name = "geoIndex-" + rnd();
@@ -1259,45 +1337,47 @@ public void createGeoIndexWithOptions() {
String f1 = "field-" + rnd();
final Collection fields = Collections.singletonList(f1);
final IndexEntity indexResult = collection.ensureGeoIndex(fields, options);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getFields(), hasItem(f1));
- assertThat(indexResult.getId(), startsWith(COLLECTION_NAME));
- assertThat(indexResult.getIsNewlyCreated(), is(true));
- assertThat(indexResult.getMinLength(), is(nullValue()));
- assertThat(indexResult.getSparse(), is(true));
- assertThat(indexResult.getUnique(), is(false));
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getFields()).contains(f1);
+ assertThat(indexResult.getId()).startsWith(COLLECTION_NAME);
+ assertThat(indexResult.getIsNewlyCreated()).isTrue();
+ assertThat(indexResult.getMinLength()).isNull();
+ assertThat(indexResult.getSparse()).isTrue();
+ assertThat(indexResult.getUnique()).isFalse();
if (isAtLeastVersion(3, 4)) {
- assertThat(indexResult.getType(), is(IndexType.geo));
+ assertThat(indexResult.getType()).isEqualTo(IndexType.geo);
} else {
- assertThat(indexResult.getType(), is(IndexType.geo1));
+ assertThat(indexResult.getType()).isEqualTo(IndexType.geo1);
}
- assertThat(indexResult.getName(), is(name));
+ assertThat(indexResult.getName()).isEqualTo(name);
}
- @Test
- public void createGeo2Index() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void createGeo2Index(ArangoCollection collection) {
String f1 = "field-" + rnd();
String f2 = "field-" + rnd();
final Collection fields = Arrays.asList(f1, f2);
final IndexEntity indexResult = collection.ensureGeoIndex(fields, null);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getFields(), hasItem(f1));
- assertThat(indexResult.getFields(), hasItem(f2));
- assertThat(indexResult.getId(), startsWith(COLLECTION_NAME));
- assertThat(indexResult.getIsNewlyCreated(), is(true));
- assertThat(indexResult.getMinLength(), is(nullValue()));
- assertThat(indexResult.getSparse(), is(true));
- assertThat(indexResult.getUnique(), is(false));
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getFields()).contains(f1);
+ assertThat(indexResult.getFields()).contains(f2);
+ assertThat(indexResult.getId()).startsWith(COLLECTION_NAME);
+ assertThat(indexResult.getIsNewlyCreated()).isTrue();
+ assertThat(indexResult.getMinLength()).isNull();
+ assertThat(indexResult.getSparse()).isTrue();
+ assertThat(indexResult.getUnique()).isFalse();
if (isAtLeastVersion(3, 4)) {
- assertThat(indexResult.getType(), is(IndexType.geo));
+ assertThat(indexResult.getType()).isEqualTo(IndexType.geo);
} else {
- assertThat(indexResult.getType(), is(IndexType.geo2));
+ assertThat(indexResult.getType()).isEqualTo(IndexType.geo2);
}
}
- @Test
- public void createGeo2IndexWithOptions() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void createGeo2IndexWithOptions(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 5));
String name = "geoIndex-" + rnd();
@@ -1309,42 +1389,44 @@ public void createGeo2IndexWithOptions() {
final Collection fields = Arrays.asList(f1, f2);
final IndexEntity indexResult = collection.ensureGeoIndex(fields, options);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getFields(), hasItem(f1));
- assertThat(indexResult.getFields(), hasItem(f2));
- assertThat(indexResult.getId(), startsWith(COLLECTION_NAME));
- assertThat(indexResult.getIsNewlyCreated(), is(true));
- assertThat(indexResult.getMinLength(), is(nullValue()));
- assertThat(indexResult.getSparse(), is(true));
- assertThat(indexResult.getUnique(), is(false));
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getFields()).contains(f1);
+ assertThat(indexResult.getFields()).contains(f2);
+ assertThat(indexResult.getId()).startsWith(COLLECTION_NAME);
+ assertThat(indexResult.getIsNewlyCreated()).isTrue();
+ assertThat(indexResult.getMinLength()).isNull();
+ assertThat(indexResult.getSparse()).isTrue();
+ assertThat(indexResult.getUnique()).isFalse();
if (isAtLeastVersion(3, 4)) {
- assertThat(indexResult.getType(), is(IndexType.geo));
+ assertThat(indexResult.getType()).isEqualTo(IndexType.geo);
} else {
- assertThat(indexResult.getType(), is(IndexType.geo2));
+ assertThat(indexResult.getType()).isEqualTo(IndexType.geo2);
}
- assertThat(indexResult.getName(), is(name));
+ assertThat(indexResult.getName()).isEqualTo(name);
}
- @Test
- public void createSkiplistIndex() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void createSkiplistIndex(ArangoCollection collection) {
String f1 = "field-" + rnd();
String f2 = "field-" + rnd();
final Collection fields = Arrays.asList(f1, f2);
final IndexEntity indexResult = collection.ensureSkiplistIndex(fields, null);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getConstraint(), is(nullValue()));
- assertThat(indexResult.getFields(), hasItem(f1));
- assertThat(indexResult.getFields(), hasItem(f2));
- assertThat(indexResult.getId(), startsWith(COLLECTION_NAME));
- assertThat(indexResult.getIsNewlyCreated(), is(true));
- assertThat(indexResult.getMinLength(), is(nullValue()));
- assertThat(indexResult.getSparse(), is(false));
- assertThat(indexResult.getType(), is(IndexType.skiplist));
- assertThat(indexResult.getUnique(), is(false));
- }
-
- @Test
- public void createSkiplistIndexWithOptions() {
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getConstraint()).isNull();
+ assertThat(indexResult.getFields()).contains(f1);
+ assertThat(indexResult.getFields()).contains(f2);
+ assertThat(indexResult.getId()).startsWith(COLLECTION_NAME);
+ assertThat(indexResult.getIsNewlyCreated()).isTrue();
+ assertThat(indexResult.getMinLength()).isNull();
+ assertThat(indexResult.getSparse()).isFalse();
+ assertThat(indexResult.getType()).isEqualTo(IndexType.skiplist);
+ assertThat(indexResult.getUnique()).isFalse();
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void createSkiplistIndexWithOptions(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 5));
String name = "skiplistIndex-" + rnd();
@@ -1355,40 +1437,42 @@ public void createSkiplistIndexWithOptions() {
String f2 = "field-" + rnd();
final Collection fields = Arrays.asList(f1, f2);
final IndexEntity indexResult = collection.ensureSkiplistIndex(fields, options);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getConstraint(), is(nullValue()));
- assertThat(indexResult.getFields(), hasItem(f1));
- assertThat(indexResult.getFields(), hasItem(f2));
- assertThat(indexResult.getId(), startsWith(COLLECTION_NAME));
- assertThat(indexResult.getIsNewlyCreated(), is(true));
- assertThat(indexResult.getMinLength(), is(nullValue()));
- assertThat(indexResult.getSparse(), is(false));
- assertThat(indexResult.getType(), is(IndexType.skiplist));
- assertThat(indexResult.getUnique(), is(false));
- assertThat(indexResult.getName(), is(name));
- }
-
- @Test
- public void createPersistentIndex() {
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getConstraint()).isNull();
+ assertThat(indexResult.getFields()).contains(f1);
+ assertThat(indexResult.getFields()).contains(f2);
+ assertThat(indexResult.getId()).startsWith(COLLECTION_NAME);
+ assertThat(indexResult.getIsNewlyCreated()).isTrue();
+ assertThat(indexResult.getMinLength()).isNull();
+ assertThat(indexResult.getSparse()).isFalse();
+ assertThat(indexResult.getType()).isEqualTo(IndexType.skiplist);
+ assertThat(indexResult.getUnique()).isFalse();
+ assertThat(indexResult.getName()).isEqualTo(name);
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void createPersistentIndex(ArangoCollection collection) {
String f1 = "field-" + rnd();
String f2 = "field-" + rnd();
final Collection fields = Arrays.asList(f1, f2);
final IndexEntity indexResult = collection.ensurePersistentIndex(fields, null);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getConstraint(), is(nullValue()));
- assertThat(indexResult.getFields(), hasItem(f1));
- assertThat(indexResult.getFields(), hasItem(f2));
- assertThat(indexResult.getId(), startsWith(COLLECTION_NAME));
- assertThat(indexResult.getIsNewlyCreated(), is(true));
- assertThat(indexResult.getMinLength(), is(nullValue()));
- assertThat(indexResult.getSparse(), is(false));
- assertThat(indexResult.getType(), is(IndexType.persistent));
- assertThat(indexResult.getUnique(), is(false));
- }
-
- @Test
- public void createPersistentIndexWithOptions() {
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getConstraint()).isNull();
+ assertThat(indexResult.getFields()).contains(f1);
+ assertThat(indexResult.getFields()).contains(f2);
+ assertThat(indexResult.getId()).startsWith(COLLECTION_NAME);
+ assertThat(indexResult.getIsNewlyCreated()).isTrue();
+ assertThat(indexResult.getMinLength()).isNull();
+ assertThat(indexResult.getSparse()).isFalse();
+ assertThat(indexResult.getType()).isEqualTo(IndexType.persistent);
+ assertThat(indexResult.getUnique()).isFalse();
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void createPersistentIndexWithOptions(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 5));
String name = "persistentIndex-" + rnd();
@@ -1400,21 +1484,22 @@ public void createPersistentIndexWithOptions() {
final Collection fields = Arrays.asList(f1, f2);
final IndexEntity indexResult = collection.ensurePersistentIndex(fields, options);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getConstraint(), is(nullValue()));
- assertThat(indexResult.getFields(), hasItem(f1));
- assertThat(indexResult.getFields(), hasItem(f2));
- assertThat(indexResult.getId(), startsWith(COLLECTION_NAME));
- assertThat(indexResult.getIsNewlyCreated(), is(true));
- assertThat(indexResult.getMinLength(), is(nullValue()));
- assertThat(indexResult.getSparse(), is(false));
- assertThat(indexResult.getType(), is(IndexType.persistent));
- assertThat(indexResult.getUnique(), is(false));
- assertThat(indexResult.getName(), is(name));
- }
-
- @Test
- public void createZKDIndex() {
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getConstraint()).isNull();
+ assertThat(indexResult.getFields()).contains(f1);
+ assertThat(indexResult.getFields()).contains(f2);
+ assertThat(indexResult.getId()).startsWith(COLLECTION_NAME);
+ assertThat(indexResult.getIsNewlyCreated()).isTrue();
+ assertThat(indexResult.getMinLength()).isNull();
+ assertThat(indexResult.getSparse()).isFalse();
+ assertThat(indexResult.getType()).isEqualTo(IndexType.persistent);
+ assertThat(indexResult.getUnique()).isFalse();
+ assertThat(indexResult.getName()).isEqualTo(name);
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void createZKDIndex(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 9));
collection.truncate();
String f1 = "field-" + rnd();
@@ -1422,20 +1507,21 @@ public void createZKDIndex() {
final Collection fields = Arrays.asList(f1, f2);
final IndexEntity indexResult = collection.ensureZKDIndex(fields, null);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getConstraint(), is(nullValue()));
- assertThat(indexResult.getFields(), hasItem(f1));
- assertThat(indexResult.getFields(), hasItem(f2));
- assertThat(indexResult.getId(), startsWith(COLLECTION_NAME));
- assertThat(indexResult.getIsNewlyCreated(), is(true));
- assertThat(indexResult.getMinLength(), is(nullValue()));
- assertThat(indexResult.getType(), is(IndexType.zkd));
- assertThat(indexResult.getUnique(), is(false));
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getConstraint()).isNull();
+ assertThat(indexResult.getFields()).contains(f1);
+ assertThat(indexResult.getFields()).contains(f2);
+ assertThat(indexResult.getId()).startsWith(COLLECTION_NAME);
+ assertThat(indexResult.getIsNewlyCreated()).isTrue();
+ assertThat(indexResult.getMinLength()).isNull();
+ assertThat(indexResult.getType()).isEqualTo(IndexType.zkd);
+ assertThat(indexResult.getUnique()).isFalse();
collection.deleteIndex(indexResult.getId());
}
- @Test
- public void createZKDIndexWithOptions() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void createZKDIndexWithOptions(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 9));
collection.truncate();
@@ -1449,21 +1535,22 @@ public void createZKDIndexWithOptions() {
final Collection fields = Arrays.asList(f1, f2);
final IndexEntity indexResult = collection.ensureZKDIndex(fields, options);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getConstraint(), is(nullValue()));
- assertThat(indexResult.getFields(), hasItem(f1));
- assertThat(indexResult.getFields(), hasItem(f2));
- assertThat(indexResult.getId(), startsWith(COLLECTION_NAME));
- assertThat(indexResult.getIsNewlyCreated(), is(true));
- assertThat(indexResult.getMinLength(), is(nullValue()));
- assertThat(indexResult.getType(), is(IndexType.zkd));
- assertThat(indexResult.getUnique(), is(false));
- assertThat(indexResult.getName(), is(name));
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getConstraint()).isNull();
+ assertThat(indexResult.getFields()).contains(f1);
+ assertThat(indexResult.getFields()).contains(f2);
+ assertThat(indexResult.getId()).startsWith(COLLECTION_NAME);
+ assertThat(indexResult.getIsNewlyCreated()).isTrue();
+ assertThat(indexResult.getMinLength()).isNull();
+ assertThat(indexResult.getType()).isEqualTo(IndexType.zkd);
+ assertThat(indexResult.getUnique()).isFalse();
+ assertThat(indexResult.getName()).isEqualTo(name);
collection.deleteIndex(indexResult.getId());
}
- @Test
- public void indexEstimates() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void indexEstimates(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 8));
assumeTrue(isSingleServer());
@@ -1477,13 +1564,14 @@ public void indexEstimates() {
final Collection fields = Arrays.asList(f1, f2);
final IndexEntity indexResult = collection.ensurePersistentIndex(fields, options);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getEstimates(), is(true));
- assertThat(indexResult.getSelectivityEstimate(), is(notNullValue()));
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getEstimates()).isTrue();
+ assertThat(indexResult.getSelectivityEstimate()).isNotNull();
}
- @Test
- public void indexEstimatesFalse() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void indexEstimatesFalse(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 8));
assumeTrue(isSingleServer());
@@ -1497,28 +1585,30 @@ public void indexEstimatesFalse() {
final Collection fields = Arrays.asList(f1, f2);
final IndexEntity indexResult = collection.ensurePersistentIndex(fields, options);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getEstimates(), is(false));
- assertThat(indexResult.getSelectivityEstimate(), is(nullValue()));
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getEstimates()).isFalse();
+ assertThat(indexResult.getSelectivityEstimate()).isNull();
}
- @Test
- public void createFulltextIndex() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void createFulltextIndex(ArangoCollection collection) {
String f1 = "field-" + rnd();
final Collection fields = Collections.singletonList(f1);
final IndexEntity indexResult = collection.ensureFulltextIndex(fields, null);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getConstraint(), is(nullValue()));
- assertThat(indexResult.getFields(), hasItem(f1));
- assertThat(indexResult.getId(), startsWith(COLLECTION_NAME));
- assertThat(indexResult.getIsNewlyCreated(), is(true));
- assertThat(indexResult.getSparse(), is(true));
- assertThat(indexResult.getType(), is(IndexType.fulltext));
- assertThat(indexResult.getUnique(), is(false));
- }
-
- @Test
- public void createFulltextIndexWithOptions() {
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getConstraint()).isNull();
+ assertThat(indexResult.getFields()).contains(f1);
+ assertThat(indexResult.getId()).startsWith(COLLECTION_NAME);
+ assertThat(indexResult.getIsNewlyCreated()).isTrue();
+ assertThat(indexResult.getSparse()).isTrue();
+ assertThat(indexResult.getType()).isEqualTo(IndexType.fulltext);
+ assertThat(indexResult.getUnique()).isFalse();
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void createFulltextIndexWithOptions(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 5));
String name = "fulltextIndex-" + rnd();
@@ -1528,34 +1618,35 @@ public void createFulltextIndexWithOptions() {
String f = "field-" + rnd();
final Collection fields = Collections.singletonList(f);
final IndexEntity indexResult = collection.ensureFulltextIndex(fields, options);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getConstraint(), is(nullValue()));
- assertThat(indexResult.getFields(), hasItem(f));
- assertThat(indexResult.getId(), startsWith(COLLECTION_NAME));
- assertThat(indexResult.getIsNewlyCreated(), is(true));
- assertThat(indexResult.getSparse(), is(true));
- assertThat(indexResult.getType(), is(IndexType.fulltext));
- assertThat(indexResult.getUnique(), is(false));
- assertThat(indexResult.getName(), is(name));
- }
-
- @Test
- public void createTtlIndexWithoutOptions() {
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getConstraint()).isNull();
+ assertThat(indexResult.getFields()).contains(f);
+ assertThat(indexResult.getId()).startsWith(COLLECTION_NAME);
+ assertThat(indexResult.getIsNewlyCreated()).isTrue();
+ assertThat(indexResult.getSparse()).isTrue();
+ assertThat(indexResult.getType()).isEqualTo(IndexType.fulltext);
+ assertThat(indexResult.getUnique()).isFalse();
+ assertThat(indexResult.getName()).isEqualTo(name);
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void createTtlIndexWithoutOptions(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 5));
final Collection fields = new ArrayList<>();
fields.add("a");
- try {
- collection.ensureTtlIndex(fields, null);
- fail();
- } catch (final ArangoDBException e) {
- assertThat(e.getResponseCode(), is(400));
- assertThat(e.getErrorNum(), is(10));
- assertThat(e.getMessage(), containsString("expireAfter attribute must be a number"));
- }
+
+ Throwable thrown = catchThrowable(() -> collection.ensureTtlIndex(fields, null));
+ assertThat(thrown).isInstanceOf(ArangoDBException.class);
+ ArangoDBException e = (ArangoDBException) thrown;
+ assertThat(e.getResponseCode()).isEqualTo(400);
+ assertThat(e.getErrorNum()).isEqualTo(10);
+ assertThat(e.getMessage()).contains("expireAfter attribute must be a number");
}
- @Test
- public void createTtlIndexWithOptions() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void createTtlIndexWithOptions(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 5));
String f1 = "field-" + rnd();
@@ -1567,20 +1658,21 @@ public void createTtlIndexWithOptions() {
options.expireAfter(3600);
final IndexEntity indexResult = collection.ensureTtlIndex(fields, options);
- assertThat(indexResult, is(notNullValue()));
- assertThat(indexResult.getFields(), hasItem(f1));
- assertThat(indexResult.getId(), startsWith(COLLECTION_NAME));
- assertThat(indexResult.getIsNewlyCreated(), is(true));
- assertThat(indexResult.getType(), is(IndexType.ttl));
- assertThat(indexResult.getExpireAfter(), is(3600));
- assertThat(indexResult.getName(), is(name));
+ assertThat(indexResult).isNotNull();
+ assertThat(indexResult.getFields()).contains(f1);
+ assertThat(indexResult.getId()).startsWith(COLLECTION_NAME);
+ assertThat(indexResult.getIsNewlyCreated()).isTrue();
+ assertThat(indexResult.getType()).isEqualTo(IndexType.ttl);
+ assertThat(indexResult.getExpireAfter()).isEqualTo(3600);
+ assertThat(indexResult.getName()).isEqualTo(name);
// revert changes
collection.deleteIndex(indexResult.getId());
}
- @Test
- public void getIndexes() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getIndexes(ArangoCollection collection) {
String f1 = "field-" + rnd();
final Collection fields = Collections.singletonList(f1);
collection.ensureHashIndex(fields, null);
@@ -1588,101 +1680,113 @@ public void getIndexes() {
.filter(i -> i.getType() == IndexType.hash)
.filter(i -> i.getFields().contains(f1))
.count();
- assertThat(matchingIndexes, is(1L));
+ assertThat(matchingIndexes).isEqualTo(1L);
}
- @Test
- public void getEdgeIndex() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("edges")
+ void getEdgeIndex(ArangoCollection edgeCollection) {
Collection indexes = edgeCollection.getIndexes();
long primaryIndexes = indexes.stream().filter(i -> i.getType() == IndexType.primary).count();
long edgeIndexes = indexes.stream().filter(i -> i.getType() == IndexType.primary).count();
- assertThat(primaryIndexes, is(1L));
- assertThat(edgeIndexes, is(1L));
+ assertThat(primaryIndexes).isEqualTo(1L);
+ assertThat(edgeIndexes).isEqualTo(1L);
}
- @Test
- public void exists() {
- assertThat(collection.exists(), is(true));
- assertThat(db.collection(COLLECTION_NAME + "no").exists(), is(false));
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void exists(ArangoCollection collection) {
+ assertThat(collection.exists()).isTrue();
+ assertThat(collection.db().collection(COLLECTION_NAME + "no").exists()).isFalse();
}
- @Test
- public void truncate() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void truncate(ArangoCollection collection) {
final BaseDocument doc = new BaseDocument();
collection.insertDocument(doc, null);
final BaseDocument readResult = collection
.getDocument(doc.getKey(), BaseDocument.class, null);
- assertThat(readResult.getKey(), is(doc.getKey()));
+ assertThat(readResult.getKey()).isEqualTo(doc.getKey());
final CollectionEntity truncateResult = collection.truncate();
- assertThat(truncateResult, is(notNullValue()));
- assertThat(truncateResult.getId(), is(notNullValue()));
+ assertThat(truncateResult).isNotNull();
+ assertThat(truncateResult.getId()).isNotNull();
final BaseDocument document = collection
.getDocument(doc.getKey(), BaseDocument.class, null);
- assertThat(document, is(nullValue()));
+ assertThat(document).isNull();
}
- @Test
- public void getCount() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void getCount(ArangoCollection collection) {
Long initialCount = collection.count().getCount();
collection.insertDocument("{}", null);
final CollectionPropertiesEntity count = collection.count();
- assertThat(count.getCount(), is(initialCount + 1L));
+ assertThat(count.getCount()).isEqualTo(initialCount + 1L);
}
- @Test
- public void documentExists() throws JsonProcessingException {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void documentExists(ArangoCollection collection) throws JsonProcessingException {
final Boolean existsNot = collection.documentExists(rnd(), null);
- assertThat(existsNot, is(false));
+ assertThat(existsNot).isFalse();
String key = rnd();
collection.insertDocument(mapper.writeValueAsString(Collections.singletonMap("_key", key)), null);
final Boolean exists = collection.documentExists(key, null);
- assertThat(exists, is(true));
+ assertThat(exists).isTrue();
}
- @Test(expected = ArangoDBException.class)
- public void documentExistsThrowExcpetion() {
- collection.documentExists("no", new DocumentExistsOptions().catchException(false));
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void documentExistsThrowExcpetion(ArangoCollection collection) {
+ Throwable thrown = catchThrowable(() -> collection.documentExists("no", new DocumentExistsOptions().catchException(false)));
+ assertThat(thrown).isInstanceOf(ArangoDBException.class);
}
- @Test
- public void documentExistsIfMatch() throws JsonProcessingException {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void documentExistsIfMatch(ArangoCollection collection) throws JsonProcessingException {
String key = rnd();
final DocumentCreateEntity createResult = collection.insertDocument(mapper.writeValueAsString(Collections.singletonMap("_key", key)), null);
final DocumentExistsOptions options = new DocumentExistsOptions().ifMatch(createResult.getRev());
final Boolean exists = collection.documentExists(key, options);
- assertThat(exists, is(true));
+ assertThat(exists).isTrue();
}
- @Test
- public void documentExistsIfMatchFail() throws JsonProcessingException {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void documentExistsIfMatchFail(ArangoCollection collection) throws JsonProcessingException {
String key = rnd();
collection.insertDocument(mapper.writeValueAsString(Collections.singletonMap("_key", key)), null);
final DocumentExistsOptions options = new DocumentExistsOptions().ifMatch("no");
final Boolean exists = collection.documentExists(key, options);
- assertThat(exists, is(false));
+ assertThat(exists).isFalse();
}
- @Test
- public void documentExistsIfNoneMatch() throws JsonProcessingException {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void documentExistsIfNoneMatch(ArangoCollection collection) throws JsonProcessingException {
String key = rnd();
collection.insertDocument(mapper.writeValueAsString(Collections.singletonMap("_key", key)), null);
final DocumentExistsOptions options = new DocumentExistsOptions().ifNoneMatch("no");
final Boolean exists = collection.documentExists(key, options);
- assertThat(exists, is(true));
+ assertThat(exists).isTrue();
}
- @Test
- public void documentExistsIfNoneMatchFail() throws JsonProcessingException {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void documentExistsIfNoneMatchFail(ArangoCollection collection) throws JsonProcessingException {
String key = rnd();
final DocumentCreateEntity createResult = collection.insertDocument(mapper.writeValueAsString(Collections.singletonMap("_key", key)), null);
final DocumentExistsOptions options = new DocumentExistsOptions().ifNoneMatch(createResult.getRev());
final Boolean exists = collection.documentExists(key, options);
- assertThat(exists, is(false));
+ assertThat(exists).isFalse();
}
- @Test
- public void insertDocuments() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocuments(ArangoCollection collection) {
final Collection values = Arrays.asList(
new BaseDocument(),
new BaseDocument(),
@@ -1691,15 +1795,16 @@ public void insertDocuments() {
final MultiDocumentEntity> docs = collection
.insertDocuments(values, null);
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getDocuments(), is(notNullValue()));
- assertThat(docs.getDocuments().size(), is(3));
- assertThat(docs.getErrors(), is(notNullValue()));
- assertThat(docs.getErrors().size(), is(0));
+ assertThat(docs).isNotNull();
+ assertThat(docs.getDocuments()).isNotNull();
+ assertThat(docs.getDocuments()).hasSize(3);
+ assertThat(docs.getErrors()).isNotNull();
+ assertThat(docs.getErrors()).isEmpty();
}
- @Test
- public void insertDocumentsOverwrite() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentsOverwrite(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 4));
final BaseDocument doc1 = new BaseDocument();
@@ -1716,19 +1821,20 @@ public void insertDocumentsOverwrite() {
final MultiDocumentEntity> repsert = collection
.insertDocuments(Arrays.asList(doc1, doc2),
new DocumentCreateOptions().overwrite(true).returnOld(true).returnNew(true));
- assertThat(repsert, is(notNullValue()));
- assertThat(repsert.getDocuments().size(), is(2));
- assertThat(repsert.getErrors().size(), is(0));
+ assertThat(repsert).isNotNull();
+ assertThat(repsert.getDocuments()).hasSize(2);
+ assertThat(repsert.getErrors()).isEmpty();
for (final DocumentCreateEntity documentCreateEntity : repsert.getDocuments()) {
- assertThat(documentCreateEntity.getRev(), is(not(meta1.getRev())));
- assertThat(documentCreateEntity.getRev(), is(not(meta2.getRev())));
- assertThat(documentCreateEntity.getOld().getAttribute("value").toString(), is("a"));
- assertThat(documentCreateEntity.getNew().getAttribute("value").toString(), is("b"));
+ assertThat(documentCreateEntity.getRev()).isNotEqualTo(meta1.getRev());
+ assertThat(documentCreateEntity.getRev()).isNotEqualTo(meta2.getRev());
+ assertThat(documentCreateEntity.getOld().getAttribute("value")).isEqualTo("a");
+ assertThat(documentCreateEntity.getNew().getAttribute("value")).isEqualTo("b");
}
}
- @Test
- public void insertDocumentsOverwriteModeUpdate() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentsOverwriteModeUpdate(ArangoCollection collection) {
assumeTrue(isAtLeastVersion(3, 7));
final BaseDocument doc1 = new BaseDocument();
@@ -1745,59 +1851,63 @@ public void insertDocumentsOverwriteModeUpdate() {
final MultiDocumentEntity> repsert = collection
.insertDocuments(Arrays.asList(doc1, doc2),
new DocumentCreateOptions().overwriteMode(OverwriteMode.update).returnNew(true));
- assertThat(repsert, is(notNullValue()));
- assertThat(repsert.getDocuments().size(), is(2));
- assertThat(repsert.getErrors().size(), is(0));
+ assertThat(repsert).isNotNull();
+ assertThat(repsert.getDocuments()).hasSize(2);
+ assertThat(repsert.getErrors()).isEmpty();
for (final DocumentCreateEntity documentCreateEntity : repsert.getDocuments()) {
- assertThat(documentCreateEntity.getRev(), is(not(meta1.getRev())));
- assertThat(documentCreateEntity.getRev(), is(not(meta2.getRev())));
- assertThat(documentCreateEntity.getNew().getAttribute("foo").toString(), is("a"));
- assertThat(documentCreateEntity.getNew().getAttribute("bar").toString(), is("b"));
+ assertThat(documentCreateEntity.getRev()).isNotEqualTo(meta1.getRev());
+ assertThat(documentCreateEntity.getRev()).isNotEqualTo(meta2.getRev());
+ assertThat(documentCreateEntity.getNew().getAttribute("foo")).isEqualTo("a");
+ assertThat(documentCreateEntity.getNew().getAttribute("bar")).isEqualTo("b");
}
}
- @Test
- public void insertDocumentsJson() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentsJson(ArangoCollection collection) {
final Collection values = new ArrayList<>();
values.add("{}");
values.add("{}");
values.add("{}");
final MultiDocumentEntity> docs = collection
.insertDocuments(values);
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getDocuments(), is(notNullValue()));
- assertThat(docs.getDocuments().size(), is(3));
- assertThat(docs.getErrors(), is(notNullValue()));
- assertThat(docs.getErrors().size(), is(0));
+ assertThat(docs).isNotNull();
+ assertThat(docs.getDocuments()).isNotNull();
+ assertThat(docs.getDocuments()).hasSize(3);
+ assertThat(docs.getErrors()).isNotNull();
+ assertThat(docs.getErrors()).isEmpty();
}
- @Test
- public void insertDocumentsOne() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentsOne(ArangoCollection collection) {
final Collection values = new ArrayList<>();
values.add(new BaseDocument());
final MultiDocumentEntity> docs = collection
.insertDocuments(values, null);
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getDocuments(), is(notNullValue()));
- assertThat(docs.getDocuments().size(), is(1));
- assertThat(docs.getErrors(), is(notNullValue()));
- assertThat(docs.getErrors().size(), is(0));
+ assertThat(docs).isNotNull();
+ assertThat(docs.getDocuments()).isNotNull();
+ assertThat(docs.getDocuments()).hasSize(1);
+ assertThat(docs.getErrors()).isNotNull();
+ assertThat(docs.getErrors()).isEmpty();
}
- @Test
- public void insertDocumentsEmpty() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentsEmpty(ArangoCollection collection) {
final Collection values = new ArrayList<>();
final MultiDocumentEntity> docs = collection
.insertDocuments(values, null);
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getDocuments(), is(notNullValue()));
- assertThat(docs.getDocuments().size(), is(0));
- assertThat(docs.getErrors(), is(notNullValue()));
- assertThat(docs.getErrors().size(), is(0));
+ assertThat(docs).isNotNull();
+ assertThat(docs.getDocuments()).isNotNull();
+ assertThat(docs.getDocuments()).isEmpty();
+ assertThat(docs.getErrors()).isNotNull();
+ assertThat(docs.getErrors()).isEmpty();
}
- @Test
- public void insertDocumentsReturnNew() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentsReturnNew(ArangoCollection collection) {
final Collection values = new ArrayList<>();
values.add(new BaseDocument());
values.add(new BaseDocument());
@@ -1805,21 +1915,22 @@ public void insertDocumentsReturnNew() {
final DocumentCreateOptions options = new DocumentCreateOptions().returnNew(true);
final MultiDocumentEntity> docs = collection
.insertDocuments(values, options);
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getDocuments(), is(notNullValue()));
- assertThat(docs.getDocuments().size(), is(3));
- assertThat(docs.getErrors(), is(notNullValue()));
- assertThat(docs.getErrors().size(), is(0));
+ assertThat(docs).isNotNull();
+ assertThat(docs.getDocuments()).isNotNull();
+ assertThat(docs.getDocuments()).hasSize(3);
+ assertThat(docs.getErrors()).isNotNull();
+ assertThat(docs.getErrors()).isEmpty();
for (final DocumentCreateEntity doc : docs.getDocuments()) {
- assertThat(doc.getNew(), is(notNullValue()));
+ assertThat(doc.getNew()).isNotNull();
final BaseDocument baseDocument = doc.getNew();
- assertThat(baseDocument.getKey(), is(notNullValue()));
+ assertThat(baseDocument.getKey()).isNotNull();
}
}
- @Test
- public void insertDocumentsFail() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void insertDocumentsFail(ArangoCollection collection) {
String k1 = rnd();
String k2 = rnd();
final Collection values = Arrays.asList(
@@ -1830,16 +1941,17 @@ public void insertDocumentsFail() {
final MultiDocumentEntity> docs = collection
.insertDocuments(values);
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getDocuments(), is(notNullValue()));
- assertThat(docs.getDocuments().size(), is(2));
- assertThat(docs.getErrors(), is(notNullValue()));
- assertThat(docs.getErrors().size(), is(1));
- assertThat(docs.getErrors().iterator().next().getErrorNum(), is(1210));
+ assertThat(docs).isNotNull();
+ assertThat(docs.getDocuments()).isNotNull();
+ assertThat(docs.getDocuments()).hasSize(2);
+ assertThat(docs.getErrors()).isNotNull();
+ assertThat(docs.getErrors()).hasSize(1);
+ assertThat(docs.getErrors().iterator().next().getErrorNum()).isEqualTo(1210);
}
- @Test
- public void importDocuments() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocuments(ArangoCollection collection) {
final Collection values = Arrays.asList(
new BaseDocument(),
new BaseDocument(),
@@ -1847,17 +1959,18 @@ public void importDocuments() {
);
final DocumentImportEntity docs = collection.importDocuments(values);
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getCreated(), is(values.size()));
- assertThat(docs.getEmpty(), is(0));
- assertThat(docs.getErrors(), is(0));
- assertThat(docs.getIgnored(), is(0));
- assertThat(docs.getUpdated(), is(0));
- assertThat(docs.getDetails(), is(empty()));
- }
-
- @Test
- public void importDocumentsJsonList() {
+ assertThat(docs).isNotNull();
+ assertThat(docs.getCreated()).isEqualTo(values.size());
+ assertThat(docs.getEmpty()).isZero();
+ assertThat(docs.getErrors()).isZero();
+ assertThat(docs.getIgnored()).isZero();
+ assertThat(docs.getUpdated()).isZero();
+ assertThat(docs.getDetails()).isEmpty();
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsJsonList(ArangoCollection collection) {
final Collection values = Arrays.asList(
"{}",
"{}",
@@ -1865,17 +1978,18 @@ public void importDocumentsJsonList() {
);
final DocumentImportEntity docs = collection.importDocuments(values);
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getCreated(), is(values.size()));
- assertThat(docs.getEmpty(), is(0));
- assertThat(docs.getErrors(), is(0));
- assertThat(docs.getIgnored(), is(0));
- assertThat(docs.getUpdated(), is(0));
- assertThat(docs.getDetails(), is(empty()));
- }
-
- @Test
- public void importDocumentsDuplicateDefaultError() {
+ assertThat(docs).isNotNull();
+ assertThat(docs.getCreated()).isEqualTo(values.size());
+ assertThat(docs.getEmpty()).isZero();
+ assertThat(docs.getErrors()).isZero();
+ assertThat(docs.getIgnored()).isZero();
+ assertThat(docs.getUpdated()).isZero();
+ assertThat(docs.getDetails()).isEmpty();
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsDuplicateDefaultError(ArangoCollection collection) {
String k1 = rnd();
String k2 = rnd();
@@ -1886,17 +2000,18 @@ public void importDocumentsDuplicateDefaultError() {
);
final DocumentImportEntity docs = collection.importDocuments(values);
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getCreated(), is(2));
- assertThat(docs.getEmpty(), is(0));
- assertThat(docs.getErrors(), is(1));
- assertThat(docs.getIgnored(), is(0));
- assertThat(docs.getUpdated(), is(0));
- assertThat(docs.getDetails(), is(empty()));
- }
-
- @Test
- public void importDocumentsDuplicateError() {
+ assertThat(docs).isNotNull();
+ assertThat(docs.getCreated()).isEqualTo(2);
+ assertThat(docs.getEmpty()).isZero();
+ assertThat(docs.getErrors()).isEqualTo(1);
+ assertThat(docs.getIgnored()).isZero();
+ assertThat(docs.getUpdated()).isZero();
+ assertThat(docs.getDetails()).isEmpty();
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsDuplicateError(ArangoCollection collection) {
String k1 = rnd();
String k2 = rnd();
@@ -1908,17 +2023,18 @@ public void importDocumentsDuplicateError() {
final DocumentImportEntity docs = collection
.importDocuments(values, new DocumentImportOptions().onDuplicate(OnDuplicate.error));
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getCreated(), is(2));
- assertThat(docs.getEmpty(), is(0));
- assertThat(docs.getErrors(), is(1));
- assertThat(docs.getIgnored(), is(0));
- assertThat(docs.getUpdated(), is(0));
- assertThat(docs.getDetails(), is(empty()));
- }
-
- @Test
- public void importDocumentsDuplicateIgnore() {
+ assertThat(docs).isNotNull();
+ assertThat(docs.getCreated()).isEqualTo(2);
+ assertThat(docs.getEmpty()).isZero();
+ assertThat(docs.getErrors()).isEqualTo(1);
+ assertThat(docs.getIgnored()).isZero();
+ assertThat(docs.getUpdated()).isZero();
+ assertThat(docs.getDetails()).isEmpty();
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsDuplicateIgnore(ArangoCollection collection) {
String k1 = rnd();
String k2 = rnd();
@@ -1930,17 +2046,18 @@ public void importDocumentsDuplicateIgnore() {
final DocumentImportEntity docs = collection
.importDocuments(values, new DocumentImportOptions().onDuplicate(OnDuplicate.ignore));
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getCreated(), is(2));
- assertThat(docs.getEmpty(), is(0));
- assertThat(docs.getErrors(), is(0));
- assertThat(docs.getIgnored(), is(1));
- assertThat(docs.getUpdated(), is(0));
- assertThat(docs.getDetails(), is(empty()));
- }
-
- @Test
- public void importDocumentsDuplicateReplace() {
+ assertThat(docs).isNotNull();
+ assertThat(docs.getCreated()).isEqualTo(2);
+ assertThat(docs.getEmpty()).isZero();
+ assertThat(docs.getErrors()).isZero();
+ assertThat(docs.getIgnored()).isEqualTo(1);
+ assertThat(docs.getUpdated()).isZero();
+ assertThat(docs.getDetails()).isEmpty();
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsDuplicateReplace(ArangoCollection collection) {
String k1 = rnd();
String k2 = rnd();
@@ -1952,17 +2069,18 @@ public void importDocumentsDuplicateReplace() {
final DocumentImportEntity docs = collection
.importDocuments(values, new DocumentImportOptions().onDuplicate(OnDuplicate.replace));
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getCreated(), is(2));
- assertThat(docs.getEmpty(), is(0));
- assertThat(docs.getErrors(), is(0));
- assertThat(docs.getIgnored(), is(0));
- assertThat(docs.getUpdated(), is(1));
- assertThat(docs.getDetails(), is(empty()));
- }
-
- @Test
- public void importDocumentsDuplicateUpdate() {
+ assertThat(docs).isNotNull();
+ assertThat(docs.getCreated()).isEqualTo(2);
+ assertThat(docs.getEmpty()).isZero();
+ assertThat(docs.getErrors()).isZero();
+ assertThat(docs.getIgnored()).isZero();
+ assertThat(docs.getUpdated()).isEqualTo(1);
+ assertThat(docs.getDetails()).isEmpty();
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsDuplicateUpdate(ArangoCollection collection) {
String k1 = rnd();
String k2 = rnd();
@@ -1974,17 +2092,18 @@ public void importDocumentsDuplicateUpdate() {
final DocumentImportEntity docs = collection
.importDocuments(values, new DocumentImportOptions().onDuplicate(OnDuplicate.update));
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getCreated(), is(2));
- assertThat(docs.getEmpty(), is(0));
- assertThat(docs.getErrors(), is(0));
- assertThat(docs.getIgnored(), is(0));
- assertThat(docs.getUpdated(), is(1));
- assertThat(docs.getDetails(), is(empty()));
- }
-
- @Test
- public void importDocumentsCompleteFail() {
+ assertThat(docs).isNotNull();
+ assertThat(docs.getCreated()).isEqualTo(2);
+ assertThat(docs.getEmpty()).isZero();
+ assertThat(docs.getErrors()).isZero();
+ assertThat(docs.getIgnored()).isZero();
+ assertThat(docs.getUpdated()).isEqualTo(1);
+ assertThat(docs.getDetails()).isEmpty();
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsCompleteFail(ArangoCollection collection) {
String k1 = rnd();
String k2 = rnd();
@@ -1994,16 +2113,15 @@ public void importDocumentsCompleteFail() {
new BaseDocument(k2)
);
- try {
- collection.importDocuments(values, new DocumentImportOptions().complete(true));
- fail();
- } catch (final ArangoDBException e) {
- assertThat(e.getErrorNum(), is(1210));
- }
+ Throwable thrown = catchThrowable(() -> collection.importDocuments(values, new DocumentImportOptions().complete(true)));
+ assertThat(thrown).isInstanceOf(ArangoDBException.class);
+ ArangoDBException e = (ArangoDBException) thrown;
+ assertThat(e.getErrorNum()).isEqualTo(1210);
}
- @Test
- public void importDocumentsDetails() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsDetails(ArangoCollection collection) {
String k1 = rnd();
String k2 = rnd();
@@ -2015,18 +2133,19 @@ public void importDocumentsDetails() {
final DocumentImportEntity docs = collection
.importDocuments(values, new DocumentImportOptions().details(true));
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getCreated(), is(2));
- assertThat(docs.getEmpty(), is(0));
- assertThat(docs.getErrors(), is(1));
- assertThat(docs.getIgnored(), is(0));
- assertThat(docs.getUpdated(), is(0));
- assertThat(docs.getDetails().size(), is(1));
- assertThat(docs.getDetails().iterator().next(), containsString("unique constraint violated"));
- }
-
- @Test
- public void importDocumentsOverwriteFalse() {
+ assertThat(docs).isNotNull();
+ assertThat(docs.getCreated()).isEqualTo(2);
+ assertThat(docs.getEmpty()).isZero();
+ assertThat(docs.getErrors()).isEqualTo(1);
+ assertThat(docs.getIgnored()).isZero();
+ assertThat(docs.getUpdated()).isZero();
+ assertThat(docs.getDetails()).hasSize(1);
+ assertThat(docs.getDetails().iterator().next()).contains("unique constraint violated");
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsOverwriteFalse(ArangoCollection collection) {
collection.insertDocument(new BaseDocument());
Long initialCount = collection.count().getCount();
@@ -2034,22 +2153,24 @@ public void importDocumentsOverwriteFalse() {
values.add(new BaseDocument());
values.add(new BaseDocument());
collection.importDocuments(values, new DocumentImportOptions().overwrite(false));
- assertThat(collection.count().getCount(), is(initialCount + 2L));
+ assertThat(collection.count().getCount()).isEqualTo(initialCount + 2L);
}
- @Test
- public void importDocumentsOverwriteTrue() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsOverwriteTrue(ArangoCollection collection) {
collection.insertDocument(new BaseDocument());
final Collection values = new ArrayList<>();
values.add(new BaseDocument());
values.add(new BaseDocument());
collection.importDocuments(values, new DocumentImportOptions().overwrite(true));
- assertThat(collection.count().getCount(), is(2L));
+ assertThat(collection.count().getCount()).isEqualTo(2L);
}
- @Test
- public void importDocumentsFromToPrefix() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("edges")
+ void importDocumentsFromToPrefix(ArangoCollection edgeCollection) {
final Collection values = new ArrayList<>();
final String[] keys = {
rnd(),
@@ -2058,39 +2179,41 @@ public void importDocumentsFromToPrefix() {
for (String s : keys) {
values.add(new BaseEdgeDocument(s, "from", "to"));
}
- assertThat(values.size(), is(keys.length));
+ assertThat(values).hasSize(keys.length);
final DocumentImportEntity importResult = edgeCollection
.importDocuments(values, new DocumentImportOptions().fromPrefix("foo").toPrefix("bar"));
- assertThat(importResult, is(notNullValue()));
- assertThat(importResult.getCreated(), is(values.size()));
+ assertThat(importResult).isNotNull();
+ assertThat(importResult.getCreated()).isEqualTo(values.size());
for (String key : keys) {
final BaseEdgeDocument doc = edgeCollection.getDocument(key, BaseEdgeDocument.class);
- assertThat(doc, is(notNullValue()));
- assertThat(doc.getFrom(), is("foo/from"));
- assertThat(doc.getTo(), is("bar/to"));
+ assertThat(doc).isNotNull();
+ assertThat(doc.getFrom()).isEqualTo("foo/from");
+ assertThat(doc.getTo()).isEqualTo("bar/to");
}
}
- @Test
- public void importDocumentsJson() throws JsonProcessingException {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsJson(ArangoCollection collection) throws JsonProcessingException {
final String values = mapper.writeValueAsString(Arrays.asList(
Collections.singletonMap("_key", rnd()),
Collections.singletonMap("_key", rnd())
));
final DocumentImportEntity docs = collection.importDocuments(values);
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getCreated(), is(2));
- assertThat(docs.getEmpty(), is(0));
- assertThat(docs.getErrors(), is(0));
- assertThat(docs.getIgnored(), is(0));
- assertThat(docs.getUpdated(), is(0));
- assertThat(docs.getDetails(), is(empty()));
- }
-
- @Test
- public void importDocumentsJsonDuplicateDefaultError() throws JsonProcessingException {
+ assertThat(docs).isNotNull();
+ assertThat(docs.getCreated()).isEqualTo(2);
+ assertThat(docs.getEmpty()).isZero();
+ assertThat(docs.getErrors()).isZero();
+ assertThat(docs.getIgnored()).isZero();
+ assertThat(docs.getUpdated()).isZero();
+ assertThat(docs.getDetails()).isEmpty();
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsJsonDuplicateDefaultError(ArangoCollection collection) throws JsonProcessingException {
String k1 = rnd();
String k2 = rnd();
@@ -2101,17 +2224,18 @@ public void importDocumentsJsonDuplicateDefaultError() throws JsonProcessingExce
));
final DocumentImportEntity docs = collection.importDocuments(values);
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getCreated(), is(2));
- assertThat(docs.getEmpty(), is(0));
- assertThat(docs.getErrors(), is(1));
- assertThat(docs.getIgnored(), is(0));
- assertThat(docs.getUpdated(), is(0));
- assertThat(docs.getDetails(), is(empty()));
- }
-
- @Test
- public void importDocumentsJsonDuplicateError() throws JsonProcessingException {
+ assertThat(docs).isNotNull();
+ assertThat(docs.getCreated()).isEqualTo(2);
+ assertThat(docs.getEmpty()).isZero();
+ assertThat(docs.getErrors()).isEqualTo(1);
+ assertThat(docs.getIgnored()).isZero();
+ assertThat(docs.getUpdated()).isZero();
+ assertThat(docs.getDetails()).isEmpty();
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsJsonDuplicateError(ArangoCollection collection) throws JsonProcessingException {
String k1 = rnd();
String k2 = rnd();
@@ -2123,17 +2247,18 @@ public void importDocumentsJsonDuplicateError() throws JsonProcessingException {
final DocumentImportEntity docs = collection
.importDocuments(values, new DocumentImportOptions().onDuplicate(OnDuplicate.error));
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getCreated(), is(2));
- assertThat(docs.getEmpty(), is(0));
- assertThat(docs.getErrors(), is(1));
- assertThat(docs.getIgnored(), is(0));
- assertThat(docs.getUpdated(), is(0));
- assertThat(docs.getDetails(), is(empty()));
- }
-
- @Test
- public void importDocumentsJsonDuplicateIgnore() throws JsonProcessingException {
+ assertThat(docs).isNotNull();
+ assertThat(docs.getCreated()).isEqualTo(2);
+ assertThat(docs.getEmpty()).isZero();
+ assertThat(docs.getErrors()).isEqualTo(1);
+ assertThat(docs.getIgnored()).isZero();
+ assertThat(docs.getUpdated()).isZero();
+ assertThat(docs.getDetails()).isEmpty();
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsJsonDuplicateIgnore(ArangoCollection collection) throws JsonProcessingException {
String k1 = rnd();
String k2 = rnd();
@@ -2144,17 +2269,18 @@ public void importDocumentsJsonDuplicateIgnore() throws JsonProcessingException
));
final DocumentImportEntity docs = collection
.importDocuments(values, new DocumentImportOptions().onDuplicate(OnDuplicate.ignore));
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getCreated(), is(2));
- assertThat(docs.getEmpty(), is(0));
- assertThat(docs.getErrors(), is(0));
- assertThat(docs.getIgnored(), is(1));
- assertThat(docs.getUpdated(), is(0));
- assertThat(docs.getDetails(), is(empty()));
- }
-
- @Test
- public void importDocumentsJsonDuplicateReplace() throws JsonProcessingException {
+ assertThat(docs).isNotNull();
+ assertThat(docs.getCreated()).isEqualTo(2);
+ assertThat(docs.getEmpty()).isZero();
+ assertThat(docs.getErrors()).isZero();
+ assertThat(docs.getIgnored()).isEqualTo(1);
+ assertThat(docs.getUpdated()).isZero();
+ assertThat(docs.getDetails()).isEmpty();
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsJsonDuplicateReplace(ArangoCollection collection) throws JsonProcessingException {
String k1 = rnd();
String k2 = rnd();
@@ -2166,17 +2292,18 @@ public void importDocumentsJsonDuplicateReplace() throws JsonProcessingException
final DocumentImportEntity docs = collection
.importDocuments(values, new DocumentImportOptions().onDuplicate(OnDuplicate.replace));
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getCreated(), is(2));
- assertThat(docs.getEmpty(), is(0));
- assertThat(docs.getErrors(), is(0));
- assertThat(docs.getIgnored(), is(0));
- assertThat(docs.getUpdated(), is(1));
- assertThat(docs.getDetails(), is(empty()));
- }
-
- @Test
- public void importDocumentsJsonDuplicateUpdate() throws JsonProcessingException {
+ assertThat(docs).isNotNull();
+ assertThat(docs.getCreated()).isEqualTo(2);
+ assertThat(docs.getEmpty()).isZero();
+ assertThat(docs.getErrors()).isZero();
+ assertThat(docs.getIgnored()).isZero();
+ assertThat(docs.getUpdated()).isEqualTo(1);
+ assertThat(docs.getDetails()).isEmpty();
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsJsonDuplicateUpdate(ArangoCollection collection) throws JsonProcessingException {
String k1 = rnd();
String k2 = rnd();
@@ -2188,28 +2315,28 @@ public void importDocumentsJsonDuplicateUpdate() throws JsonProcessingException
final DocumentImportEntity docs = collection
.importDocuments(values, new DocumentImportOptions().onDuplicate(OnDuplicate.update));
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getCreated(), is(2));
- assertThat(docs.getEmpty(), is(0));
- assertThat(docs.getErrors(), is(0));
- assertThat(docs.getIgnored(), is(0));
- assertThat(docs.getUpdated(), is(1));
- assertThat(docs.getDetails(), is(empty()));
- }
-
- @Test
- public void importDocumentsJsonCompleteFail() {
+ assertThat(docs).isNotNull();
+ assertThat(docs.getCreated()).isEqualTo(2);
+ assertThat(docs.getEmpty()).isZero();
+ assertThat(docs.getErrors()).isZero();
+ assertThat(docs.getIgnored()).isZero();
+ assertThat(docs.getUpdated()).isEqualTo(1);
+ assertThat(docs.getDetails()).isEmpty();
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsJsonCompleteFail(ArangoCollection collection) {
final String values = "[{\"_key\":\"1\"},{\"_key\":\"2\"},{\"_key\":\"2\"}]";
- try {
- collection.importDocuments(values, new DocumentImportOptions().complete(true));
- fail();
- } catch (final ArangoDBException e) {
- assertThat(e.getErrorNum(), is(1210));
- }
+ Throwable thrown = catchThrowable(() -> collection.importDocuments(values, new DocumentImportOptions().complete(true)));
+ assertThat(thrown).isInstanceOf(ArangoDBException.class);
+ ArangoDBException e = (ArangoDBException) thrown;
+ assertThat(e.getErrorNum()).isEqualTo(1210);
}
- @Test
- public void importDocumentsJsonDetails() throws JsonProcessingException {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsJsonDetails(ArangoCollection collection) throws JsonProcessingException {
String k1 = rnd();
String k2 = rnd();
@@ -2221,18 +2348,19 @@ public void importDocumentsJsonDetails() throws JsonProcessingException {
final DocumentImportEntity docs = collection
.importDocuments(values, new DocumentImportOptions().details(true));
- assertThat(docs, is(notNullValue()));
- assertThat(docs.getCreated(), is(2));
- assertThat(docs.getEmpty(), is(0));
- assertThat(docs.getErrors(), is(1));
- assertThat(docs.getIgnored(), is(0));
- assertThat(docs.getUpdated(), is(0));
- assertThat(docs.getDetails().size(), is(1));
- assertThat(docs.getDetails().iterator().next(), containsString("unique constraint violated"));
- }
-
- @Test
- public void importDocumentsJsonOverwriteFalse() throws JsonProcessingException {
+ assertThat(docs).isNotNull();
+ assertThat(docs.getCreated()).isEqualTo(2);
+ assertThat(docs.getEmpty()).isZero();
+ assertThat(docs.getErrors()).isEqualTo(1);
+ assertThat(docs.getIgnored()).isZero();
+ assertThat(docs.getUpdated()).isZero();
+ assertThat(docs.getDetails()).hasSize(1);
+ assertThat(docs.getDetails().iterator().next()).contains("unique constraint violated");
+ }
+
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsJsonOverwriteFalse(ArangoCollection collection) throws JsonProcessingException {
collection.insertDocument(new BaseDocument());
Long initialCount = collection.count().getCount();
@@ -2241,11 +2369,12 @@ public void importDocumentsJsonOverwriteFalse() throws JsonProcessingException {
Collections.singletonMap("_key", rnd())
));
collection.importDocuments(values, new DocumentImportOptions().overwrite(false));
- assertThat(collection.count().getCount(), is(initialCount + 2L));
+ assertThat(collection.count().getCount()).isEqualTo(initialCount + 2L);
}
- @Test
- public void importDocumentsJsonOverwriteTrue() throws JsonProcessingException {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void importDocumentsJsonOverwriteTrue(ArangoCollection collection) throws JsonProcessingException {
collection.insertDocument(new BaseDocument());
final String values = mapper.writeValueAsString(Arrays.asList(
@@ -2253,11 +2382,12 @@ public void importDocumentsJsonOverwriteTrue() throws JsonProcessingException {
Collections.singletonMap("_key", rnd())
));
collection.importDocuments(values, new DocumentImportOptions().overwrite(true));
- assertThat(collection.count().getCount(), is(2L));
+ assertThat(collection.count().getCount()).isEqualTo(2L);
}
- @Test
- public void importDocumentsJsonFromToPrefix() throws JsonProcessingException {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("edges")
+ void importDocumentsJsonFromToPrefix(ArangoCollection edgeCollection) throws JsonProcessingException {
String k1 = UUID.randomUUID().toString();
String k2 = UUID.randomUUID().toString();
@@ -2278,18 +2408,19 @@ public void importDocumentsJsonFromToPrefix() throws JsonProcessingException {
final DocumentImportEntity importResult = edgeCollection
.importDocuments(values, new DocumentImportOptions().fromPrefix("foo").toPrefix("bar"));
- assertThat(importResult, is(notNullValue()));
- assertThat(importResult.getCreated(), is(2));
+ assertThat(importResult).isNotNull();
+ assertThat(importResult.getCreated()).isEqualTo(2);
for (String key : keys) {
final BaseEdgeDocument doc = edgeCollection.getDocument(key, BaseEdgeDocument.class);
- assertThat(doc, is(notNullValue()));
- assertThat(doc.getFrom(), is("foo/from"));
- assertThat(doc.getTo(), is("bar/to"));
+ assertThat(doc).isNotNull();
+ assertThat(doc.getFrom()).isEqualTo("foo/from");
+ assertThat(doc.getTo()).isEqualTo("bar/to");
}
}
- @Test
- public void deleteDocumentsByKey() {
+ @ParameterizedTest(name = "{index}")
+ @MethodSource("cols")
+ void deleteDocumentsByKey(ArangoCollection collection) {
final Collection values = new ArrayList<>();
{
final BaseDocument e = new BaseDocument();
@@ -2307,16 +2438,17 @@ public void deleteDocumentsByKey() {
keys.add("2");
final MultiDocumentEntity> deleteResult = collection
.deleteDocuments(keys, null, null);
- assertThat(deleteResult, is(notNullValue()));
- assertThat(deleteResult.getDocuments().size(), is(2));
+ assertThat(deleteResult).isNotNull();
+ assertThat(deleteResult.getDocuments()).hasSize(2);
for (final DocumentDeleteEntity