Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ public void LongPollingTransportCantSendBeforeStart() {
}

@Test
@Disabled("https://github.com/dotnet/aspnetcore/issues/35684")
public void StatusCode204StopsLongPollingTriggersOnClosed() {
AtomicBoolean firstPoll = new AtomicBoolean(true);
CompletableSubject block = CompletableSubject.create();
Expand All @@ -72,7 +71,7 @@ public void StatusCode204StopsLongPollingTriggersOnClosed() {

assertFalse(onClosedRan.get());
transport.start("http://example.com").timeout(30, TimeUnit.SECONDS).blockingAwait();
assertTrue(block.blockingAwait(1, TimeUnit.SECONDS));
assertTrue(block.blockingAwait(30, TimeUnit.SECONDS));
assertTrue(onClosedRan.get());
assertFalse(transport.isActive());
}
Expand Down Expand Up @@ -101,7 +100,7 @@ public void LongPollingFailsWhenReceivingUnexpectedErrorCode() {
});

transport.start("http://example.com").timeout(30, TimeUnit.SECONDS).blockingAwait();
assertTrue(blocker.blockingAwait(1, TimeUnit.SECONDS));
assertTrue(blocker.blockingAwait(30, TimeUnit.SECONDS));
assertFalse(transport.isActive());
assertTrue(onClosedRan.get());
}
Expand Down Expand Up @@ -159,7 +158,7 @@ public void LongPollingTransportOnReceiveGetsCalled() {
transport.setOnClose((error) -> {});

transport.start("http://example.com").timeout(30, TimeUnit.SECONDS).blockingAwait();
assertTrue(block.blockingAwait(1,TimeUnit.SECONDS));
assertTrue(block.blockingAwait(30, TimeUnit.SECONDS));
assertTrue(onReceiveCalled.get());
assertEquals("TEST", message.get());
}
Expand Down Expand Up @@ -204,7 +203,7 @@ public void LongPollingTransportOnReceiveGetsCalledMultipleTimes() {
transport.setOnClose((error) -> {});

transport.start("http://example.com").timeout(30, TimeUnit.SECONDS).blockingAwait();
assertTrue(blocker.blockingAwait(1, TimeUnit.SECONDS));
assertTrue(blocker.blockingAwait(30, TimeUnit.SECONDS));
assertTrue(onReceiveCalled.get());
assertEquals("FIRSTSECONDTHIRD", message.get());
}
Expand All @@ -220,7 +219,7 @@ public void LongPollingTransportSendsHeaders() {
requestCount.incrementAndGet();
return Single.just(new HttpResponse(200, "", TestUtils.emptyByteBuffer));
}
assertTrue(close.blockingAwait(1, TimeUnit.SECONDS));
assertTrue(close.blockingAwait(30, TimeUnit.SECONDS));
return Single.just(new HttpResponse(204, "", TestUtils.emptyByteBuffer));
}).on("POST", (req) -> {
assertFalse(req.getHeaders().isEmpty());
Expand All @@ -235,7 +234,7 @@ public void LongPollingTransportSendsHeaders() {

transport.start("http://example.com").timeout(30, TimeUnit.SECONDS).blockingAwait();
ByteBuffer sendBuffer = TestUtils.stringToByteBuffer("TEST");
assertTrue(transport.send(sendBuffer).blockingAwait(1, TimeUnit.SECONDS));
assertTrue(transport.send(sendBuffer).blockingAwait(30, TimeUnit.SECONDS));
close.onComplete();
assertEquals(headerValue.get(), "VALUE");
}
Expand All @@ -251,7 +250,7 @@ public void LongPollingTransportSetsAuthorizationHeader() {
requestCount.incrementAndGet();
return Single.just(new HttpResponse(200, "", TestUtils.emptyByteBuffer));
}
assertTrue(close.blockingAwait(1, TimeUnit.SECONDS));
assertTrue(close.blockingAwait(30, TimeUnit.SECONDS));
return Single.just(new HttpResponse(204, "", TestUtils.emptyByteBuffer));
})
.on("POST", (req) -> {
Expand All @@ -267,7 +266,7 @@ public void LongPollingTransportSetsAuthorizationHeader() {

transport.start("http://example.com").timeout(30, TimeUnit.SECONDS).blockingAwait();
ByteBuffer sendBuffer = TestUtils.stringToByteBuffer("TEST");
assertTrue(transport.send(sendBuffer).blockingAwait(1, TimeUnit.SECONDS));
assertTrue(transport.send(sendBuffer).blockingAwait(30, TimeUnit.SECONDS));
assertEquals(headerValue.get(), "Bearer TOKEN");
close.onComplete();
}
Expand All @@ -286,7 +285,7 @@ public void LongPollingTransportRunsAccessTokenProviderEveryRequest() {
}
assertEquals("Bearer TOKEN1", req.getHeaders().get("Authorization"));
secondGet.onComplete();
assertTrue(close.blockingAwait(1, TimeUnit.SECONDS));
assertTrue(close.blockingAwait(30, TimeUnit.SECONDS));
return Single.just(new HttpResponse(204, "", TestUtils.emptyByteBuffer));
})
.on("POST", (req) -> {
Expand All @@ -302,9 +301,9 @@ public void LongPollingTransportRunsAccessTokenProviderEveryRequest() {
transport.setOnClose((error) -> {});

transport.start("http://example.com").timeout(30, TimeUnit.SECONDS).blockingAwait();
secondGet.blockingAwait(1, TimeUnit.SECONDS);
secondGet.blockingAwait(30, TimeUnit.SECONDS);
ByteBuffer sendBuffer = TestUtils.stringToByteBuffer("TEST");
assertTrue(transport.send(sendBuffer).blockingAwait(1, TimeUnit.SECONDS));
assertTrue(transport.send(sendBuffer).blockingAwait(30, TimeUnit.SECONDS));
assertEquals("Bearer TOKEN2", headerValue.get());
close.onComplete();
}
Expand Down Expand Up @@ -337,12 +336,12 @@ public void After204StopDoesNotTriggerOnCloseAgain() {

assertFalse(onClosedRan.get());
transport.start("http://example.com").timeout(30, TimeUnit.SECONDS).blockingAwait();
assertTrue(block.blockingAwait(1, TimeUnit.SECONDS));
assertTrue(block.blockingAwait(30, TimeUnit.SECONDS));
assertEquals(1, onCloseCount.get());
assertTrue(onClosedRan.get());
assertFalse(transport.isActive());

assertTrue(transport.stop().blockingAwait(1, TimeUnit.SECONDS));
assertTrue(transport.stop().blockingAwait(30, TimeUnit.SECONDS));
assertEquals(1, onCloseCount.get());
}

Expand All @@ -356,7 +355,7 @@ public void StoppingTransportRunsCloseHandlersOnce() {
firstPoll.set(false);
return Single.just(new HttpResponse(200, "", TestUtils.emptyByteBuffer));
} else {
assertTrue(block.blockingAwait(1, TimeUnit.SECONDS));
assertTrue(block.blockingAwait(30, TimeUnit.SECONDS));
return Single.just(new HttpResponse(204, "", TestUtils.emptyByteBuffer));
}
})
Expand All @@ -375,7 +374,7 @@ public void StoppingTransportRunsCloseHandlersOnce() {

assertEquals(0, onCloseCount.get());
transport.start("http://example.com").timeout(30, TimeUnit.SECONDS).blockingAwait();
assertTrue(transport.stop().blockingAwait(1, TimeUnit.SECONDS));
assertTrue(transport.stop().blockingAwait(30, TimeUnit.SECONDS));
assertEquals(1, onCloseCount.get());
assertFalse(transport.isActive());
}
Expand Down