@Test
public void insert() {
getMorphia().map(DocumentValidation.class);
getDs().enableDocumentValidation();
try {
getAds().insert(new DocumentValidation("Harold", 8, new Date()));
fail("Document validation should have complained");
} catch (WriteConcernException e) {
}
getAds().insert(new DocumentValidation("Harold", 8, new Date()), new InsertOptions()
.bypassDocumentValidation(true));
Query<DocumentValidation> query = getDs().find(DocumentValidation.class)
.field("number").equal(8);
Assert.assertNotNull(query.find(new FindOptions().limit(1)).tryNext());
List<DocumentValidation> list = asList(new DocumentValidation("Harold", 8, new Date()),
new DocumentValidation("John", 8, new Date()),
new DocumentValidation("Sarah", 8, new Date()),
new DocumentValidation("Amy", 8, new Date()),
new DocumentValidation("James", 8, new Date()));
try {
getAds().insert(list);
fail("Document validation should have complained");
} catch (WriteConcernException e) {
}
getAds().insert(list, new InsertOptions()
.bypassDocumentValidation(true));
Assert.assertTrue(query.field("number").equal(8).find().hasNext());
}