Skip to content

Commit 837d09e

Browse files
committed
WIP
1 parent 16fe20e commit 837d09e

File tree

1 file changed

+42
-28
lines changed

1 file changed

+42
-28
lines changed

cluster/src/test/java/io/scalecube/cluster/TransportWrapperTest.java

Lines changed: 42 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,21 @@ class TransportWrapperTest {
3939
.data("" + System.currentTimeMillis())
4040
.build();
4141

42+
private final Transport transport;
43+
private final TransportWrapper transportWrapper;
44+
45+
public TransportWrapperTest() {
46+
transport = mock(Transport.class);
47+
transportWrapper = new TransportWrapper(transport);
48+
}
49+
4250
@Nested
4351
class RequestResponseTests {
4452

4553
@Test
4654
void requestResponseShouldWork() {
4755
final List<Address> addresses = Collections.singletonList(Address.from("test:0"));
4856
final Member member = new Member("test", null, addresses, "namespace");
49-
final Transport transport = mock(Transport.class);
50-
final TransportWrapper transportWrapper = new TransportWrapper(transport);
5157

5258
when(transport.requestResponse(addresses.get(0), request)).thenReturn(Mono.just(response));
5359

@@ -57,12 +63,29 @@ void requestResponseShouldWork() {
5763
.verify();
5864
}
5965

66+
@Test
67+
void requestResponseShouldWorkThenFail() {
68+
final List<Address> addresses = Collections.singletonList(Address.from("test:0"));
69+
final Member member = new Member("test", null, addresses, "namespace");
70+
71+
when(transport.requestResponse(addresses.get(0), request))
72+
.thenReturn(Mono.just(response))
73+
.thenReturn(Mono.error(new RuntimeException("Error")));
74+
75+
StepVerifier.create(transportWrapper.requestResponse(member, request))
76+
.assertNext(message -> Assertions.assertSame(response, message, "response"))
77+
.thenCancel()
78+
.verify();
79+
80+
StepVerifier.create(transportWrapper.requestResponse(member, request))
81+
.verifyErrorSatisfies(
82+
throwable -> Assertions.assertEquals("Error", throwable.getMessage()));
83+
}
84+
6085
@Test
6186
void requestResponseShouldWorkMemberSingleAddress() {
6287
final List<Address> addresses = Collections.singletonList(Address.from("test:0"));
6388
final Member member = new Member("test", null, addresses, "namespace");
64-
final Transport transport = mock(Transport.class);
65-
final TransportWrapper transportWrapper = new TransportWrapper(transport);
6689

6790
when(transport.requestResponse(addresses.get(0), request)).thenReturn(Mono.just(response));
6891

@@ -76,8 +99,6 @@ void requestResponseShouldWorkMemberSingleAddress() {
7699
void requestResponseShouldWorkMemberTwoAddresses() {
77100
final List<Address> addresses = Arrays.asList(Address.from("test:0"), Address.from("test:1"));
78101
final Member member = new Member("test", null, addresses, "namespace");
79-
final Transport transport = mock(Transport.class);
80-
final TransportWrapper transportWrapper = new TransportWrapper(transport);
81102

82103
when(transport.requestResponse(addresses.get(0), request))
83104
.thenReturn(Mono.error(new RuntimeException("Error")));
@@ -94,8 +115,6 @@ void requestResponseShouldWorkMemberThreeAddresses() {
94115
final List<Address> addresses =
95116
Arrays.asList(Address.from("test:0"), Address.from("test:1"), Address.from("test:2"));
96117
final Member member = new Member("test", null, addresses, "namespace");
97-
final Transport transport = mock(Transport.class);
98-
final TransportWrapper transportWrapper = new TransportWrapper(transport);
99118

100119
when(transport.requestResponse(addresses.get(0), request))
101120
.thenReturn(Mono.error(new RuntimeException("Error")));
@@ -113,8 +132,6 @@ void requestResponseShouldWorkMemberThreeAddresses() {
113132
void requestResponseShouldFailMemberSingleAddress() {
114133
final List<Address> addresses = Collections.singletonList(Address.from("test:0"));
115134
final Member member = new Member("test", null, addresses, "namespace");
116-
final Transport transport = mock(Transport.class);
117-
final TransportWrapper transportWrapper = new TransportWrapper(transport);
118135

119136
when(transport.requestResponse(addresses.get(0), request))
120137
.thenReturn(Mono.error(new RuntimeException("Error")));
@@ -128,8 +145,6 @@ void requestResponseShouldFailMemberSingleAddress() {
128145
void requestResponseShouldFailMemberTwoAddresses() {
129146
final List<Address> addresses = Arrays.asList(Address.from("test:0"), Address.from("test:1"));
130147
final Member member = new Member("test", null, addresses, "namespace");
131-
final Transport transport = mock(Transport.class);
132-
final TransportWrapper transportWrapper = new TransportWrapper(transport);
133148

134149
when(transport.requestResponse(addresses.get(0), request))
135150
.thenReturn(Mono.error(new RuntimeException("Error - 0")));
@@ -146,8 +161,6 @@ void requestResponseShouldFailMemberThreeAddresses() {
146161
final List<Address> addresses =
147162
Arrays.asList(Address.from("test:0"), Address.from("test:1"), Address.from("test:2"));
148163
final Member member = new Member("test", null, addresses, "namespace");
149-
final Transport transport = mock(Transport.class);
150-
final TransportWrapper transportWrapper = new TransportWrapper(transport);
151164

152165
when(transport.requestResponse(addresses.get(0), request))
153166
.thenReturn(Mono.error(new RuntimeException("Error - 0")));
@@ -169,20 +182,31 @@ class SendTests {
169182
void sendShouldWork() {
170183
final List<Address> addresses = Collections.singletonList(Address.from("test:0"));
171184
final Member member = new Member("test", null, addresses, "namespace");
172-
final Transport transport = mock(Transport.class);
173-
final TransportWrapper transportWrapper = new TransportWrapper(transport);
174185

175186
when(transport.send(addresses.get(0), request)).thenReturn(Mono.empty());
176187

177188
StepVerifier.create(transportWrapper.send(member, request).retry(2)).verifyComplete();
178189
}
179190

191+
@Test
192+
void sendShouldWorkThenFail() {
193+
final List<Address> addresses = Collections.singletonList(Address.from("test:0"));
194+
final Member member = new Member("test", null, addresses, "namespace");
195+
196+
when(transport.send(addresses.get(0), request))
197+
.thenReturn(Mono.empty())
198+
.thenReturn(Mono.error(new RuntimeException("Error")));
199+
200+
StepVerifier.create(transportWrapper.send(member, request)).verifyComplete();
201+
StepVerifier.create(transportWrapper.send(member, request))
202+
.verifyErrorSatisfies(
203+
throwable -> Assertions.assertEquals("Error", throwable.getMessage()));
204+
}
205+
180206
@Test
181207
void sendShouldWorkMemberSingleAddress() {
182208
final List<Address> addresses = Collections.singletonList(Address.from("test:0"));
183209
final Member member = new Member("test", null, addresses, "namespace");
184-
final Transport transport = mock(Transport.class);
185-
final TransportWrapper transportWrapper = new TransportWrapper(transport);
186210

187211
when(transport.send(addresses.get(0), request)).thenReturn(Mono.empty());
188212

@@ -193,8 +217,6 @@ void sendShouldWorkMemberSingleAddress() {
193217
void sendShouldWorkMemberTwoAddresses() {
194218
final List<Address> addresses = Arrays.asList(Address.from("test:0"), Address.from("test:1"));
195219
final Member member = new Member("test", null, addresses, "namespace");
196-
final Transport transport = mock(Transport.class);
197-
final TransportWrapper transportWrapper = new TransportWrapper(transport);
198220

199221
when(transport.send(addresses.get(0), request))
200222
.thenReturn(Mono.error(new RuntimeException("Error")));
@@ -208,8 +230,6 @@ void sendShouldWorkMemberThreeAddresses() {
208230
final List<Address> addresses =
209231
Arrays.asList(Address.from("test:0"), Address.from("test:1"), Address.from("test:2"));
210232
final Member member = new Member("test", null, addresses, "namespace");
211-
final Transport transport = mock(Transport.class);
212-
final TransportWrapper transportWrapper = new TransportWrapper(transport);
213233

214234
when(transport.send(addresses.get(0), request))
215235
.thenReturn(Mono.error(new RuntimeException("Error")));
@@ -224,8 +244,6 @@ void sendShouldWorkMemberThreeAddresses() {
224244
void sendShouldFailMemberSingleAddress() {
225245
final List<Address> addresses = Collections.singletonList(Address.from("test:0"));
226246
final Member member = new Member("test", null, addresses, "namespace");
227-
final Transport transport = mock(Transport.class);
228-
final TransportWrapper transportWrapper = new TransportWrapper(transport);
229247

230248
when(transport.send(addresses.get(0), request))
231249
.thenReturn(Mono.error(new RuntimeException("Error")));
@@ -239,8 +257,6 @@ void sendShouldFailMemberSingleAddress() {
239257
void sendShouldFailMemberTwoAddresses() {
240258
final List<Address> addresses = Arrays.asList(Address.from("test:0"), Address.from("test:1"));
241259
final Member member = new Member("test", null, addresses, "namespace");
242-
final Transport transport = mock(Transport.class);
243-
final TransportWrapper transportWrapper = new TransportWrapper(transport);
244260

245261
when(transport.send(addresses.get(0), request))
246262
.thenReturn(Mono.error(new RuntimeException("Error - 0")));
@@ -257,8 +273,6 @@ void sendShouldFailMemberThreeAddresses() {
257273
final List<Address> addresses =
258274
Arrays.asList(Address.from("test:0"), Address.from("test:1"), Address.from("test:2"));
259275
final Member member = new Member("test", null, addresses, "namespace");
260-
final Transport transport = mock(Transport.class);
261-
final TransportWrapper transportWrapper = new TransportWrapper(transport);
262276

263277
when(transport.send(addresses.get(0), request))
264278
.thenReturn(Mono.error(new RuntimeException("Error - 0")));

0 commit comments

Comments
 (0)