Search in sources :

Example 41 with MappedField

use of org.mongodb.morphia.mapping.MappedField in project morphia by mongodb.

the class GeoWithinOperationValidatorTest method shouldAllowGeoWithinOperatorForGeoEntityWithListOfIntegers.

@Test
public void shouldAllowGeoWithinOperatorForGeoEntityWithListOfIntegers() {
    // given
    List<ValidationFailure> validationFailures = new ArrayList<ValidationFailure>();
    MappedClass mappedClass = new MappedClass(GeoEntity.class, new Mapper());
    MappedField mappedField = mappedClass.getMappedField("list");
    assertThat(GeoWithinOperationValidator.getInstance().apply(mappedField, GEO_WITHIN, new BasicDBObject("$box", 1), validationFailures), is(true));
}
Also used : MappedField(org.mongodb.morphia.mapping.MappedField) Mapper(org.mongodb.morphia.mapping.Mapper) BasicDBObject(com.mongodb.BasicDBObject) ArrayList(java.util.ArrayList) MappedClass(org.mongodb.morphia.mapping.MappedClass) Test(org.junit.Test)

Example 42 with MappedField

use of org.mongodb.morphia.mapping.MappedField in project morphia by mongodb.

the class GeoWithinOperationValidatorTest method shouldRejectGeoWithinWhenValueIsNotADBObject.

@Test
public void shouldRejectGeoWithinWhenValueIsNotADBObject() {
    // given
    List<ValidationFailure> validationFailures = new ArrayList<ValidationFailure>();
    MappedClass mappedClass = new MappedClass(GeoEntity.class, new Mapper());
    MappedField mappedField = mappedClass.getMappedField("array");
    // when
    boolean validationApplied = GeoWithinOperationValidator.getInstance().apply(mappedField, GEO_WITHIN, "NotAGeoQuery", validationFailures);
    // then
    assertThat(validationApplied, is(true));
    assertThat(validationFailures.size(), is(1));
    assertThat(validationFailures.get(0).toString(), containsString("For a $geoWithin operation, the value should be a valid geo query"));
}
Also used : MappedField(org.mongodb.morphia.mapping.MappedField) Mapper(org.mongodb.morphia.mapping.Mapper) ArrayList(java.util.ArrayList) MappedClass(org.mongodb.morphia.mapping.MappedClass) Test(org.junit.Test)

Example 43 with MappedField

use of org.mongodb.morphia.mapping.MappedField in project morphia by mongodb.

the class GeoWithinOperationValidatorTest method shouldRejectGeoWithinWhenValueDoesNotContainKeyword.

@Test
public void shouldRejectGeoWithinWhenValueDoesNotContainKeyword() {
    // given
    List<ValidationFailure> validationFailures = new ArrayList<ValidationFailure>();
    MappedClass mappedClass = new MappedClass(GeoEntity.class, new Mapper());
    MappedField mappedField = mappedClass.getMappedField("array");
    // when
    boolean validationApplied = GeoWithinOperationValidator.getInstance().apply(mappedField, GEO_WITHIN, new BasicDBObject("notValidKey", 1), validationFailures);
    // then
    assertThat(validationApplied, is(true));
    assertThat(validationFailures.size(), is(1));
    assertThat(validationFailures.get(0).toString(), containsString("For a $geoWithin operation, the value should be a valid geo query"));
}
Also used : MappedField(org.mongodb.morphia.mapping.MappedField) Mapper(org.mongodb.morphia.mapping.Mapper) BasicDBObject(com.mongodb.BasicDBObject) ArrayList(java.util.ArrayList) MappedClass(org.mongodb.morphia.mapping.MappedClass) Test(org.junit.Test)

Example 44 with MappedField

use of org.mongodb.morphia.mapping.MappedField in project morphia by mongodb.

the class GeoWithinOperationValidatorTest method shouldRejectGeoWithinOperatorWhenMappedFieldIsArrayThatDoesNotContainNumbers.

@Test
public void shouldRejectGeoWithinOperatorWhenMappedFieldIsArrayThatDoesNotContainNumbers() {
    // given
    List<ValidationFailure> validationFailures = new ArrayList<ValidationFailure>();
    MappedClass mappedClass = new MappedClass(InvalidGeoEntity.class, new Mapper());
    MappedField mappedField = mappedClass.getMappedField("arrayOfStrings");
    // when
    boolean validationApplied = GeoWithinOperationValidator.getInstance().apply(mappedField, GEO_WITHIN, new BasicDBObject("$box", 1), validationFailures);
    // then
    assertThat(validationApplied, is(true));
    assertThat(validationFailures.size(), is(1));
    assertThat(validationFailures.get(0).toString(), containsString("is an array or iterable it should have numeric values"));
}
Also used : MappedField(org.mongodb.morphia.mapping.MappedField) Mapper(org.mongodb.morphia.mapping.Mapper) BasicDBObject(com.mongodb.BasicDBObject) ArrayList(java.util.ArrayList) MappedClass(org.mongodb.morphia.mapping.MappedClass) Test(org.junit.Test)

Example 45 with MappedField

use of org.mongodb.morphia.mapping.MappedField in project morphia by mongodb.

the class GeoWithinOperationValidatorTest method shouldRejectGeoWithinOperatorWhenMappedFieldIsListThatDoesNotContainNumbers.

@Test
public void shouldRejectGeoWithinOperatorWhenMappedFieldIsListThatDoesNotContainNumbers() {
    // given
    List<ValidationFailure> validationFailures = new ArrayList<ValidationFailure>();
    MappedClass mappedClass = new MappedClass(InvalidGeoEntity.class, new Mapper());
    MappedField mappedField = mappedClass.getMappedField("listOfStrings");
    // when
    boolean validationApplied = GeoWithinOperationValidator.getInstance().apply(mappedField, GEO_WITHIN, new BasicDBObject("$box", 1), validationFailures);
    // then
    assertThat(validationApplied, is(true));
    assertThat(validationFailures.size(), is(1));
    assertThat(validationFailures.get(0).toString(), containsString("is an array or iterable it should have numeric values"));
}
Also used : MappedField(org.mongodb.morphia.mapping.MappedField) Mapper(org.mongodb.morphia.mapping.Mapper) BasicDBObject(com.mongodb.BasicDBObject) ArrayList(java.util.ArrayList) MappedClass(org.mongodb.morphia.mapping.MappedClass) Test(org.junit.Test)

Aggregations

MappedField (org.mongodb.morphia.mapping.MappedField)68 MappedClass (org.mongodb.morphia.mapping.MappedClass)56 Test (org.junit.Test)50 ArrayList (java.util.ArrayList)47 Mapper (org.mongodb.morphia.mapping.Mapper)46 BasicDBObject (com.mongodb.BasicDBObject)13 DBObject (com.mongodb.DBObject)8 List (java.util.List)7 Key (org.mongodb.morphia.Key)6 SimpleEntity (org.mongodb.morphia.entities.SimpleEntity)5 ObjectId (org.bson.types.ObjectId)4 ValidationFailure (org.mongodb.morphia.query.validation.ValidationFailure)4 UpdateResults (org.mongodb.morphia.query.UpdateResults)3 DBCollection (com.mongodb.DBCollection)2 Index (org.mongodb.morphia.annotations.Index)2 NotSaved (org.mongodb.morphia.annotations.NotSaved)2 Version (org.mongodb.morphia.annotations.Version)2 MappingException (org.mongodb.morphia.mapping.MappingException)2 DBRef (com.mongodb.DBRef)1 WriteResult (com.mongodb.WriteResult)1