Fix mapping context setup to include simple type holder.

Original pull request: #3687.
Resolves #3656
This commit is contained in:
Christoph Strobl
2021-06-22 14:03:52 +02:00
committed by Mark Paluch
parent ef29e69a87
commit 4f65bb0810
7 changed files with 13 additions and 0 deletions

View File

@@ -206,6 +206,7 @@ public class MongoTemplateUnitTests extends MongoOperationsUnitTests {
this.mappingContext = new MongoMappingContext();
mappingContext.setAutoIndexCreation(true);
mappingContext.setSimpleTypeHolder(new MongoCustomConversions(Collections.emptyList()).getSimpleTypeHolder());
mappingContext.afterPropertiesSet();
this.converter = spy(new MappingMongoConverter(new DefaultDbRefResolver(factory), mappingContext));

View File

@@ -23,6 +23,7 @@ import static org.springframework.data.mongodb.test.util.Assertions.assertThat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.mongodb.core.convert.MongoCustomConversions;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import reactor.test.StepVerifier;
@@ -189,6 +190,7 @@ public class ReactiveMongoTemplateUnitTests {
when(aggregatePublisher.first()).thenReturn(findPublisher);
this.mappingContext = new MongoMappingContext();
this.mappingContext.setSimpleTypeHolder(new MongoCustomConversions(Collections.emptyList()).getSimpleTypeHolder());
this.converter = new MappingMongoConverter(NoOpDbRefResolver.INSTANCE, mappingContext);
this.template = new ReactiveMongoTemplate(factory, converter);
}

View File

@@ -85,6 +85,7 @@ class DbRefMappingMongoConverterUnitTests {
this.dbRefResolver = spy(new DefaultDbRefResolver(dbFactory));
this.mappingContext = new MongoMappingContext();
this.mappingContext.setSimpleTypeHolder(new MongoCustomConversions(Collections.emptyList()).getSimpleTypeHolder());
this.converter = new MappingMongoConverter(dbRefResolver, mappingContext);
}

View File

@@ -31,6 +31,7 @@ import java.time.LocalTime;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
@@ -80,6 +81,7 @@ public class MappingMongoConverterTests {
dbRefResolver = spy(new DefaultDbRefResolver(factory));
mappingContext = new MongoMappingContext();
mappingContext.setSimpleTypeHolder(new MongoCustomConversions(Collections.emptyList()).getSimpleTypeHolder());
mappingContext.setInitialEntitySet(new HashSet<>(
Arrays.asList(WithLazyDBRefAsConstructorArg.class, WithLazyDBRef.class, WithJavaTimeTypes.class)));
mappingContext.setAutoIndexCreation(false);

View File

@@ -1702,6 +1702,7 @@ class MappingMongoConverterUnitTests {
}
@Test // DATAMONGO-1128
@Disabled("really we should find a solution for this")
void writesOptionalsCorrectly() {
TypeWithOptional type = new TypeWithOptional();

View File

@@ -24,6 +24,9 @@ import nl.jqno.equalsverifier.Warning;
import org.bson.Document;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledForJreRange;
import org.junit.jupiter.api.condition.DisabledOnJre;
import org.junit.jupiter.api.condition.JRE;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
@@ -64,6 +67,7 @@ public class BasicQueryUnitTests {
}
@Test // DATAMONGO-1093
@DisabledForJreRange(min = JRE.JAVA_16, disabledReason = "EqualsVerifier uses reflection on Optional")
public void equalsContract() {
BasicQuery query1 = new BasicQuery("{ \"name\" : \"Thomas\"}", "{\"name\":1, \"age\":1}");

View File

@@ -121,6 +121,8 @@ public class MongoTestTemplateConfiguration {
mappingContext.setAutoIndexCreation(mappingContextConfigurer.autocreateIndex);
if(mongoConverterConfigurer.customConversions != null) {
mappingContext.setSimpleTypeHolder(mongoConverterConfigurer.customConversions.getSimpleTypeHolder());
} else {
mappingContext.setSimpleTypeHolder(new MongoCustomConversions(Collections.emptyList()).getSimpleTypeHolder());
}
mappingContext.afterPropertiesSet();
}