Skip to content

Commit 583568a

Browse files
author
michele
committed
insertEdgeViolatingUniqueConstraint test
1 parent ae671ea commit 583568a

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/test/java/com/arangodb/ArangoEdgeCollectionTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import static org.junit.Assert.fail;
3030

3131
import java.util.ArrayList;
32+
import java.util.Arrays;
3233
import java.util.Collection;
3334

3435
import com.arangodb.model.*;
@@ -128,6 +129,30 @@ public void insertEdgeUpdateRev() {
128129
assertThat(value.getRevision(), is(edge.getRev()));
129130
}
130131

132+
@Test
133+
public void insertEdgeViolatingUniqueConstraint() {
134+
db.collection(EDGE_COLLECTION_NAME)
135+
.ensureSkiplistIndex(Arrays.asList("_from", "_to"), new SkiplistIndexOptions().unique(true));
136+
137+
final VertexEntity v1 = db.graph(GRAPH_NAME).vertexCollection(VERTEX_COLLECTION_NAME)
138+
.insertVertex(new BaseDocument("v1"), null);
139+
final VertexEntity v2 = db.graph(GRAPH_NAME).vertexCollection(VERTEX_COLLECTION_NAME)
140+
.insertVertex(new BaseDocument("v2"), null);
141+
142+
BaseEdgeDocument edge = new BaseEdgeDocument();
143+
edge.setFrom(v1.getId());
144+
edge.setTo(v2.getId());
145+
146+
db.graph(GRAPH_NAME).edgeCollection(EDGE_COLLECTION_NAME).insertEdge(edge, null);
147+
148+
try {
149+
db.graph(GRAPH_NAME).edgeCollection(EDGE_COLLECTION_NAME).insertEdge(edge, null);
150+
} catch (ArangoDBException e) {
151+
assertThat(e.getResponseCode(), is(409));
152+
assertThat(e.getErrorNum(), is(1210));
153+
}
154+
}
155+
131156
@Test
132157
public void getEdge() {
133158
final BaseEdgeDocument value = createEdgeValue();

0 commit comments

Comments
 (0)