Search in sources :

Example 1 with Id

use of org.springframework.data.annotation.Id in project spring-data-mongodb by spring-projects.

the class MongoTemplateTests method removeShouldConsiderLimit.

// DATAMONGO-1870
@Test
public void removeShouldConsiderLimit() {
    List<Sample> samples = // 
    IntStream.range(0, 100).mapToObj(// 
    i -> new Sample("id-" + i, i % 2 == 0 ? "stark" : "lannister")).collect(Collectors.toList());
    template.insertAll(samples);
    DeleteResult wr = template.remove(query(where("field").is("lannister")).limit(25), Sample.class);
    assertThat(wr.getDeletedCount()).isEqualTo(25L);
    assertThat(template.count(new Query(), Sample.class)).isEqualTo(75L);
}
Also used : DirtiesContext(org.springframework.test.annotation.DirtiesContext) BasicQuery(org.springframework.data.mongodb.core.query.BasicQuery) CustomConversions(org.springframework.data.convert.CustomConversions) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) Matchers.not(org.hamcrest.Matchers.not) Version(org.springframework.data.annotation.Version) CloseableIterator(org.springframework.data.util.CloseableIterator) Autowired(org.springframework.beans.factory.annotation.Autowired) MongoClientVersion(org.springframework.data.mongodb.util.MongoClientVersion) Index(org.springframework.data.mongodb.core.index.Index) Assert.assertThat(org.junit.Assert.assertThat) BigDecimal(java.math.BigDecimal) AbstractMongoEventListener(org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener) OptimisticLockingFailureException(org.springframework.dao.OptimisticLockingFailureException) SpringJUnit4ClassRunner(org.springframework.test.context.junit4.SpringJUnit4ClassRunner) DataIntegrityViolationException(org.springframework.dao.DataIntegrityViolationException) UpdateResult(com.mongodb.client.result.UpdateResult) After(org.junit.After) ConfigurableApplicationContext(org.springframework.context.ConfigurableApplicationContext) Update(org.springframework.data.mongodb.core.query.Update) BigInteger(java.math.BigInteger) Sort(org.springframework.data.domain.Sort) ClassUtils(org.springframework.util.ClassUtils) MongoException(com.mongodb.MongoException) Mongo(com.mongodb.Mongo) PageRequest(org.springframework.data.domain.PageRequest) EqualsAndHashCode(lombok.EqualsAndHashCode) IndexField(org.springframework.data.mongodb.core.index.IndexField) Collectors(java.util.stream.Collectors) InvocationTargetException(java.lang.reflect.InvocationTargetException) Assertions.fail(org.assertj.core.api.Assertions.fail) InvalidMongoDbApiUsageException(org.springframework.data.mongodb.InvalidMongoDbApiUsageException) MongoDbFactory(org.springframework.data.mongodb.MongoDbFactory) FindIterable(com.mongodb.client.FindIterable) Id(org.springframework.data.annotation.Id) ListIndexesIterable(com.mongodb.client.ListIndexesIterable) GeoJsonPoint(org.springframework.data.mongodb.core.geo.GeoJsonPoint) IntStream(java.util.stream.IntStream) ReadPreference(com.mongodb.ReadPreference) java.util(java.util) DataAccessException(org.springframework.dao.DataAccessException) MongoMappingContext(org.springframework.data.mongodb.core.mapping.MongoMappingContext) PersistenceConstructor(org.springframework.data.annotation.PersistenceConstructor) MongoCollection(com.mongodb.client.MongoCollection) MongoCustomConversions(org.springframework.data.mongodb.core.convert.MongoCustomConversions) RunWith(org.junit.runner.RunWith) DbRefResolver(org.springframework.data.mongodb.core.convert.DbRefResolver) MappingException(org.springframework.data.mapping.MappingException) MongoCursor(com.mongodb.client.MongoCursor) MongoVersionRule(org.springframework.data.mongodb.test.util.MongoVersionRule) Assume(org.junit.Assume) Direction(org.springframework.data.domain.Sort.Direction) ExpectedException(org.junit.rules.ExpectedException) IndexInfo(org.springframework.data.mongodb.core.index.IndexInfo) BeforeConvertEvent(org.springframework.data.mongodb.core.mapping.event.BeforeConvertEvent) Before(org.junit.Before) BeforeSaveEvent(org.springframework.data.mongodb.core.mapping.event.BeforeSaveEvent) Converter(org.springframework.core.convert.converter.Converter) LazyLoadingProxy(org.springframework.data.mongodb.core.convert.LazyLoadingProxy) ObjectUtils(org.springframework.util.ObjectUtils) DateTime(org.joda.time.DateTime) Matchers(org.hamcrest.Matchers) Test(org.junit.Test) Criteria(org.springframework.data.mongodb.core.query.Criteria) Query(org.springframework.data.mongodb.core.query.Query) Field(org.springframework.data.mongodb.core.mapping.Field) IsMapContaining(org.hamcrest.collection.IsMapContaining) MappingMongoConverter(org.springframework.data.mongodb.core.convert.MappingMongoConverter) MongoVersion(org.springframework.data.mongodb.test.util.MongoVersion) DuplicateKeyException(org.springframework.dao.DuplicateKeyException) Rule(org.junit.Rule) DBRef(com.mongodb.DBRef) ContextConfiguration(org.springframework.test.context.ContextConfiguration) Data(lombok.Data) ObjectId(org.bson.types.ObjectId) DeleteResult(com.mongodb.client.result.DeleteResult) DefaultDbRefResolver(org.springframework.data.mongodb.core.convert.DefaultDbRefResolver) Assert(org.junit.Assert) WriteConcern(com.mongodb.WriteConcern) NoArgsConstructor(lombok.NoArgsConstructor) StringUtils(org.springframework.util.StringUtils) BasicQuery(org.springframework.data.mongodb.core.query.BasicQuery) Query(org.springframework.data.mongodb.core.query.Query) DeleteResult(com.mongodb.client.result.DeleteResult) Test(org.junit.Test)

