diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/config/AbstractMongoConfigurationUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/config/AbstractMongoConfigurationUnitTests.java index 6a9fa1fe6..dd0d5b164 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/config/AbstractMongoConfigurationUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/config/AbstractMongoConfigurationUnitTests.java @@ -25,8 +25,11 @@ import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Configuration; import org.springframework.data.mongodb.MongoDbFactory; +import org.springframework.data.mongodb.core.mapping.BasicMongoPersistentEntity; import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.MongoMappingContext; +import org.springframework.expression.spel.support.StandardEvaluationContext; +import org.springframework.test.util.ReflectionTestUtils; import com.mongodb.Mongo; @@ -37,8 +40,7 @@ import com.mongodb.Mongo; */ public class AbstractMongoConfigurationUnitTests { - @Rule - public ExpectedException exception = ExpectedException.none(); + @Rule public ExpectedException exception = ExpectedException.none(); /** * @see DATAMONGO-496 @@ -97,6 +99,20 @@ public class AbstractMongoConfigurationUnitTests { assertThat(context.getPersistentEntities(), is(not(emptyIterable()))); } + /** + * @see DATAMONGO-717 + */ + @Test + public void lifecycleCallbacksAreInvokedInAppropriateOrder() { + + AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SampleMongoConfiguration.class); + MongoMappingContext mappingContext = context.getBean(MongoMappingContext.class); + BasicMongoPersistentEntity entity = mappingContext.getPersistentEntity(Entity.class); + StandardEvaluationContext spElContext = (StandardEvaluationContext) ReflectionTestUtils.getField(entity, "context"); + + assertThat(spElContext.getBeanResolver(), is(notNullValue())); + } + private static void assertScanningDisabled(final String value) throws ClassNotFoundException { AbstractMongoConfiguration configuration = new SampleMongoConfiguration() {