Skip to content

Commit 6319433

Browse files
committed
DATAREDIS-693 - Replace blocking calls with StepVerifier in LettuceReactiveKeyCommandsTests.
1 parent 54b0bd8 commit 6319433

File tree

1 file changed

+36
-23
lines changed

1 file changed

+36
-23
lines changed

src/test/java/org/springframework/data/redis/connection/lettuce/LettuceReactiveKeyCommandsTests.java

Lines changed: 36 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import java.time.Instant;
3030
import java.util.Arrays;
3131
import java.util.Collections;
32+
import java.util.List;
3233

3334
import org.junit.Rule;
3435
import org.junit.Test;
@@ -54,12 +55,12 @@ public void existsShouldReturnTrueForExistingKeys() {
5455

5556
nativeCommands.set(KEY_1, VALUE_1);
5657

57-
assertThat(connection.keyCommands().exists(KEY_1_BBUFFER).block(), is(true));
58+
StepVerifier.create(connection.keyCommands().exists(KEY_1_BBUFFER)).expectNext(true).verifyComplete();
5859
}
5960

6061
@Test // DATAREDIS-525
6162
public void existsShouldReturnFalseForNonExistingKeys() {
62-
assertThat(connection.keyCommands().exists(KEY_1_BBUFFER).block(), is(false));
63+
StepVerifier.create(connection.keyCommands().exists(KEY_1_BBUFFER)).expectNext(false).verifyComplete();
6364
}
6465

6566
@Test // DATAREDIS-525
@@ -69,9 +70,9 @@ public void typeShouldReturnTypeCorrectly() {
6970
nativeCommands.sadd(KEY_2, VALUE_2);
7071
nativeCommands.hset(KEY_3, KEY_1, VALUE_1);
7172

72-
assertThat(connection.keyCommands().type(KEY_1_BBUFFER).block(), is(DataType.STRING));
73-
assertThat(connection.keyCommands().type(KEY_2_BBUFFER).block(), is(DataType.SET));
74-
assertThat(connection.keyCommands().type(KEY_3_BBUFFER).block(), is(DataType.HASH));
73+
StepVerifier.create(connection.keyCommands().type(KEY_1_BBUFFER)).expectNext(DataType.STRING).verifyComplete();
74+
StepVerifier.create(connection.keyCommands().type(KEY_2_BBUFFER)).expectNext(DataType.SET).verifyComplete();
75+
StepVerifier.create(connection.keyCommands().type(KEY_3_BBUFFER)).expectNext(DataType.HASH).verifyComplete();
7576
}
7677

7778
@Test // DATAREDIS-525
@@ -85,8 +86,12 @@ public void keysShouldReturnCorrectly() {
8586
nativeCommands.set(VALUE_2, KEY_2);
8687
nativeCommands.set(VALUE_3, KEY_3);
8788

88-
assertThat(connection.keyCommands().keys(ByteBuffer.wrap("*".getBytes())).block(), hasSize(6));
89-
assertThat(connection.keyCommands().keys(ByteBuffer.wrap("key*".getBytes())).block(), hasSize(3));
89+
StepVerifier.create(connection.keyCommands().keys(ByteBuffer.wrap("*".getBytes())).flatMapIterable(it -> it)) //
90+
.expectNextCount(6) //
91+
.verifyComplete();
92+
93+
StepVerifier.create(connection.keyCommands().keys(ByteBuffer.wrap("key*".getBytes())).flatMapIterable(it -> it)) //
94+
.expectNextCount(3).verifyComplete();
9095
}
9196

9297
@Test // DATAREDIS-525
@@ -96,35 +101,39 @@ public void randomKeyShouldReturnAnyKey() {
96101
nativeCommands.set(KEY_2, VALUE_2);
97102
nativeCommands.set(KEY_3, VALUE_3);
98103

99-
assertThat(connection.keyCommands().randomKey().block(), is(notNullValue()));
104+
StepVerifier.create(connection.keyCommands().randomKey()).expectNextCount(1).verifyComplete();
100105
}
101106

102107
@Test // DATAREDIS-525
103108
public void randomKeyShouldReturnNullWhenNoKeyExists() {
104-
assertThat(connection.keyCommands().randomKey().block(), is(nullValue()));
109+
StepVerifier.create(connection.keyCommands().randomKey()).verifyComplete();
105110
}
106111

107112
@Test // DATAREDIS-525
108113
public void renameShouldAlterKeyNameCorrectly() {
109114

110115
nativeCommands.set(KEY_1, VALUE_2);
111116

112-
assertThat(connection.keyCommands().rename(KEY_1_BBUFFER, KEY_2_BBUFFER).block(), is(true));
117+
StepVerifier.create(connection.keyCommands().rename(KEY_1_BBUFFER, KEY_2_BBUFFER)).expectNext(true)
118+
.verifyComplete();
113119
assertThat(nativeCommands.exists(KEY_2), is(1L));
114120
assertThat(nativeCommands.exists(KEY_1), is(0L));
115121
}
116122

117-
@Test(expected = RedisSystemException.class) // DATAREDIS-525
123+
@Test // DATAREDIS-525
118124
public void renameShouldThrowErrorWhenKeyDoesNotExist() {
119-
assertThat(connection.keyCommands().rename(KEY_1_BBUFFER, KEY_2_BBUFFER).block(), is(true));
125+
126+
StepVerifier.create(connection.keyCommands().rename(KEY_1_BBUFFER, KEY_2_BBUFFER))
127+
.expectError(RedisSystemException.class).verify();
120128
}
121129

