DATAREDIS-911 - Polishing.

Reorder tests and remove deprecation warning in MappingRedisConverter.

Original Pull Request: #537
This commit is contained in:
Christoph Strobl
2020-06-22 14:36:12 +02:00
parent 0a67b7a096
commit fee28536e5
3 changed files with 43 additions and 47 deletions

View File

@@ -18,8 +18,6 @@ package org.springframework.data.redis.core.convert;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import java.time.Duration;
import java.time.Instant;
@@ -241,13 +239,12 @@ public class ConversionTestEntities {
}
static class Inner {
List<String> values;
}
@RedisHash(KEYSPACE_ACCOUNT)
@Getter
@Setter
@Data
public static class AccountInfo {
@Id private String id;

View File

@@ -1847,6 +1847,43 @@ public class MappingRedisConverterUnitTests {
assertThat(outer.inners.get(0).values).isEqualTo(Arrays.asList("i-1", "i-2"));
}
@Test // DATAREDIS-911
public void writeEntityWithCustomConverter() {
this.converter = new MappingRedisConverter(null, null, resolverMock);
this.converter
.setCustomConversions(new RedisCustomConversions(Collections.singletonList(new AccountInfoToBytesConverter())));
this.converter.afterPropertiesSet();
AccountInfo accountInfo = new AccountInfo();
accountInfo.setId("ai-id-1");
accountInfo.setAccount("123456");
accountInfo.setAccountName("Inamur Rahman Sadid");
assertThat(write(accountInfo).getRedisData().getId()).isEqualTo(accountInfo.getId());
}
@Test // DATAREDIS-911
public void readEntityWithCustomConverter() {
this.converter = new MappingRedisConverter(null, null, resolverMock);
this.converter
.setCustomConversions(new RedisCustomConversions(Collections.singletonList(new BytesToAccountInfoConverter())));
this.converter.afterPropertiesSet();
Bucket bucket = new Bucket();
bucket.put("_raw", "ai-id-1|123456|Golam Mazid Sajib".getBytes(StandardCharsets.UTF_8));
RedisData redisData = new RedisData(bucket);
redisData.setKeyspace(KEYSPACE_ACCOUNT);
redisData.setId("ai-id-1");
AccountInfo target = converter.read(AccountInfo.class, redisData);
assertThat(target.getAccount()).isEqualTo("123456");
assertThat(target.getAccountName()).isEqualTo("Golam Mazid Sajib");
}
private RedisTestData write(Object source) {
RedisData rdo = new RedisData();
@@ -1947,43 +1984,6 @@ public class MappingRedisConverterUnitTests {
}
}
@Test // DATAREDIS-911
public void writeEntityWithCustomConverter() {
this.converter = new MappingRedisConverter(null, null, resolverMock);
this.converter
.setCustomConversions(new RedisCustomConversions(Collections.singletonList(new AccountInfoToBytesConverter())));
this.converter.afterPropertiesSet();
AccountInfo accountInfo = new AccountInfo();
accountInfo.setId("ai-id-1");
accountInfo.setAccount("123456");
accountInfo.setAccountName("Inamur Rahman Sadid");
assertThat(write(accountInfo).getRedisData().getId()).isEqualTo(accountInfo.getId());
}
@Test // DATAREDIS-911
public void readEntityWithCustomConverter() {
this.converter = new MappingRedisConverter(null, null, resolverMock);
this.converter
.setCustomConversions(new RedisCustomConversions(Collections.singletonList(new BytesToAccountInfoConverter())));
this.converter.afterPropertiesSet();
Bucket bucket = new Bucket();
bucket.put("_raw", "ai-id-1|123456|Golam Mazid Sajib".getBytes(StandardCharsets.UTF_8));
RedisData redisData = new RedisData(bucket);
redisData.setKeyspace(KEYSPACE_ACCOUNT);
redisData.setId("ai-id-1");
AccountInfo target = converter.read(AccountInfo.class, redisData);
assertThat(target.getAccount()).isEqualTo("123456");
assertThat(target.getAccountName()).isEqualTo("Golam Mazid Sajib");
}
@WritingConverter
static class AccountInfoToBytesConverter implements Converter<AccountInfo, byte[]> {