@Test public void shouldSaveAnEntityWithNullPoints() { getDs().save(new City("New City", null)); DBObject storedCity = getDs().getCollection(City.class) .findOne(new BasicDBObject("name", "New City"), new BasicDBObject("_id", 0) .append("className", 0)); assertThat(storedCity, is(notNullValue())); assertThat(storedCity.toString(), JSONMatcher.jsonEqual("{ name: 'New City'}")); }
private void findPartialIndex(final BasicDBObject expected) { List<DBObject> indexInfo = getDs().getCollection(IndexedClass.class) .getIndexInfo(); for (DBObject dbObject : indexInfo) { if (!dbObject.get("name").equals("_id_")) { Assert.assertEquals(expected, dbObject.get("partialFilterExpression")); } } }
@Test public void testCanCreate2dSphereIndexes() { // given getMorphia().map(Place.class); // when getDs().ensureIndexes(); // then List<DBObject> indexInfo = getDs().getCollection(Place.class).getIndexInfo(); assertThat(indexInfo.size(), is(2)); assertThat(indexInfo, hasIndexNamed("location_2dsphere")); }
/** * Real test */ @Test public void testSavingBook() throws Exception { // Test saving getDs().save(newBook()); assertEquals(1, getDs().getCollection(Book.class).count()); }
@Test public void testParamEntity() throws Exception { final MappedClass mc = getMorphia().getMapper().getMappedClass(A.class); assertNotNull(mc); assertEquals(1, mc.getAnnotations(Indexes.class).size()); getDs().ensureIndexes(A.class); final DBCollection coll = getDs().getCollection(A.class); assertEquals("indexes found: coll.getIndexInfo()" + coll.getIndexInfo(), 3, coll.getIndexInfo().size()); }
@Test(expected = MongoCommandException.class) public void shouldNotAllowMultipleTextIndexes() { Class<MultipleTextIndexes> clazz = MultipleTextIndexes.class; getMorphia().map(clazz); getDs().getCollection(clazz).drop(); getDs().ensureIndexes(); }
@Test public void testNamedIndexEntity() throws Exception { getDs().ensureIndexes(); assertThat(getDs().getCollection(NamedIndexOnValue.class).getIndexInfo(), hasIndexNamed("value_ascending")); }
@Test public void testEnum() { final EnumEntity ee = new EnumEntity(); getDs().save(ee); final DBObject dbObj = getDs().getCollection(EnumEntity.class).findOne(); Assert.assertEquals(1, dbObj.get("val")); }
@Test public void testBulkInsertWithNullWC() { this.getAds().insert(asList(new TestEntity(), new TestEntity(), new TestEntity(), new TestEntity(), new TestEntity()), new InsertOptions()); Assert.assertEquals(5, getDs().getCollection(TestEntity.class).count()); String name = "some_collection"; this.getAds().insert(name, asList(new TestEntity(), new TestEntity(), new TestEntity(), new TestEntity(), new TestEntity()), new InsertOptions()); Assert.assertEquals(5, getMongoClient().getDatabase(TEST_DB_NAME).getCollection(name).count()); }
@Test public void testInheritedFieldIndex() throws Exception { getMorphia().map(Circle.class) .map(Shape.class); getMorphia().getMapper() .getMappedClass(Circle.class); getDs().ensureIndexes(); final DBCollection coll = getDs().getCollection(Circle.class); assertEquals(4, coll.getIndexInfo() .size()); }
@Test public void testOtherDelete() { final CompoundIdEntity entity = new CompoundIdEntity(); entity.id = new CompoundId("test"); getDs().save(entity); ((AdvancedDatastore) getDs()).delete(getDs().getCollection(CompoundIdEntity.class).getName(), CompoundIdEntity.class, entity.id); }
@Test public void testOtherDelete() throws Exception { final E e = new E(); e.id = new CId("test"); getDs().save(e); getAds().delete(getDs().getCollection(E.class).getName(), E.class, e.id); }
@Test public void shouldCreateA2dIndexOnAnEntityWithArrayOfCoordinates() { // given PlaceWithLegacyCoords pointA = new PlaceWithLegacyCoords(new double[]{3.1, 5.2}, "Point A"); getDs().save(pointA); // when getDs().ensureIndexes(); // then List<DBObject> indexes = getDs().getCollection(PlaceWithLegacyCoords.class).getIndexInfo(); assertThat(indexes, hasIndexNamed("location_2d")); }
@Test(expected = DuplicateKeyException.class) public void testUniqueIndexedEntity() throws Exception { getDs().ensureIndexes(); assertThat(getDs().getCollection(UniqueIndexOnValue.class).getIndexInfo(), hasIndexNamed("l_ascending")); getDs().save(new UniqueIndexOnValue("a")); // this should throw... getDs().save(new UniqueIndexOnValue("v")); } @Test(expected = MappingException.class)
private void shouldFindField(final HasMap hl, final Map<String, String> expected) { final DBObject dbObj; getDs().save(hl); dbObj = getDs().getCollection(HasMap.class).findOne(); Assert.assertTrue("Should find the field", dbObj.containsField("properties")); Assert.assertEquals(expected, getDs().find(HasMap.class) .find(new FindOptions().limit(1)) .tryNext() .properties); }
private void shouldFindField(final HasCollectionValuedMap hm, final Map<String, Collection<String>> expected) { final DBObject dbObj; getDs().save(hm); dbObj = getDs().getCollection(HasCollectionValuedMap.class).findOne(); Assert.assertTrue("Should find the field", dbObj.containsField("properties")); Assert.assertEquals(expected, getDs().find(HasCollectionValuedMap.class) .find(new FindOptions().limit(1)) .tryNext() .properties); }
private void shouldFindField(final HasList hl, final List<String> expected) { getDs().save(hl); final DBObject dbObj = getDs().getCollection(HasList.class).findOne(); Assert.assertTrue("Should find the field", dbObj.containsField("names")); Assert.assertEquals(expected, getDs().find(HasList.class) .find(new FindOptions().limit(1)) .tryNext() .names); }
private void shouldNotFindField(final HasComplexObjectValuedMap hm) { getDs().save(hm); DBObject dbObj = getDs().getCollection(HasComplexObjectValuedMap.class).findOne(); Assert.assertFalse("field should not exist, value = " + dbObj.get("properties"), dbObj.containsField("properties")); Assert.assertNull(getDs().find(HasComplexObjectValuedMap.class) .find(new FindOptions().limit(1)) .tryNext() .properties); }
private void shouldNotFindField(final HasList hl) { getDs().save(hl); DBObject dbObj = getDs().getCollection(HasList.class).findOne(); Assert.assertFalse("field should not exist, value = " + dbObj.get("names"), dbObj.containsField("names")); Assert.assertNull(getDs().find(HasList.class) .find(new FindOptions().limit(1)) .tryNext() .names); }
private void shouldNotFindField(final HasCollectionValuedMap hm) { getDs().save(hm); DBObject dbObj = getDs().getCollection(HasCollectionValuedMap.class).findOne(); Assert.assertFalse("field should not exist, value = " + dbObj.get("properties"), dbObj.containsField("properties")); Assert.assertNull(getDs().find(HasCollectionValuedMap.class) .find(new FindOptions().limit(1)) .tryNext() .properties); }