122130
@Test // DATAREDIS-525
123131
public void renameNXShouldAlterKeyNameCorrectly() {
124132

125133
nativeCommands.set(KEY_1, VALUE_2);
126134

127-
assertThat(connection.keyCommands().rename(KEY_1_BBUFFER, KEY_2_BBUFFER).block(), is(true));
135+
StepVerifier.create(connection.keyCommands().renameNX(KEY_1_BBUFFER, KEY_2_BBUFFER)).expectNext(true)
136+
.verifyComplete();
128137

129138
assertThat(nativeCommands.exists(KEY_2), is(1L));
130139
assertThat(nativeCommands.exists(KEY_1), is(0L));
@@ -136,16 +145,16 @@ public void renameNXShouldNotAlterExistingKeyName() {
136145
nativeCommands.set(KEY_1, VALUE_2);
137146
nativeCommands.set(KEY_2, VALUE_2);
138147

139-
assertThat(connection.keyCommands().renameNX(KEY_1_BBUFFER, KEY_2_BBUFFER).block(), is(false));
148+
StepVerifier.create(connection.keyCommands().renameNX(KEY_1_BBUFFER, KEY_2_BBUFFER)).expectNext(false)
149+
.verifyComplete();
140150
}
141151

142152
@Test // DATAREDIS-525
143153
public void shouldDeleteKeyCorrectly() {
144154

145155
nativeCommands.set(KEY_1, VALUE_1);
146156

147-
Mono<Long> result = connection.keyCommands().del(KEY_1_BBUFFER);
148-
assertThat(result.block(), is(1L));
157+
StepVerifier.create(connection.keyCommands().del(KEY_1_BBUFFER)).expectNext(1L).verifyComplete();
149158
}
150159

151160
@Test // DATAREDIS-525
@@ -168,7 +177,7 @@ public void shouldDeleteKeysInBatchCorrectly() {
168177

169178
Mono<Long> result = connection.keyCommands().mDel(Arrays.asList(KEY_1_BBUFFER, KEY_2_BBUFFER));
170179

171-
assertThat(result.block(), is(2L));
180+
StepVerifier.create(result).expectNext(2L).verifyComplete();
172181
}
173182

174183
@Test // DATAREDIS-525
@@ -177,9 +186,11 @@ public void shouldDeleteKeysInMultipleBatchesCorrectly() {
177186
nativeCommands.set(KEY_1, VALUE_1);
178187
nativeCommands.set(KEY_2, VALUE_2);
179188

189+
Flux<List<ByteBuffer>> input = Flux.just(Arrays.asList(KEY_1_BBUFFER, KEY_2_BBUFFER),
190+
Collections.singletonList(KEY_1_BBUFFER));
191+
180192
Flux<Long> result = connection.keyCommands()
181-
.mDel(
182-
Flux.fromIterable(Arrays.asList(Arrays.asList(KEY_1_BBUFFER, KEY_2_BBUFFER), Arrays.asList(KEY_1_BBUFFER))))
193+
.mDel(input)
183194
.map(NumericResponse::getOutput);
184195

185196
StepVerifier.create(result).expectNextCount(2).verifyComplete();
@@ -216,7 +227,7 @@ public void shouldUnlinkKeysInBatchCorrectly() {
216227

217228
Mono<Long> result = connection.keyCommands().mUnlink(Arrays.asList(KEY_1_BBUFFER, KEY_2_BBUFFER));
218229

219-
assertThat(result.block(), is(2L));
230+
StepVerifier.create(result).expectNext(2L).verifyComplete();
220231
}
221232

222233
@Test // DATAREDIS-693
@@ -226,9 +237,11 @@ public void shouldUnlinkKeysInMultipleBatchesCorrectly() {
226237
nativeCommands.set(KEY_1, VALUE_1);
227238
nativeCommands.set(KEY_2, VALUE_2);
228239

240+
Flux<List<ByteBuffer>> input = Flux.just(Arrays.asList(KEY_1_BBUFFER, KEY_2_BBUFFER),
241+
Collections.singletonList(KEY_1_BBUFFER));
242+
229243
Flux<Long> result = connection.keyCommands()
230-
.mUnlink(Flux.fromIterable(
231-
Arrays.asList(Arrays.asList(KEY_1_BBUFFER, KEY_2_BBUFFER), Collections.singletonList(KEY_1_BBUFFER))))
244+
.mUnlink(input)
232245
.map(NumericResponse::getOutput);
233246

234247
StepVerifier.create(result).expectNextCount(2).verifyComplete();
@@ -357,7 +370,7 @@ public void touchReturnsNrOfKeysTouched() {
357370
@Test // DATAREDIS-694
358371
public void touchReturnsZeroIfNoKeysTouched() {
359372

360-
StepVerifier.create(connection.keyCommands().touch(Arrays.asList(KEY_1_BBUFFER))) //
373+
StepVerifier.create(connection.keyCommands().touch(Collections.singletonList(KEY_1_BBUFFER))) //
361374
.expectNext(0L) //
362375
.verifyComplete();
363376
}

0 commit comments

Comments
 (0)