Make Java test more reliable (#18863)
This commit is contained in:
parent
db0bf0a26d
commit
18d8b75d5c
|
|
@ -2256,14 +2256,12 @@ class HubConnectionTest {
|
||||||
|
|
||||||
hubConnection.start().timeout(1, TimeUnit.SECONDS).blockingAwait();
|
hubConnection.start().timeout(1, TimeUnit.SECONDS).blockingAwait();
|
||||||
|
|
||||||
TimeUnit.MILLISECONDS.sleep(100);
|
String message = mockTransport.getNextSentMessage().timeout(1, TimeUnit.SECONDS).blockingGet();
|
||||||
hubConnection.stop().timeout(1, TimeUnit.SECONDS).blockingAwait();
|
assertEquals("{\"type\":6}" + RECORD_SEPARATOR, message);
|
||||||
|
message = mockTransport.getNextSentMessage().timeout(1, TimeUnit.SECONDS).blockingGet();
|
||||||
|
assertEquals("{\"type\":6}" + RECORD_SEPARATOR, message);
|
||||||
|
|
||||||
String[] sentMessages = mockTransport.getSentMessages();
|
hubConnection.stop().timeout(1, TimeUnit.SECONDS).blockingAwait();
|
||||||
assertTrue(sentMessages.length > 1);
|
|
||||||
for (int i = 1; i < sentMessages.length; i++) {
|
|
||||||
assertEquals("{\"type\":6}" + RECORD_SEPARATOR, sentMessages[i]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import java.util.ArrayList;
|
||||||
|
|
||||||
import io.reactivex.Completable;
|
import io.reactivex.Completable;
|
||||||
import io.reactivex.subjects.CompletableSubject;
|
import io.reactivex.subjects.CompletableSubject;
|
||||||
|
import io.reactivex.subjects.SingleSubject;
|
||||||
|
|
||||||
class MockTransport implements Transport {
|
class MockTransport implements Transport {
|
||||||
private OnReceiveCallBack onReceiveCallBack;
|
private OnReceiveCallBack onReceiveCallBack;
|
||||||
|
|
@ -17,6 +18,7 @@ class MockTransport implements Transport {
|
||||||
final private boolean autoHandshake;
|
final private boolean autoHandshake;
|
||||||
final private CompletableSubject startSubject = CompletableSubject.create();
|
final private CompletableSubject startSubject = CompletableSubject.create();
|
||||||
final private CompletableSubject stopSubject = CompletableSubject.create();
|
final private CompletableSubject stopSubject = CompletableSubject.create();
|
||||||
|
private SingleSubject<String> sendSubject = SingleSubject.create();
|
||||||
|
|
||||||
private static final String RECORD_SEPARATOR = "\u001e";
|
private static final String RECORD_SEPARATOR = "\u001e";
|
||||||
|
|
||||||
|
|
@ -51,6 +53,8 @@ class MockTransport implements Transport {
|
||||||
public Completable send(String message) {
|
public Completable send(String message) {
|
||||||
if (!(ignorePings && message.equals("{\"type\":6}" + RECORD_SEPARATOR))) {
|
if (!(ignorePings && message.equals("{\"type\":6}" + RECORD_SEPARATOR))) {
|
||||||
sentMessages.add(message);
|
sentMessages.add(message);
|
||||||
|
sendSubject.onSuccess(message);
|
||||||
|
sendSubject = SingleSubject.create();
|
||||||
}
|
}
|
||||||
return Completable.complete();
|
return Completable.complete();
|
||||||
}
|
}
|
||||||
|
|
@ -89,6 +93,10 @@ class MockTransport implements Transport {
|
||||||
return sentMessages.toArray(new String[sentMessages.size()]);
|
return sentMessages.toArray(new String[sentMessages.size()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public SingleSubject<String> getNextSentMessage() {
|
||||||
|
return sendSubject;
|
||||||
|
}
|
||||||
|
|
||||||
public String getUrl() {
|
public String getUrl() {
|
||||||
return this.url;
|
return this.url;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue