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