Skip to content

Commit b059d5a

Browse files
committed
Add author tags in the class headers
1 parent f07872f commit b059d5a

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

src/main/java/org/springframework/data/redis/core/RedisCommand.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
* @author Oscar Cai
3636
* @author Sébastien Volle
3737
* @author John Blum
38+
* @author LeeHyungGeol
3839
* @since 1.3
3940
* @link <a href=
4041
* "https://github.com/antirez/redis/blob/843de8b786562d8d77c78d83a971060adc61f77a/src/server.c#L180">Redis

src/test/java/org/springframework/data/redis/core/TransactionalStringRedisTemplateTests.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
* Transactional integration tests for {@link StringRedisTemplate}.
5050
*
5151
* @author Christoph Strobl
52+
* @author LeeHyungGeol
5253
*/
5354
@ParameterizedClass
5455
@MethodSource("argumentsStream")
@@ -116,6 +117,35 @@ void visibilityDuringManagedTransaction() throws SQLException {
116117
.containsEntry("isMember(inside)", false);
117118
}
118119

120+
@Test // GH-3187
121+
void allRangeWithScoresMethodsInTransactionShouldNotReturnNull() throws SQLException {
122+
123+
DataSource ds = mock(DataSource.class);
124+
when(ds.getConnection()).thenReturn(mock(Connection.class));
125+
126+
DataSourceTransactionManager txMgr = new DataSourceTransactionManager(ds);
127+
TransactionTemplate txTemplate = new TransactionTemplate(txMgr);
128+
txTemplate.afterPropertiesSet();
129+
130+
stringTemplate.opsForZSet().add("testzset", "member1", 1.0);
131+
stringTemplate.opsForZSet().add("testzset", "member2", 2.0);
132+
133+
Map<String, Object> result = txTemplate.execute(x -> {
134+
Map<String, Object> ops = new LinkedHashMap<>();
135+
ops.put("rangeWithScores", stringTemplate.opsForZSet().rangeWithScores("testzset", 0, -1));
136+
ops.put("reverseRangeWithScores", stringTemplate.opsForZSet().reverseRangeWithScores("testzset", 0, -1));
137+
ops.put("rangeByScoreWithScores", stringTemplate.opsForZSet().rangeByScoreWithScores("testzset", 1.0, 2.0));
138+
ops.put("reverseRangeByScoreWithScores", stringTemplate.opsForZSet().reverseRangeByScoreWithScores("testzset", 1.0, 2.0));
139+
return ops;
140+
});
141+
142+
// Issue #3187: All should return data, not null
143+
assertThat(result.get("rangeWithScores")).isNotNull();
144+
assertThat(result.get("reverseRangeWithScores")).isNotNull();
145+
assertThat(result.get("rangeByScoreWithScores")).isNotNull();
146+
assertThat(result.get("reverseRangeByScoreWithScores")).isNotNull();
147+
}
148+
119149
static Stream<Arguments> argumentsStream() {
120150

121151
LettuceConnectionFactory lcf = new LettuceConnectionFactory(SettingsUtils.standaloneConfiguration());

0 commit comments

Comments
 (0)