Search in sources :

Example 16 with FlowableRxInvokerProvider

use of org.apache.cxf.jaxrs.rx3.client.FlowableRxInvokerProvider in project cxf by apache.

the class JAXRSRxJava2FlowableTest method testGetHelloWorldEmpty2.

@Test
public void testGetHelloWorldEmpty2() throws Exception {
    String address = "http://localhost:" + PORT + "/rx22/flowable/empty";
    final Flowable<Response> obs = ClientBuilder.newClient().register(new JacksonJsonProvider()).register(new FlowableRxInvokerProvider()).target(address).request(MediaType.APPLICATION_JSON).rx(FlowableRxInvoker.class).get();
    final TestSubscriber<Response> subscriber = new TestSubscriber<>();
    obs.subscribe(subscriber);
    subscriber.await(3, TimeUnit.SECONDS);
    subscriber.assertValue(r -> "[]".equals(r.readEntity(String.class))).assertComplete();
}
Also used : Response(javax.ws.rs.core.Response) FlowableRxInvokerProvider(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvokerProvider) BeforeClass(org.junit.BeforeClass) WebClient(org.apache.cxf.jaxrs.client.WebClient) Assert.assertTrue(org.junit.Assert.assertTrue) InternalServerErrorException(javax.ws.rs.InternalServerErrorException) Test(org.junit.Test) Invocation(javax.ws.rs.client.Invocation) JacksonJsonProvider(com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider) NotFoundException(javax.ws.rs.NotFoundException) TimeUnit(java.util.concurrent.TimeUnit) GenericType(javax.ws.rs.core.GenericType) ClientBuilder(javax.ws.rs.client.ClientBuilder) AbstractResourceInfo(org.apache.cxf.jaxrs.model.AbstractResourceInfo) List(java.util.List) MediaType(javax.ws.rs.core.MediaType) Response(javax.ws.rs.core.Response) Flowable(io.reactivex.Flowable) AbstractBusClientServerTestBase(org.apache.cxf.testutil.common.AbstractBusClientServerTestBase) FlowableRxInvoker(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvoker) TestSubscriber(io.reactivex.subscribers.TestSubscriber) LinkedList(java.util.LinkedList) Collections(java.util.Collections) Assert.assertEquals(org.junit.Assert.assertEquals) FlowableRxInvokerProvider(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvokerProvider) JacksonJsonProvider(com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider) FlowableRxInvoker(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvoker) TestSubscriber(io.reactivex.subscribers.TestSubscriber) Test(org.junit.Test)

Example 17 with FlowableRxInvokerProvider

use of org.apache.cxf.jaxrs.rx3.client.FlowableRxInvokerProvider in project cxf by apache.

the class JAXRSRxJava2FlowableTest method testFlowableImmediateErrorsWithExceptionMapper.

@Test
public void testFlowableImmediateErrorsWithExceptionMapper() throws Exception {
    String address = "http://localhost:" + PORT + "/rx22/flowable/immediate/mapper/errors";
    final Flowable<Response> obs = ClientBuilder.newClient().register(new JacksonJsonProvider()).register(new FlowableRxInvokerProvider()).target(address).request(MediaType.APPLICATION_JSON).rx(FlowableRxInvoker.class).get();
    final TestSubscriber<Response> subscriber = new TestSubscriber<>();
    obs.subscribe(subscriber);
    subscriber.await(3, TimeUnit.SECONDS);
    subscriber.assertValue(r -> r.getStatus() == 409 && r.readEntity(String.class).contains("stackTrace")).assertComplete();
}
Also used : Response(javax.ws.rs.core.Response) FlowableRxInvokerProvider(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvokerProvider) BeforeClass(org.junit.BeforeClass) WebClient(org.apache.cxf.jaxrs.client.WebClient) Assert.assertTrue(org.junit.Assert.assertTrue) InternalServerErrorException(javax.ws.rs.InternalServerErrorException) Test(org.junit.Test) Invocation(javax.ws.rs.client.Invocation) JacksonJsonProvider(com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider) NotFoundException(javax.ws.rs.NotFoundException) TimeUnit(java.util.concurrent.TimeUnit) GenericType(javax.ws.rs.core.GenericType) ClientBuilder(javax.ws.rs.client.ClientBuilder) AbstractResourceInfo(org.apache.cxf.jaxrs.model.AbstractResourceInfo) List(java.util.List) MediaType(javax.ws.rs.core.MediaType) Response(javax.ws.rs.core.Response) Flowable(io.reactivex.Flowable) AbstractBusClientServerTestBase(org.apache.cxf.testutil.common.AbstractBusClientServerTestBase) FlowableRxInvoker(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvoker) TestSubscriber(io.reactivex.subscribers.TestSubscriber) LinkedList(java.util.LinkedList) Collections(java.util.Collections) Assert.assertEquals(org.junit.Assert.assertEquals) FlowableRxInvokerProvider(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvokerProvider) JacksonJsonProvider(com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider) FlowableRxInvoker(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvoker) TestSubscriber(io.reactivex.subscribers.TestSubscriber) Test(org.junit.Test)

