From ec7b65e21d825a01abc6ee819a2a5984397a7983 Mon Sep 17 00:00:00 2001 From: Oliver Gierke Date: Wed, 30 Nov 2011 18:27:33 +0100 Subject: [PATCH] DATAMONGO-331 - Fixed typo in WriteConcern enumeration for db-factory element. --- .../data/mongodb/config/spring-mongo-1.0.xsd | 2 +- .../MongoDbFactoryParserIntegrationTests.java | 29 ++++++++++++------- .../db-factory-bean-custom-write-concern.xml | 2 ++ 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/spring-data-mongodb/src/main/resources/org/springframework/data/mongodb/config/spring-mongo-1.0.xsd b/spring-data-mongodb/src/main/resources/org/springframework/data/mongodb/config/spring-mongo-1.0.xsd index fd1dd8a0d..800221636 100644 --- a/spring-data-mongodb/src/main/resources/org/springframework/data/mongodb/config/spring-mongo-1.0.xsd +++ b/spring-data-mongodb/src/main/resources/org/springframework/data/mongodb/config/spring-mongo-1.0.xsd @@ -274,7 +274,7 @@ The name of the Mongo object that determines what server to monitor. (by default - + diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/config/MongoDbFactoryParserIntegrationTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/config/MongoDbFactoryParserIntegrationTests.java index 1180155fc..6ec2a98a0 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/config/MongoDbFactoryParserIntegrationTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/config/MongoDbFactoryParserIntegrationTests.java @@ -18,11 +18,7 @@ package org.springframework.data.mongodb.config; import static org.hamcrest.Matchers.*; import static org.junit.Assert.*; -import java.net.UnknownHostException; -import java.util.List; - import org.junit.Test; -import org.springframework.beans.PropertyValue; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.config.ConstructorArgumentValues; import org.springframework.beans.factory.config.ConstructorArgumentValues.ValueHolder; @@ -36,7 +32,6 @@ import org.springframework.data.mongodb.core.SimpleMongoDbFactory; import com.mongodb.DB; import com.mongodb.Mongo; -import com.mongodb.MongoException; import com.mongodb.MongoURI; import com.mongodb.WriteConcern; @@ -47,26 +42,38 @@ import com.mongodb.WriteConcern; */ public class MongoDbFactoryParserIntegrationTests { - @Test public void testWriteConcern() throws Exception { SimpleMongoDbFactory dbFactory = new SimpleMongoDbFactory(new Mongo("localhost"), "database"); dbFactory.setWriteConcern(WriteConcern.SAFE); - DB db = dbFactory.getDb(); + dbFactory.getDb(); assertThat(WriteConcern.SAFE, is(dbFactory.getWriteConcern())); } @Test public void parsesWriteConcern() { - ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("namespace/db-factory-bean.xml"); + ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("namespace/db-factory-bean.xml"); assertWriteConcern(ctx, WriteConcern.SAFE); } @Test public void parsesCustomWriteConcern() { - ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("namespace/db-factory-bean-custom-write-concern.xml"); + ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("namespace/db-factory-bean-custom-write-concern.xml"); assertWriteConcern(ctx, new WriteConcern("rack1")); } + + /** + * @see DATAMONGO-331 + */ + @Test + public void readsReplicasWriteConcernCorrectly() { + + ApplicationContext ctx = new ClassPathXmlApplicationContext("namespace/db-factory-bean-custom-write-concern.xml"); + MongoDbFactory factory = ctx.getBean("second", MongoDbFactory.class); + DB db = factory.getDb(); + + assertThat(db.getWriteConcern(), is(WriteConcern.REPLICAS_SAFE)); + } private void assertWriteConcern(ClassPathXmlApplicationContext ctx, WriteConcern expectedWriteConcern) { SimpleMongoDbFactory dbFactory = ctx.getBean("first", SimpleMongoDbFactory.class); @@ -108,7 +115,7 @@ public class MongoDbFactoryParserIntegrationTests { XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("namespace/db-factory-bean.xml")); Mongo mongo = factory.getBean(Mongo.class); - assertThat(mongo.getMongoOptions().maxAutoConnectRetryTime, is(27L)); + assertThat(mongo.getMongoOptions().maxAutoConnectRetryTime, is(27L)); } /** @@ -133,7 +140,7 @@ public class MongoDbFactoryParserIntegrationTests { public void setsUpMongoDbFactoryUsingAMongoUriWithoutCredentials() { XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("namespace/mongo-uri-no-credentials.xml")); - BeanDefinition definition = factory.getBeanDefinition("mongoDbFactory"); + BeanDefinition definition = factory.getBeanDefinition("mongoDbFactory"); ConstructorArgumentValues constructorArguments = definition.getConstructorArgumentValues(); assertThat(constructorArguments.getArgumentCount(), is(1)); diff --git a/spring-data-mongodb/src/test/resources/namespace/db-factory-bean-custom-write-concern.xml b/spring-data-mongodb/src/test/resources/namespace/db-factory-bean-custom-write-concern.xml index 783ae2ff2..c42ab81a0 100644 --- a/spring-data-mongodb/src/test/resources/namespace/db-factory-bean-custom-write-concern.xml +++ b/spring-data-mongodb/src/test/resources/namespace/db-factory-bean-custom-write-concern.xml @@ -11,6 +11,8 @@ + +