Example 2 with Id

use of org.springframework.data.annotation.Id in project spring-data-mongodb by spring-projects.

the class ReactiveMongoTemplateTests method nullsPropertiesForVersionObjectUpdates.

// DATAMONGO-1444
@Test
public void nullsPropertiesForVersionObjectUpdates() {
    VersionedPerson person = new VersionedPerson();
    person.firstname = "Dave";
    person.lastname = "Matthews";
    StepVerifier.create(template.save(person)).expectNextCount(1).verifyComplete();
    assertThat(person.id, is(notNullValue()));
    person.lastname = null;
    StepVerifier.create(template.save(person)).expectNextCount(1).verifyComplete();
    // 
    StepVerifier.create(template.findOne(query(where("id").is(person.id)), VersionedPerson.class)).consumeNextWith(actual -> {
        assertThat(actual.lastname, is(nullValue()));
    }).verifyComplete();
}
Also used : Document(org.bson.Document) Arrays(java.util.Arrays) StepVerifier(reactor.test.StepVerifier) Metrics(org.springframework.data.geo.Metrics) ReplicaSet(org.springframework.data.mongodb.test.util.ReplicaSet) Autowired(org.springframework.beans.factory.annotation.Autowired) Index(org.springframework.data.mongodb.core.index.Index) OptimisticLockingFailureException(org.springframework.dao.OptimisticLockingFailureException) SpringJUnit4ClassRunner(org.springframework.test.context.junit4.SpringJUnit4ClassRunner) DataIntegrityViolationException(org.springframework.dao.DataIntegrityViolationException) PersonWithConvertedId(org.springframework.data.mongodb.core.MongoTemplateTests.PersonWithConvertedId) Map(java.util.Map) After(org.junit.After) Assertions(org.assertj.core.api.Assertions) Update(org.springframework.data.mongodb.core.query.Update) Sort(org.springframework.data.domain.Sort) VersionedPerson(org.springframework.data.mongodb.core.MongoTemplateTests.VersionedPerson) GeoSpatialIndexType(org.springframework.data.mongodb.core.index.GeoSpatialIndexType) NearQuery(org.springframework.data.mongodb.core.query.NearQuery) BlockingQueue(java.util.concurrent.BlockingQueue) Aggregation(org.springframework.data.mongodb.core.aggregation.Aggregation) LinkedBlockingQueue(java.util.concurrent.LinkedBlockingQueue) Collectors(java.util.stream.Collectors) List(java.util.List) Id(org.springframework.data.annotation.Id) GeospatialIndex(org.springframework.data.mongodb.core.index.GeospatialIndex) IntStream(java.util.stream.IntStream) Disposable(reactor.core.Disposable) RunWith(org.junit.runner.RunWith) HashMap(java.util.HashMap) BsonDocument(org.bson.BsonDocument) MappingException(org.springframework.data.mapping.MappingException) Direction(org.springframework.data.domain.Sort.Direction) ExpectedException(org.junit.rules.ExpectedException) Before(org.junit.Before) Matchers(org.hamcrest.Matchers) Mono(reactor.core.publisher.Mono) Test(org.junit.Test) IndexOperationsAdapter(org.springframework.data.mongodb.core.index.IndexOperationsAdapter) Criteria(org.springframework.data.mongodb.core.query.Criteria) Query(org.springframework.data.mongodb.core.query.Query) TimeUnit(java.util.concurrent.TimeUnit) Assumptions(org.assertj.core.api.Assumptions) Flux(reactor.core.publisher.Flux) DuplicateKeyException(org.springframework.dao.DuplicateKeyException) Rule(org.junit.Rule) ContextConfiguration(org.springframework.test.context.ContextConfiguration) Data(lombok.Data) ObjectId(org.bson.types.ObjectId) Assert(org.junit.Assert) WriteConcern(com.mongodb.WriteConcern) Collections(java.util.Collections) VersionedPerson(org.springframework.data.mongodb.core.MongoTemplateTests.VersionedPerson) Test(org.junit.Test)