Example 18 with FlowableRxInvokerProvider

use of org.apache.cxf.jaxrs.rx3.client.FlowableRxInvokerProvider in project cxf by apache.

the class JAXRSRxJava2FlowableTest method testFlowableErrorWithExceptionMapperReturnsContentPayload.

@Test
public void testFlowableErrorWithExceptionMapperReturnsContentPayload() throws Exception {
    GenericType<List<HelloWorldBean>> helloWorldBeanListType = new GenericType<List<HelloWorldBean>>() {
    };
    String address = "http://localhost:" + PORT + "/rx22/flowable/mixed/error";
    final Flowable<Response> obs = ClientBuilder.newClient().register(new JacksonJsonProvider()).register(new FlowableRxInvokerProvider()).target(address).request(MediaType.APPLICATION_JSON).rx(FlowableRxInvoker.class).get();
    final TestSubscriber<Response> subscriber = new TestSubscriber<>();
    obs.subscribe(subscriber);
    // The response should include the emitted elements prior the error
    subscriber.await(3, TimeUnit.SECONDS);
    subscriber.assertValue(r -> r.getStatus() == 409 && r.readEntity(helloWorldBeanListType).size() == 4).assertComplete();
}
Also used : FlowableRxInvokerProvider(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvokerProvider) BeforeClass(org.junit.BeforeClass) WebClient(org.apache.cxf.jaxrs.client.WebClient) Assert.assertTrue(org.junit.Assert.assertTrue) InternalServerErrorException(javax.ws.rs.InternalServerErrorException) Test(org.junit.Test) Invocation(javax.ws.rs.client.Invocation) JacksonJsonProvider(com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider) NotFoundException(javax.ws.rs.NotFoundException) TimeUnit(java.util.concurrent.TimeUnit) GenericType(javax.ws.rs.core.GenericType) ClientBuilder(javax.ws.rs.client.ClientBuilder) AbstractResourceInfo(org.apache.cxf.jaxrs.model.AbstractResourceInfo) List(java.util.List) MediaType(javax.ws.rs.core.MediaType) Response(javax.ws.rs.core.Response) Flowable(io.reactivex.Flowable) AbstractBusClientServerTestBase(org.apache.cxf.testutil.common.AbstractBusClientServerTestBase) FlowableRxInvoker(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvoker) TestSubscriber(io.reactivex.subscribers.TestSubscriber) LinkedList(java.util.LinkedList) Collections(java.util.Collections) Assert.assertEquals(org.junit.Assert.assertEquals) FlowableRxInvokerProvider(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvokerProvider) GenericType(javax.ws.rs.core.GenericType) JacksonJsonProvider(com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider) Response(javax.ws.rs.core.Response) FlowableRxInvoker(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvoker) TestSubscriber(io.reactivex.subscribers.TestSubscriber) List(java.util.List) LinkedList(java.util.LinkedList) Test(org.junit.Test)

Example 19 with FlowableRxInvokerProvider

use of org.apache.cxf.jaxrs.rx3.client.FlowableRxInvokerProvider in project cxf by apache.

the class JAXRSRxJava2FlowableTest method testFlowableImmediateErrors.

