Search in sources :

Example 21 with SseEventSource

use of javax.ws.rs.sse.SseEventSource in project cxf by apache.

the class SseEventSourceImplTest method testNoReconnectWillBeScheduledWhenClosed.

@Test
public void testNoReconnectWillBeScheduledWhenClosed() throws InterruptedException {
    try (SseEventSource eventSource = withReconnect(Type.NO_SERVER)) {
        eventSource.open();
        assertThat(eventSource.isOpen(), equalTo(false));
        eventSource.close(1L, TimeUnit.SECONDS);
        // Sleep a little bit to make sure for reconnect to reschedule (after 100ms)
        Thread.sleep(150L);
        assertThat(errors.size(), equalTo(1));
    }
}
Also used : SseEventSource(javax.ws.rs.sse.SseEventSource) Test(org.junit.Test)

Example 22 with SseEventSource

use of javax.ws.rs.sse.SseEventSource in project cxf by apache.

the class SseEventSourceImplTest method testNoReconnectAndMultilineDataEventIsReceived.

@Test
public void testNoReconnectAndMultilineDataEventIsReceived() throws InterruptedException, IOException {
    try (SseEventSource eventSource = withNoReconnect(Type.EVENT_MULTILINE_DATA)) {
        eventSource.open();
        assertThat(eventSource.isOpen(), equalTo(true));
        // Allow the event processor to pull for events (150ms)
        Thread.sleep(150L);
    }
    await().atMost(Duration.ofMillis(500L)).untilAsserted(() -> assertThat(events.size(), equalTo(1)));
    assertThat(events.get(0).getName(), nullValue());
    assertThat(events.get(0).readData(), equalTo("just test data\nin multiple lines"));
}
Also used : SseEventSource(javax.ws.rs.sse.SseEventSource) Test(org.junit.Test)

Example 23 with SseEventSource

use of javax.ws.rs.sse.SseEventSource in project cxf by apache.

the class SseEventSourceImplTest method testNoReconnectAndJustDataEventIsReceived.

@Test
public void testNoReconnectAndJustDataEventIsReceived() throws InterruptedException, IOException {
    try (SseEventSource eventSource = withNoReconnect(Type.EVENT_JUST_DATA)) {
        eventSource.open();
        assertThat(eventSource.isOpen(), equalTo(true));
        // Allow the event processor to pull for events (150ms)
        Thread.sleep(150L);
    }
    await().atMost(Duration.ofMillis(500L)).untilAsserted(() -> assertThat(events.size(), equalTo(1)));
    assertThat(events.get(0).getName(), nullValue());
    assertThat(events.get(0).readData(), equalTo("just test data"));
}
Also used : SseEventSource(javax.ws.rs.sse.SseEventSource) Test(org.junit.Test)

Example 24 with SseEventSource

use of javax.ws.rs.sse.SseEventSource in project cxf by apache.

the class SseEventSourceImplTest method testNoReconnectAndOneEventReceived.

@Test
public void testNoReconnectAndOneEventReceived() throws InterruptedException, IOException {
    try (SseEventSource eventSource = withNoReconnect(Type.EVENT)) {
        eventSource.open();
        assertThat(eventSource.isOpen(), equalTo(true));
        // Allow the event processor to pull for events (150ms)
        Thread.sleep(150L);
    }
    await().atMost(Duration.ofMillis(500L)).untilAsserted(() -> assertThat(events.size(), equalTo(1)));
    assertThat(events.get(0).getId(), equalTo("1"));
    assertThat(events.get(0).getReconnectDelay(), equalTo(10000L));
    assertThat(events.get(0).getComment(), equalTo("test comment"));
    assertThat(events.get(0).readData(), equalTo("test data"));
}
Also used : SseEventSource(javax.ws.rs.sse.SseEventSource) Test(org.junit.Test)

Example 25 with SseEventSource

use of javax.ws.rs.sse.SseEventSource in project cxf by apache.

the class SseEventSourceImplTest method testNoReconnectAndJustEventNameIsReceived.

@Test
public void testNoReconnectAndJustEventNameIsReceived() throws InterruptedException, IOException {
    final Map<String, Object> properties = Collections.singletonMap(SseEventSourceImpl.DISCARD_INCOMPLETE_EVENTS, false);
    try (SseEventSource eventSource = withNoReconnect(Type.EVENT_JUST_NAME, properties)) {
        eventSource.open();
        assertThat(eventSource.isOpen(), equalTo(true));
        // Allow the event processor to pull for events (150ms)
        Thread.sleep(150L);
    }
    await().atMost(Duration.ofMillis(500L)).untilAsserted(() -> assertThat(events.size(), equalTo(1)));
    assertThat(events.get(0).getName(), equalTo("just name"));
}
Also used : SseEventSource(javax.ws.rs.sse.SseEventSource) Test(org.junit.Test)

Aggregations

SseEventSource (javax.ws.rs.sse.SseEventSource)38 Test (org.junit.Test)34 WebTarget (javax.ws.rs.client.WebTarget)13 ArrayList (java.util.ArrayList)11 CountDownLatch (java.util.concurrent.CountDownLatch)4 JerseyTest (org.glassfish.jersey.test.JerseyTest)3 JacksonJsonProvider (com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider)1 AtomicReference (java.util.concurrent.atomic.AtomicReference)1 JsonObject (javax.json.JsonObject)1 Client (javax.ws.rs.client.Client)1 Response (javax.ws.rs.core.Response)1 InboundSseEvent (javax.ws.rs.sse.InboundSseEvent)1 Builder (javax.ws.rs.sse.SseEventSource.Builder)1 Book (org.apache.cxf.systest.jaxrs.resources.Book)1 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)1 Test (org.junit.jupiter.api.Test)1 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)1