@Test public void testInsert() { String name = "some_collection"; MongoCollection<Document> collection = getMongoClient().getDatabase(TEST_DB_NAME).getCollection(name); this.getAds().insert(name, new TestEntity()); Assert.assertEquals(1, collection.count()); this.getAds().insert(name, new TestEntity(), new InsertOptions() .writeConcern(WriteConcern.ACKNOWLEDGED)); Assert.assertEquals(2, collection.count()); }
@Test public void testBulkLifecycleEvents() { TestObject to1 = new TestObject("post value 1"); TestObject to2 = new TestObject("post value 2"); getAds().insert(asList(to1, to2)); assertNotNull(to1.id); assertNotNull(to1.one); assertNotNull(to2.id); assertNotNull(to2.one); }
@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 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) { // expected } 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) { // expected } getAds().insert(list, new InsertOptions() .bypassDocumentValidation(true)); Assert.assertTrue(query.field("number").equal(8).find().hasNext()); }
@Test public void testVersionedInserts() { List<Versioned> list = asList(new Versioned(), new Versioned(), new Versioned(), new Versioned(), new Versioned()); getAds().insert(list); for (Versioned versioned : list) { assertNotNull(versioned.getVersion()); } }
@Test @SuppressWarnings("deprecation") public void testBulkInsertOld() { this.getAds().insert(asList(new TestEntity(), new TestEntity(), new TestEntity(), new TestEntity(), new TestEntity()), new InsertOptions().writeConcern(WriteConcern.ACKNOWLEDGED)); Assert.assertEquals(5, getDs().getCollection(TestEntity.class).count()); String name = "some_collection"; MongoCollection<Document> collection = getMongoClient().getDatabase(TEST_DB_NAME).getCollection(name); this.getAds().insert(name, asList(new TestEntity(), new TestEntity(), new TestEntity(), new TestEntity(), new TestEntity()), new InsertOptions().writeConcern(WriteConcern.ACKNOWLEDGED)); Assert.assertEquals(5, collection.count()); collection.drop(); this.getAds().insert(name, asList(new TestEntity(), new TestEntity(), new TestEntity(), new TestEntity(), new TestEntity()), WriteConcern.ACKNOWLEDGED); Assert.assertEquals(5, collection.count()); }
@Test public void testGet() { getMorphia().map(FacebookUser.class); List<FacebookUser> fbUsers = new ArrayList<FacebookUser>(); fbUsers.add(new FacebookUser(1, "user 1")); fbUsers.add(new FacebookUser(2, "user 2")); fbUsers.add(new FacebookUser(3, "user 3")); fbUsers.add(new FacebookUser(4, "user 4")); getDs().save(fbUsers); assertEquals(4, getDs().getCount(FacebookUser.class)); assertNotNull(getDs().get(FacebookUser.class, 1)); List<FacebookUser> res = toList(getDs().get(FacebookUser.class, asList(1L, 2L)).find()); assertEquals(2, res.size()); assertNotNull(res.get(0)); assertNotNull(res.get(0).id); assertNotNull(res.get(1)); assertNotNull(res.get(1).username); getDs().getCollection(FacebookUser.class).remove(new BasicDBObject()); getAds().insert(fbUsers); assertEquals(4, getDs().getCount(FacebookUser.class)); assertNotNull(getDs().get(FacebookUser.class, 1)); res = toList(getDs().get(FacebookUser.class, asList(1L, 2L)).find()); assertEquals(2, res.size()); assertNotNull(res.get(0)); assertNotNull(res.get(0).id); assertNotNull(res.get(1)); assertNotNull(res.get(1).username); }
@Test public void testBulkInsert() { this.getAds().insert(asList(new TestEntity(), new TestEntity(), new TestEntity(), new TestEntity(), new TestEntity()), new InsertOptions().writeConcern(WriteConcern.ACKNOWLEDGED)); Assert.assertEquals(5, getDs().getCollection(TestEntity.class).count()); String name = "some_collection"; MongoCollection<Document> collection = getMongoClient().getDatabase(TEST_DB_NAME).getCollection(name); this.getAds().insert(name, asList(new TestEntity(), new TestEntity(), new TestEntity(), new TestEntity(), new TestEntity()), new InsertOptions().writeConcern(WriteConcern.ACKNOWLEDGED)); Assert.assertEquals(5, collection.count()); collection.drop(); this.getAds().insert(name, asList(new TestEntity(), new TestEntity(), new TestEntity(), new TestEntity(), new TestEntity()), new InsertOptions() .writeConcern(WriteConcern.ACKNOWLEDGED)); Assert.assertEquals(5, collection.count()); }
@Test @SuppressWarnings("deprecation") public void testOldMapReduce() { final Random rnd = new Random(); //create 100 circles and rectangles for (int i = 0; i < 100; i++) { getAds().insert("shapes", new Circle(rnd.nextDouble())); getAds().insert("shapes", new Rectangle(rnd.nextDouble(), rnd.nextDouble())); } final String map = "function () { if(this['radius']) { emit('circle', {count:1}); return; } emit('rect', {count:1}); }"; final String reduce = "function (key, values) { var total = 0; for ( var i=0; i<values.length; i++ ) {total += values[i].count;} " + "return { count : total }; }"; final MapreduceResults<ResultEntity> mrRes = getDs().mapReduce(MapreduceType.REPLACE, getAds().find(Shape.class), map, reduce, null, null, ResultEntity.class); Assert.assertEquals(2, mrRes.createQuery().countAll()); Assert.assertEquals(100, mrRes.createQuery() .find(new FindOptions().limit(1)) .tryNext() .getValue().count, 0); final MapreduceResults<ResultEntity> inline = getDs().mapReduce(MapreduceType.INLINE, getAds().find(Shape.class), map, reduce, null, null, ResultEntity.class); final Iterator<ResultEntity> iterator = inline.iterator(); Assert.assertEquals(2, count(iterator)); Assert.assertEquals(100, inline.iterator().next().getValue().count, 0); }