Example 3 with Id

use of org.springframework.data.annotation.Id in project spring-data-jdbc by spring-projects.

the class EntityRowMapperUnitTests method simpleEntitiesGetProperlyExtracted.

// DATAJDBC-113
@Test
public void simpleEntitiesGetProperlyExtracted() throws SQLException {
    ResultSet rs = mockResultSet(// 
    asList("id", "name"), ID_FOR_ENTITY_NOT_REFERENCING_MAP, "alpha");
    rs.next();
    Trivial extracted = createRowMapper(Trivial.class).mapRow(rs, 1);
    // 
    assertThat(extracted).isNotNull().extracting(e -> e.id, // 
    e -> e.name).containsExactly(ID_FOR_ENTITY_NOT_REFERENCING_MAP, "alpha");
}
Also used : Arrays(java.util.Arrays) RequiredArgsConstructor(lombok.RequiredArgsConstructor) HashMap(java.util.HashMap) NamingStrategy(org.springframework.data.jdbc.mapping.model.NamingStrategy) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) Answer(org.mockito.stubbing.Answer) SQLException(java.sql.SQLException) InvocationOnMock(org.mockito.invocation.InvocationOnMock) ResultSet(java.sql.ResultSet) Map(java.util.Map) Assertions(org.assertj.core.api.Assertions) Jsr310Converters(org.springframework.data.convert.Jsr310Converters) SimpleEntry(java.util.AbstractMap.SimpleEntry) Set(java.util.Set) Test(org.junit.Test) GenericConversionService(org.springframework.core.convert.support.GenericConversionService) NamedParameterJdbcOperations(org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations) Mockito(org.mockito.Mockito) List(java.util.List) OperationNotSupportedException(javax.naming.OperationNotSupportedException) JdbcPersistentEntity(org.springframework.data.jdbc.mapping.model.JdbcPersistentEntity) JdbcPersistentProperty(org.springframework.data.jdbc.mapping.model.JdbcPersistentProperty) Id(org.springframework.data.annotation.Id) DefaultConversionService(org.springframework.core.convert.support.DefaultConversionService) JdbcMappingContext(org.springframework.data.jdbc.mapping.model.JdbcMappingContext) Assert(org.springframework.util.Assert) ResultSet(java.sql.ResultSet) Test(org.junit.Test)

Example 4 with Id

use of org.springframework.data.annotation.Id in project spring-data-jdbc by spring-projects.

the class EntityRowMapperUnitTests method collectionReferenceGetsLoadedWithAdditionalSelect.

