public void correctlyExtractsMongoClientFromConfiguration() throws Exception { final Example example = factory.build(testFile); final MongoClient client = example.getMongoClient().build(environment); assertThat(client.getAddress().getHost()).isIn("localhost", "127.0.0.1"); assertThat(client.getAddress().getPort()).isEqualTo(ServerAddress.defaultPort()); assertThat(client.getCredentialsList()).isEmpty(); final MongoClientOptions options = client.getMongoClientOptions(); assertThat(options.getDbDecoderFactory()).isEqualTo(DefaultDBDecoder.FACTORY); assertThat(options.getDbEncoderFactory()).isEqualTo(DefaultDBEncoder.FACTORY); assertThat(options.getReadPreference()).isEqualTo(ReadPreference.primary()); assertThat(options.getWriteConcern()).isEqualTo(WriteConcern.ACKNOWLEDGED); assertThat(options.getSocketFactory()).isEqualTo(SocketFactory.getDefault()); }
@Test public void testInsertBsonInputStream() { assertEquals(0, testCollection.count()); DefaultDBEncoder encoder = new DefaultDBEncoder(); BSONObject bsonObject = new BasicDBObject(); bsonObject.put("_id", "testInsertBsonString"); Object result = template.requestBody("direct:insertJsonString", new ByteArrayInputStream(encoder.encode(bsonObject))); DBObject b = testCollection.find(new BasicDBObject("_id", "testInsertBsonString")).first(); assertNotNull("No record with 'testInsertBsonString' _id", b); }
/** * This test shows the full serialization, including bson encoding/decoding. */ @Test public void testFullBSONSerialization() { final MyEntity entity = new MyEntity(1L, new ValueObject(2L)); final DBObject dbObject = getMorphia().toDBObject(entity); final byte[] data = new DefaultDBEncoder().encode(dbObject); final DBObject decoded = new DefaultDBDecoder().decode(data, (DBCollection) null); final MyEntity actual = getMorphia().fromDBObject(getDs(), MyEntity.class, decoded); assertEquals(entity, actual); }