@Test
public void testFlowableImmediateErrors() throws Exception {
    String address = "http://localhost:" + PORT + "/rx22/flowable/immediate/errors";
    final Flowable<HelloWorldBean> obs = ClientBuilder.newClient().register(new JacksonJsonProvider()).register(new FlowableRxInvokerProvider()).target(address).request(MediaType.APPLICATION_JSON).rx(FlowableRxInvoker.class).get(HelloWorldBean.class);
    final TestSubscriber<HelloWorldBean> subscriber = new TestSubscriber<>();
    obs.subscribe(subscriber);
    subscriber.await(3, TimeUnit.SECONDS);
    subscriber.assertError(InternalServerErrorException.class);
}
Also used : FlowableRxInvokerProvider(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvokerProvider) JacksonJsonProvider(com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider) FlowableRxInvoker(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvoker) TestSubscriber(io.reactivex.subscribers.TestSubscriber) Test(org.junit.Test)

Example 20 with FlowableRxInvokerProvider

use of org.apache.cxf.jaxrs.rx3.client.FlowableRxInvokerProvider in project cxf by apache.

the class JAXRSRxJava2MaybeTest method testGetString.

@Test
public void testGetString() throws Exception {
    String address = "http://localhost:" + PORT + "/rx2/maybe/textAsync";
    final Flowable<String> obs = ClientBuilder.newClient().register(new FlowableRxInvokerProvider()).target(address).request(MediaType.TEXT_PLAIN).rx(FlowableRxInvoker.class).get(String.class);
    final TestSubscriber<String> subscriber = new TestSubscriber<>();
    obs.subscribe(subscriber);
    subscriber.await(3, TimeUnit.SECONDS);
    subscriber.assertValue(r -> "Hello, world!".equals(r)).assertComplete();
}
Also used : FlowableRxInvokerProvider(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvokerProvider) BeforeClass(org.junit.BeforeClass) Assert.assertTrue(org.junit.Assert.assertTrue) InternalServerErrorException(javax.ws.rs.InternalServerErrorException) Test(org.junit.Test) JacksonJsonProvider(com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider) TimeUnit(java.util.concurrent.TimeUnit) ClientBuilder(javax.ws.rs.client.ClientBuilder) AbstractResourceInfo(org.apache.cxf.jaxrs.model.AbstractResourceInfo) MediaType(javax.ws.rs.core.MediaType) Response(javax.ws.rs.core.Response) Flowable(io.reactivex.Flowable) AbstractBusClientServerTestBase(org.apache.cxf.testutil.common.AbstractBusClientServerTestBase) FlowableRxInvoker(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvoker) TestSubscriber(io.reactivex.subscribers.TestSubscriber) FlowableRxInvokerProvider(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvokerProvider) FlowableRxInvoker(org.apache.cxf.jaxrs.rx2.client.FlowableRxInvoker) TestSubscriber(io.reactivex.subscribers.TestSubscriber) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)36 JacksonJsonProvider (com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider)30 TimeUnit (java.util.concurrent.TimeUnit)26 InternalServerErrorException (javax.ws.rs.InternalServerErrorException)26 ClientBuilder (javax.ws.rs.client.ClientBuilder)26 MediaType (javax.ws.rs.core.MediaType)26 AbstractResourceInfo (org.apache.cxf.jaxrs.model.AbstractResourceInfo)26 AbstractBusClientServerTestBase (org.apache.cxf.testutil.common.AbstractBusClientServerTestBase)26 Assert.assertTrue (org.junit.Assert.assertTrue)26 BeforeClass (org.junit.BeforeClass)26 Response (javax.ws.rs.core.Response)22 TestSubscriber (io.reactivex.rxjava3.subscribers.TestSubscriber)18 TestSubscriber (io.reactivex.subscribers.TestSubscriber)18 LinkedList (java.util.LinkedList)18 Invocation (javax.ws.rs.client.Invocation)18 WebClient (org.apache.cxf.jaxrs.client.WebClient)18 FlowableRxInvokerProvider (org.apache.cxf.jaxrs.rx2.client.FlowableRxInvokerProvider)18 FlowableRxInvokerProvider (org.apache.cxf.jaxrs.rx3.client.FlowableRxInvokerProvider)18 FlowableRxInvoker (org.apache.cxf.jaxrs.rx2.client.FlowableRxInvoker)17 FlowableRxInvoker (org.apache.cxf.jaxrs.rx3.client.FlowableRxInvoker)17