// DATAJDBC-113
@Test
public void collectionReferenceGetsLoadedWithAdditionalSelect() throws SQLException {
    ResultSet rs = mockResultSet(// 
    asList("id", "name"), ID_FOR_ENTITY_NOT_REFERENCING_MAP, "alpha");
    rs.next();
    OneToSet extracted = createRowMapper(OneToSet.class).mapRow(rs, 1);
    // 
    assertThat(extracted).isNotNull().extracting(e -> e.id, e -> e.name, // 
    e -> e.children.size()).containsExactly(ID_FOR_ENTITY_NOT_REFERENCING_MAP, "alpha", 2);
}
Also used : Arrays(java.util.Arrays) RequiredArgsConstructor(lombok.RequiredArgsConstructor) HashMap(java.util.HashMap) NamingStrategy(org.springframework.data.jdbc.mapping.model.NamingStrategy) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) Answer(org.mockito.stubbing.Answer) SQLException(java.sql.SQLException) InvocationOnMock(org.mockito.invocation.InvocationOnMock) ResultSet(java.sql.ResultSet) Map(java.util.Map) Assertions(org.assertj.core.api.Assertions) Jsr310Converters(org.springframework.data.convert.Jsr310Converters) SimpleEntry(java.util.AbstractMap.SimpleEntry) Set(java.util.Set) Test(org.junit.Test) GenericConversionService(org.springframework.core.convert.support.GenericConversionService) NamedParameterJdbcOperations(org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations) Mockito(org.mockito.Mockito) List(java.util.List) OperationNotSupportedException(javax.naming.OperationNotSupportedException) JdbcPersistentEntity(org.springframework.data.jdbc.mapping.model.JdbcPersistentEntity) JdbcPersistentProperty(org.springframework.data.jdbc.mapping.model.JdbcPersistentProperty) Id(org.springframework.data.annotation.Id) DefaultConversionService(org.springframework.core.convert.support.DefaultConversionService) JdbcMappingContext(org.springframework.data.jdbc.mapping.model.JdbcMappingContext) Assert(org.springframework.util.Assert) ResultSet(java.sql.ResultSet) Test(org.junit.Test)

Example 5 with Id

use of org.springframework.data.annotation.Id in project spring-data-jdbc by spring-projects.

the class EntityRowMapperUnitTests method simpleOneToOneGetsProperlyExtracted.

// DATAJDBC-113
@Test
public void simpleOneToOneGetsProperlyExtracted() throws SQLException {
    ResultSet rs = mockResultSet(// 
    asList("id", "name", "child_id", "child_name"), ID_FOR_ENTITY_NOT_REFERENCING_MAP, "alpha", 24L, "beta");
    rs.next();
    OneToOne extracted = createRowMapper(OneToOne.class).mapRow(rs, 1);
    // 
    assertThat(extracted).isNotNull().extracting(e -> e.id, e -> e.name, e -> e.child.id, // 
    e -> e.child.name).containsExactly(ID_FOR_ENTITY_NOT_REFERENCING_MAP, "alpha", 24L, "beta");
}
Also used : Arrays(java.util.Arrays) RequiredArgsConstructor(lombok.RequiredArgsConstructor) HashMap(java.util.HashMap) NamingStrategy(org.springframework.data.jdbc.mapping.model.NamingStrategy) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) Answer(org.mockito.stubbing.Answer) SQLException(java.sql.SQLException) InvocationOnMock(org.mockito.invocation.InvocationOnMock) ResultSet(java.sql.ResultSet) Map(java.util.Map) Assertions(org.assertj.core.api.Assertions) Jsr310Converters(org.springframework.data.convert.Jsr310Converters) SimpleEntry(java.util.AbstractMap.SimpleEntry) Set(java.util.Set) Test(org.junit.Test) GenericConversionService(org.springframework.core.convert.support.GenericConversionService) NamedParameterJdbcOperations(org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations) Mockito(org.mockito.Mockito) List(java.util.List) OperationNotSupportedException(javax.naming.OperationNotSupportedException) JdbcPersistentEntity(org.springframework.data.jdbc.mapping.model.JdbcPersistentEntity) JdbcPersistentProperty(org.springframework.data.jdbc.mapping.model.JdbcPersistentProperty) Id(org.springframework.data.annotation.Id) DefaultConversionService(org.springframework.core.convert.support.DefaultConversionService) JdbcMappingContext(org.springframework.data.jdbc.mapping.model.JdbcMappingContext) Assert(org.springframework.util.Assert) ResultSet(java.sql.ResultSet) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)11 Id (org.springframework.data.annotation.Id)11 Arrays (java.util.Arrays)9 HashMap (java.util.HashMap)9 List (java.util.List)9 Assertions (org.assertj.core.api.Assertions)9 Map (java.util.Map)8 Data (lombok.Data)6 Before (org.junit.Before)6 WriteConcern (com.mongodb.WriteConcern)5 ArrayList (java.util.ArrayList)5 Collectors (java.util.stream.Collectors)5 IntStream (java.util.stream.IntStream)5 ObjectId (org.bson.types.ObjectId)5 Matchers (org.hamcrest.Matchers)5 After (org.junit.After)5 Assert (org.junit.Assert)5 Rule (org.junit.Rule)5 ExpectedException (org.junit.rules.ExpectedException)5 RunWith (org.junit.runner.RunWith)5