Search in sources :

Example 6 with Id

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

the class EntityRowMapperUnitTests method listReferenceGetsLoadedWithAdditionalSelect.

// DATAJDBC-130
@Test
public void listReferenceGetsLoadedWithAdditionalSelect() throws SQLException {
    ResultSet rs = mockResultSet(// 
    asList("id", "name"), ID_FOR_ENTITY_REFERENCING_LIST, "alpha");
    rs.next();
    OneToMap extracted = createRowMapper(OneToMap.class).mapRow(rs, 1);
    // 
    assertThat(extracted).isNotNull().extracting(e -> e.id, e -> e.name, // 
    e -> e.children.size()).containsExactly(ID_FOR_ENTITY_REFERENCING_LIST, "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 7 with Id

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

the class SimpleJdbcRepositoryEventsUnitTests method createIdGeneratingOperations.

private static NamedParameterJdbcOperations createIdGeneratingOperations() {
    Answer<Integer> setIdInKeyHolder = invocation -> {
        HashMap<String, Object> keys = new HashMap<>();
        keys.put("id", 4711L);
        KeyHolder keyHolder = invocation.getArgument(2);
        keyHolder.getKeyList().add(keys);
        return 1;
    };
    NamedParameterJdbcOperations operations = mock(NamedParameterJdbcOperations.class);
    when(operations.update(anyString(), any(SqlParameterSource.class), any(KeyHolder.class))).thenAnswer(setIdInKeyHolder);
    return operations;
}
Also used : ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) Arrays(java.util.Arrays) SqlGeneratorSource(org.springframework.data.jdbc.core.SqlGeneratorSource) SqlParameterSource(org.springframework.jdbc.core.namedparam.SqlParameterSource) HashMap(java.util.HashMap) BeforeSave(org.springframework.data.jdbc.mapping.event.BeforeSave) CrudRepository(org.springframework.data.repository.CrudRepository) KeyHolder(org.springframework.jdbc.support.KeyHolder) JdbcRepositoryFactory(org.springframework.data.jdbc.repository.support.JdbcRepositoryFactory) ArrayList(java.util.ArrayList) Answer(org.mockito.stubbing.Answer) ApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher) Assertions(org.assertj.core.api.Assertions) Before(org.junit.Before) DefaultDataAccessStrategy(org.springframework.data.jdbc.core.DefaultDataAccessStrategy) JdbcEvent(org.springframework.data.jdbc.mapping.event.JdbcEvent) Tuple(org.assertj.core.groups.Tuple) AssertionFailedError(junit.framework.AssertionFailedError) Test(org.junit.Test) AfterDelete(org.springframework.data.jdbc.mapping.event.AfterDelete) NamedParameterJdbcOperations(org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations) Mockito(org.mockito.Mockito) List(java.util.List) Data(lombok.Data) Identifier(org.springframework.data.jdbc.mapping.event.Identifier) Id(org.springframework.data.annotation.Id) BeforeDelete(org.springframework.data.jdbc.mapping.event.BeforeDelete) AfterSave(org.springframework.data.jdbc.mapping.event.AfterSave) JdbcMappingContext(org.springframework.data.jdbc.mapping.model.JdbcMappingContext) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) SqlParameterSource(org.springframework.jdbc.core.namedparam.SqlParameterSource) HashMap(java.util.HashMap) KeyHolder(org.springframework.jdbc.support.KeyHolder) NamedParameterJdbcOperations(org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations)

Example 8 with Id

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

the class EntityRowMapperUnitTests method mapReferenceGetsLoadedWithAdditionalSelect.

// DATAJDBC-131
@Test
public void mapReferenceGetsLoadedWithAdditionalSelect() throws SQLException {
    ResultSet rs = mockResultSet(// 
    asList("id", "name"), ID_FOR_ENTITY_REFERENCING_MAP, "alpha");
    rs.next();
    OneToMap extracted = createRowMapper(OneToMap.class).mapRow(rs, 1);
    // 
    assertThat(extracted).isNotNull().extracting(e -> e.id, e -> e.name, // 
    e -> e.children.size()).containsExactly(ID_FOR_ENTITY_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 9 with Id

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

the class MongoTemplateTests method removeShouldConsiderSkipAndSort.

// DATAMONGO-1870
@Test
public void removeShouldConsiderSkipAndSort() {
    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(new Query().skip(25).with(Sort.by("field")), Sample.class);
    assertThat(wr.getDeletedCount()).isEqualTo(75L);
    assertThat(template.count(new Query(), Sample.class)).isEqualTo(25L);
    assertThat(template.count(query(where("field").is("lannister")), Sample.class)).isEqualTo(25L);
    assertThat(template.count(query(where("field").is("stark")), Sample.class)).isEqualTo(0L);
}
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 10 with Id

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

the class ReactiveMongoTemplateTests method testAddingToList.

// DATAMONGO-1444
@Test
public void testAddingToList() {
    PersonWithAList person = createPersonWithAList("Sven", 22);
    StepVerifier.create(template.insert(person)).expectNextCount(1).verifyComplete();
    Query query = new Query(where("id").is(person.getId()));
    StepVerifier.create(template.findOne(query, PersonWithAList.class)).consumeNextWith(actual -> {
        assertThat(actual.getWishList().size(), is(0));
    }).verifyComplete();
    person.addToWishList("please work!");
    StepVerifier.create(template.save(person)).expectNextCount(1).verifyComplete();
    StepVerifier.create(template.findOne(query, PersonWithAList.class)).consumeNextWith(actual -> {
        assertThat(actual.getWishList().size(), is(1));
    }).verifyComplete();
    Friend friend = new Friend();
    person.setFirstName("Erik");
    person.setAge(21);
    person.addFriend(friend);
    StepVerifier.create(template.save(person)).expectNextCount(1).verifyComplete();
    StepVerifier.create(template.findOne(query, PersonWithAList.class)).consumeNextWith(actual -> {
        assertThat(actual.getWishList().size(), is(1));
        assertThat(actual.getFriends().size(), is(1));
    }).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) NearQuery(org.springframework.data.mongodb.core.query.NearQuery) Query(org.springframework.data.mongodb.core.query.Query) 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