Search in sources :

Example 81 with MongoMappingContext

use of org.springframework.data.mongodb.core.mapping.MongoMappingContext in project spring-data-mongodb by spring-projects.

the class MappingMongoJsonSchemaCreatorUnitTests method csfleWithKeyFromProperties.

// GH-3800
@Test
public void csfleWithKeyFromProperties() {
    GenericApplicationContext applicationContext = new GenericApplicationContext();
    applicationContext.registerBean("encryptionExtension", EncryptionExtension.class, () -> new EncryptionExtension());
    applicationContext.refresh();
    MongoMappingContext mappingContext = new MongoMappingContext();
    mappingContext.setApplicationContext(applicationContext);
    mappingContext.afterPropertiesSet();
    MongoJsonSchema schema = // 
    MongoJsonSchemaCreator.create(mappingContext).filter(// 
    MongoJsonSchemaCreator.encryptedOnly()).createSchemaFor(EncryptionMetadataFromProperty.class);
    assertThat(schema.schemaDocument().toBsonDocument()).isEqualTo(BsonDocument.parse(ENC_FROM_PROPERTY_SCHEMA));
}
Also used : GenericApplicationContext(org.springframework.context.support.GenericApplicationContext) MongoMappingContext(org.springframework.data.mongodb.core.mapping.MongoMappingContext) MongoJsonSchema(org.springframework.data.mongodb.core.schema.MongoJsonSchema) Test(org.junit.jupiter.api.Test)

Example 82 with MongoMappingContext

use of org.springframework.data.mongodb.core.mapping.MongoMappingContext in project spring-data-mongodb by spring-projects.

the class MappingMongoJsonSchemaCreatorUnitTests method csfleWithKeyFromMethod.

// GH-3800
@Test
public void csfleWithKeyFromMethod() {
    GenericApplicationContext applicationContext = new GenericApplicationContext();
    applicationContext.registerBean("encryptionExtension", EncryptionExtension.class, () -> new EncryptionExtension());
    applicationContext.refresh();
    MongoMappingContext mappingContext = new MongoMappingContext();
    mappingContext.setApplicationContext(applicationContext);
    mappingContext.afterPropertiesSet();
    MongoJsonSchema schema = // 
    MongoJsonSchemaCreator.create(mappingContext).filter(// 
    MongoJsonSchemaCreator.encryptedOnly()).createSchemaFor(EncryptionMetadataFromMethod.class);
    assertThat(schema.schemaDocument().toBsonDocument()).isEqualTo(BsonDocument.parse(ENC_FROM_METHOD_SCHEMA));
}
Also used : GenericApplicationContext(org.springframework.context.support.GenericApplicationContext) MongoMappingContext(org.springframework.data.mongodb.core.mapping.MongoMappingContext) MongoJsonSchema(org.springframework.data.mongodb.core.schema.MongoJsonSchema) Test(org.junit.jupiter.api.Test)

Example 83 with MongoMappingContext

use of org.springframework.data.mongodb.core.mapping.MongoMappingContext in project spring-data-mongodb by spring-projects.

the class MappingMongoJsonSchemaCreatorUnitTests method setUp.

@BeforeEach
public void setUp() {
    mappingContext = new MongoMappingContext();
    converter = new MappingMongoConverter(NoOpDbRefResolver.INSTANCE, mappingContext);
    schemaCreator = new MappingMongoJsonSchemaCreator(converter);
}
Also used : MongoMappingContext(org.springframework.data.mongodb.core.mapping.MongoMappingContext) MappingMongoConverter(org.springframework.data.mongodb.core.convert.MappingMongoConverter) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 84 with MongoMappingContext

use of org.springframework.data.mongodb.core.mapping.MongoMappingContext in project spring-data-mongodb by spring-projects.

the class MongoPersistentEntityIndexCreatorUnitTests method createsNotNestedGeoSpatialIndexCorrectly.

// DATAMONGO-899
@Test
void createsNotNestedGeoSpatialIndexCorrectly() {
    MongoMappingContext mappingContext = prepareMappingContext(Wrapper.class);
    new MongoPersistentEntityIndexCreator(mappingContext, mongoTemplate);
    assertThat(keysCaptor.getValue()).isEqualTo(new org.bson.Document("company.address.location", "2d"));
    IndexOptions opts = optionsCaptor.getValue();
    assertThat(opts.getName()).isEqualTo("company.address.location");
    assertThat(opts.getMin()).isCloseTo(-180d, offset(0d));
    assertThat(opts.getMax()).isCloseTo(180d, offset(0d));
    assertThat(opts.getBits()).isEqualTo(26);
}
Also used : IndexOptions(com.mongodb.client.model.IndexOptions) MongoMappingContext(org.springframework.data.mongodb.core.mapping.MongoMappingContext) Test(org.junit.jupiter.api.Test)

Example 85 with MongoMappingContext

use of org.springframework.data.mongodb.core.mapping.MongoMappingContext in project spring-data-mongodb by spring-projects.

the class MongoPersistentEntityIndexCreatorUnitTests method createIndexShouldNotConvertUnknownExceptionTypes.

// DATAMONGO-1125
@Test
void createIndexShouldNotConvertUnknownExceptionTypes() {
    doThrow(new ClassCastException("o_O")).when(collection).createIndex(any(org.bson.Document.class), any(IndexOptions.class));
    MongoMappingContext mappingContext = prepareMappingContext(Person.class);
    assertThatThrownBy(() -> new MongoPersistentEntityIndexCreator(mappingContext, mongoTemplate)).isInstanceOf(ClassCastException.class);
}
Also used : IndexOptions(com.mongodb.client.model.IndexOptions) MongoMappingContext(org.springframework.data.mongodb.core.mapping.MongoMappingContext) Document(org.springframework.data.mongodb.core.mapping.Document) Test(org.junit.jupiter.api.Test)

Aggregations

MongoMappingContext (org.springframework.data.mongodb.core.mapping.MongoMappingContext)118 MappingMongoConverter (org.springframework.data.mongodb.core.convert.MappingMongoConverter)56 Test (org.junit.jupiter.api.Test)41 BeforeEach (org.junit.jupiter.api.BeforeEach)31 Document (org.bson.Document)19 QueryMapper (org.springframework.data.mongodb.core.convert.QueryMapper)19 DefaultDbRefResolver (org.springframework.data.mongodb.core.convert.DefaultDbRefResolver)13 MongoCustomConversions (org.springframework.data.mongodb.core.convert.MongoCustomConversions)10 Bson (org.bson.conversions.Bson)8 Before (org.junit.Before)8 Test (org.junit.Test)8 MongoTemplate (org.springframework.data.mongodb.core.MongoTemplate)8 IndexOptions (com.mongodb.client.model.IndexOptions)7 CustomConversions (org.springframework.data.convert.CustomConversions)6 DbRefResolver (org.springframework.data.mongodb.core.convert.DbRefResolver)6 Document (org.springframework.data.mongodb.core.mapping.Document)6 Set (java.util.Set)5 MongoDbFactory (org.springframework.data.mongodb.MongoDbFactory)5 CountOptions (com.mongodb.client.model.CountOptions)4 List (java.util.List)4