Skip to content

Commit 277bbbc

Browse files
committed
Fixed nondetermistic tests in MappingRedisConverterUnitTests.
Closes #3242
1 parent cbc02c0 commit 277bbbc

File tree

2 files changed

+20
-49
lines changed

2 files changed

+20
-49
lines changed

src/test/java/org/springframework/data/redis/core/convert/MappingRedisConverterUnitTests.java

Lines changed: 9 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -15,33 +15,9 @@
1515
*/
1616
package org.springframework.data.redis.core.convert;
1717

18-
import static org.assertj.core.api.Assertions.assertThat;
19-
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
20-
import static org.mockito.Mockito.eq;
21-
import static org.mockito.Mockito.when;
22-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.AccountInfo;
23-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.Address;
24-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.AddressWithId;
25-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.AddressWithPostcode;
26-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.Device;
27-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.ExipringPersonWithExplicitProperty;
28-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.ExpiringPerson;
29-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.Gender;
30-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.JustSomeDifferentPropertyTypes;
31-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.KEYSPACE_ACCOUNT;
32-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.KEYSPACE_PERSON;
33-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.Location;
34-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.Outer;
35-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.Person;
36-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.PersonWithConstructorAndAddress;
37-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.RecursiveConstructorPerson;
38-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.Size;
39-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.Species;
40-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.TaVeren;
41-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.TheWheelOfTime;
42-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.TypeWithMaps;
43-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.TypeWithObjectValueTypes;
44-
import static org.springframework.data.redis.core.convert.ConversionTestEntities.WithArrays;
18+
import static org.assertj.core.api.Assertions.*;
19+
import static org.mockito.Mockito.*;
20+
import static org.springframework.data.redis.core.convert.ConversionTestEntities.*;
4521

4622
import java.nio.charset.Charset;
4723
import java.nio.charset.StandardCharsets;
@@ -53,19 +29,7 @@
5329
import java.time.Period;
5430
import java.time.ZoneId;
5531
import java.time.ZonedDateTime;
56-
import java.util.ArrayList;
57-
import java.util.Arrays;
58-
import java.util.Calendar;
59-
import java.util.Collection;
60-
import java.util.Collections;
61-
import java.util.Date;
62-
import java.util.EnumSet;
63-
import java.util.HashMap;
64-
import java.util.LinkedHashMap;
65-
import java.util.List;
66-
import java.util.Map;
67-
import java.util.Set;
68-
import java.util.UUID;
32+
import java.util.*;
6933
import java.util.stream.Stream;
7034

7135
import org.assertj.core.api.InstanceOfAssertFactories;
@@ -77,6 +41,7 @@
7741
import org.junit.jupiter.params.provider.MethodSource;
7842
import org.mockito.Mock;
7943
import org.mockito.junit.jupiter.MockitoExtension;
44+
8045
import org.springframework.core.convert.converter.Converter;
8146
import org.springframework.data.convert.ReadingConverter;
8247
import org.springframework.data.convert.WritingConverter;
@@ -86,7 +51,6 @@
8651
import org.springframework.data.redis.core.mapping.RedisMappingContext;
8752
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
8853
import org.springframework.data.redis.test.util.RedisTestData;
89-
import org.springframework.util.ClassUtils;
9054
import org.springframework.util.StringUtils;
9155

9256
import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
@@ -1059,7 +1023,7 @@ void writeShouldHonorCustomConversionOnRootType() {
10591023
address.country = "Tel'aran'rhiod";
10601024
address.city = "unknown";
10611025

1062-
assertThat(write(address)).containsEntry("_raw", "{\"city\":\"unknown\",\"country\":\"Tel'aran'rhiod\"}");
1026+
assertThat(write(address).get("_raw")).contains("\"city\":\"unknown\"").contains("\"country\":\"Tel'aran'rhiod\"");
10631027
}
10641028

10651029
@Test // DATAREDIS-425, DATAREDIS-634
@@ -1080,7 +1044,7 @@ void writeShouldHonorCustomConversionOnNestedType() {
10801044
address.city = "unknown";
10811045
rand.address = address;
10821046

1083-
assertThat(write(rand)).containsEntry("address", "{\"city\":\"unknown\",\"country\":\"Tel'aran'rhiod\"}");
1047+
assertThat(write(rand).get("address")).contains("\"city\":\"unknown\"").contains("\"country\":\"Tel'aran'rhiod\"");
10841048
}
10851049

10861050
@Test // DATAREDIS-425
@@ -1775,7 +1739,8 @@ void writeShouldWritePartialUpdatePathWithRegisteredCustomConversionCorrectly()
17751739

17761740
PartialUpdate<Person> update = new PartialUpdate<>("123", Person.class).set("address", address);
17771741

1778-
assertThat(write(update)).containsEntry("address", "{\"city\":\"unknown\",\"country\":\"Tel'aran'rhiod\"}");
1742+
assertThat(write(update).get("address")).contains("\"city\":\"unknown\",")
1743+
.contains("\"country\":\"Tel'aran'rhiod\"");
17791744
}
17801745

17811746
@Test // DATAREDIS-471

src/test/java/org/springframework/data/redis/test/util/RedisTestData.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,11 @@
3737
public class RedisTestData implements AssertProvider<RedisTestData.RedisBucketAssert> {
3838

3939
private final RedisData redisData;
40+
private final Map<String, String> stringMap;
4041

41-
RedisTestData(RedisData redisData) {
42+
private RedisTestData(RedisData redisData) {
4243
this.redisData = redisData;
44+
this.stringMap = toStringMap(redisData.getBucket().asMap());
4345
}
4446

4547
public static RedisTestData from(RedisData data) {
@@ -48,7 +50,11 @@ public static RedisTestData from(RedisData data) {
4850

4951
@Override
5052
public RedisBucketAssert assertThat() {
51-
return new RedisBucketAssert(redisData);
53+
return new RedisBucketAssert(redisData, stringMap);
54+
}
55+
56+
public String get(String key) {
57+
return stringMap.get(key);
5258
}
5359

5460
public Bucket getBucket() {
@@ -69,9 +75,9 @@ public static class RedisBucketAssert extends MapAssert<String, String> {
6975

7076
private final RedisData redisData;
7177

72-
RedisBucketAssert(RedisData redisData) {
78+
RedisBucketAssert(RedisData redisData, Map<String, String> stringMap) {
7379

74-
super(toStringMap(redisData.getBucket().asMap()));
80+
super(stringMap);
7581
this.redisData = redisData;
7682
}
7783

@@ -154,6 +160,6 @@ private static Map<String, String> toStringMap(Map<String, byte[]> source) {
154160

155161
@Override
156162
public String toString() {
157-
return toStringMap(getBucket().asMap()).toString();
163+
return stringMap.toString();
158164
}
159165
}

0 commit comments

Comments
 (0)