@@ -158,6 +158,43 @@ public void insertDocumentOverwriteReturnOld() {
158158 assertThat (collection .count ().getCount (), is (initialCount + 1L ));
159159 }
160160
161+ @ Test
162+ public void insertDocumentOverwriteModeIgnore () {
163+ assumeTrue (isAtLeastVersion (3 , 7 ));
164+
165+ String key = "key-" + UUID .randomUUID ().toString ();
166+ final BaseDocument doc = new BaseDocument (key );
167+ doc .addAttribute ("foo" , "a" );
168+ final DocumentCreateEntity <BaseDocument > meta = collection .insertDocument (doc );
169+
170+ final BaseDocument doc2 = new BaseDocument (key );
171+ doc2 .addAttribute ("bar" , "b" );
172+ final DocumentCreateEntity <BaseDocument > insertIgnore = collection
173+ .insertDocument (doc2 , new DocumentCreateOptions ().overwriteMode (OverwriteMode .ignore ));
174+
175+ assertThat (insertIgnore , is (notNullValue ()));
176+ assertThat (insertIgnore .getRev (), is (meta .getRev ()));
177+ }
178+
179+ @ Test
180+ public void insertDocumentOverwriteModeConflict () {
181+ assumeTrue (isAtLeastVersion (3 , 7 ));
182+
183+ String key = "key-" + UUID .randomUUID ().toString ();
184+ final BaseDocument doc = new BaseDocument (key );
185+ doc .addAttribute ("foo" , "a" );
186+ final DocumentCreateEntity <BaseDocument > meta = collection .insertDocument (doc );
187+
188+ final BaseDocument doc2 = new BaseDocument (key );
189+ try {
190+ collection .insertDocument (doc2 , new DocumentCreateOptions ().overwriteMode (OverwriteMode .conflict ));
191+ fail ();
192+ } catch (ArangoDBException e ) {
193+ assertThat (e .getResponseCode (), is (409 ));
194+ assertThat (e .getErrorNum (), is (1210 ));
195+ }
196+ }
197+
161198 @ Test
162199 public void insertDocumentOverwriteModeReplace () {
163200 assumeTrue (isAtLeastVersion (3 , 7 ));
0 commit comments