Skip to content

Commit 7ecd505

Browse files
author
michele
committed
test updateDocumentPreconditionFailed
1 parent 15b9b60 commit 7ecd505

File tree

1 file changed

+37
-6
lines changed

1 file changed

+37
-6
lines changed

src/test/java/com/arangodb/ArangoCollectionTest.java

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,7 @@
3535
import static org.junit.Assert.assertThat;
3636
import static org.junit.Assert.fail;
3737

38-
import java.util.ArrayList;
39-
import java.util.Arrays;
40-
import java.util.Collection;
41-
import java.util.Collections;
42-
import java.util.HashMap;
43-
import java.util.Map;
38+
import java.util.*;
4439

4540
import com.arangodb.entity.*;
4641
import com.arangodb.model.*;
@@ -702,6 +697,42 @@ public void updateDocumentsSilent() {
702697
assertThat(info.getErrors().isEmpty(), is(true));
703698
}
704699

700+
@Test
701+
public void updateNonExistingDocument() {
702+
final BaseDocument doc = new BaseDocument("test-" + UUID.randomUUID().toString());
703+
doc.addAttribute("a", "test");
704+
doc.addAttribute("c", "test");
705+
706+
try {
707+
db.collection(COLLECTION_NAME).updateDocument(doc.getKey(), doc, null);
708+
} catch (ArangoDBException e) {
709+
assertThat(e.getResponseCode(), is(404));
710+
assertThat(e.getErrorNum(), is(1202));
711+
}
712+
}
713+
714+
@Test
715+
public void updateDocumentPreconditionFailed() {
716+
final BaseDocument doc = new BaseDocument();
717+
doc.addAttribute("a", "test");
718+
doc.addAttribute("c", "test");
719+
final DocumentCreateEntity<BaseDocument> createResult = db.collection(COLLECTION_NAME)
720+
.insertDocument(doc, null);
721+
722+
doc.updateAttribute("a", "test1");
723+
doc.addAttribute("b", "test");
724+
doc.updateAttribute("c", null);
725+
final DocumentUpdateEntity<BaseDocument> updateResult = db.collection(COLLECTION_NAME)
726+
.updateDocument(createResult.getKey(), doc, null);
727+
728+
try {
729+
db.collection(COLLECTION_NAME).updateDocument(createResult.getKey(), doc, new DocumentUpdateOptions().ifMatch(createResult.getRev()));
730+
} catch (ArangoDBException e) {
731+
assertThat(e.getResponseCode(), is(412));
732+
assertThat(e.getErrorNum(), is(1200));
733+
}
734+
}
735+
705736
@Test
706737
public void replaceDocument() {
707738
final BaseDocument doc = new BaseDocument();

0 commit comments

Comments
 (0)