This is an automated email from the ASF dual-hosted git repository.
buhhunyx pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git
The following commit(s) were added to refs/heads/master by this push:
new 35109bd [cxf-systests-jaxrs] use BlockingQueue instead of Thread.sleep
35109bd is described below
commit 35109bda0481badb8ea7294d232de02fa8e9408f
Author: amarkevich <[email protected]>
AuthorDate: Wed Mar 13 12:16:04 2019 +0300
[cxf-systests-jaxrs] use BlockingQueue instead of Thread.sleep
---
.../cxf/systest/jaxrs/reactor/FluxReactorTest.java | 38 +++++++++++--------
.../cxf/systest/jaxrs/reactor/MonoReactorTest.java | 44 +++++++++++-----------
.../cxf/systest/jaxrs/reactor/MonoService.java | 2 +-
3 files changed, 46 insertions(+), 38 deletions(-)
diff --git
a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/reactor/FluxReactorTest.java
b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/reactor/FluxReactorTest.java
index 555c701..1fe4e3c 100644
---
a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/reactor/FluxReactorTest.java
+++
b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/reactor/FluxReactorTest.java
@@ -19,10 +19,12 @@
package org.apache.cxf.systest.jaxrs.reactor;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.core.MediaType;
import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
@@ -35,6 +37,7 @@ import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
public class FluxReactorTest extends AbstractBusClientServerTestBase {
@@ -48,19 +51,19 @@ public class FluxReactorTest extends
AbstractBusClientServerTestBase {
@Test
public void testGetHelloWorldJson() throws Exception {
String address = "http://localhost:" + PORT + "/reactor/flux/textJson";
- List<HelloWorldBean> collector = new ArrayList<>();
+ final BlockingQueue<HelloWorldBean> holder = new
LinkedBlockingQueue<>();
ClientBuilder.newClient()
.register(new JacksonJsonProvider())
.register(new ReactorInvokerProvider())
.target(address)
- .request("application/json")
+ .request(MediaType.APPLICATION_JSON)
.rx(ReactorInvoker.class)
.get(HelloWorldBean.class)
- .doOnNext(collector::add)
+ .doOnNext(holder::offer)
.subscribe();
- Thread.sleep(500);
- assertEquals(1, collector.size());
- HelloWorldBean bean = collector.get(0);
+
+ HelloWorldBean bean = holder.poll(1L, TimeUnit.SECONDS);
+ assertNotNull(bean);
assertEquals("Hello", bean.getGreeting());
assertEquals("World", bean.getAudience());
}
@@ -76,20 +79,23 @@ public class FluxReactorTest extends
AbstractBusClientServerTestBase {
doTestTextJsonImplicitListAsyncStream(address);
}
private void doTestTextJsonImplicitListAsyncStream(String address) throws
Exception {
- List<HelloWorldBean> holder = new ArrayList<>();
+ final BlockingQueue<HelloWorldBean> holder = new
LinkedBlockingQueue<>();
ClientBuilder.newClient()
.register(new JacksonJsonProvider())
.register(new ReactorInvokerProvider())
.target(address)
- .request("application/json")
+ .request(MediaType.APPLICATION_JSON)
.rx(ReactorInvoker.class)
.getFlux(HelloWorldBean.class)
- .doOnNext(holder::add)
+ .doOnNext(holder::offer)
.subscribe();
- Thread.sleep(500);
- assertEquals(2, holder.size());
- assertEquals("Hello", holder.get(0).getGreeting());
- assertEquals("World", holder.get(0).getAudience());
- assertEquals("Ciao", holder.get(1).getGreeting());
+
+ HelloWorldBean bean = holder.poll(1L, TimeUnit.SECONDS);
+ assertNotNull(bean);
+ assertEquals("Hello", bean.getGreeting());
+ assertEquals("World", bean.getAudience());
+ bean = holder.poll(1L, TimeUnit.SECONDS);
+ assertNotNull(bean);
+ assertEquals("Ciao", bean.getGreeting());
}
}
diff --git
a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/reactor/MonoReactorTest.java
b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/reactor/MonoReactorTest.java
index 7ed9c45..4d7be49 100644
---
a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/reactor/MonoReactorTest.java
+++
b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/reactor/MonoReactorTest.java
@@ -19,11 +19,12 @@
package org.apache.cxf.systest.jaxrs.reactor;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
import javax.ws.rs.client.ClientBuilder;
-import javax.xml.ws.Holder;
+import javax.ws.rs.core.MediaType;
import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
@@ -50,19 +51,19 @@ public class MonoReactorTest extends
AbstractBusClientServerTestBase {
@Test
public void testGetHelloWorldJson() throws Exception {
String address = "http://localhost:" + PORT + "/reactor/mono/textJson";
- List<HelloWorldBean> holder = new ArrayList<>();
+ final BlockingQueue<HelloWorldBean> holder = new
LinkedBlockingQueue<>();
ClientBuilder.newClient()
.register(new JacksonJsonProvider())
.register(new ReactorInvokerProvider())
.target(address)
- .request("application/json")
+ .request(MediaType.APPLICATION_JSON)
.rx(ReactorInvoker.class)
.get(HelloWorldBean.class)
- .doOnNext(holder::add)
+ .doOnNext(holder::offer)
.subscribe();
- Thread.sleep(500);
- assertEquals(1, holder.size());
- HelloWorldBean bean = holder.get(0);
+
+ HelloWorldBean bean = holder.poll(1L, TimeUnit.SECONDS);
+ assertNotNull(bean);
assertEquals("Hello", bean.getGreeting());
assertEquals("World", bean.getAudience());
}
@@ -70,36 +71,37 @@ public class MonoReactorTest extends
AbstractBusClientServerTestBase {
@Test
public void testTextJsonImplicitListAsyncStream() throws Exception {
String address = "http://localhost:" + PORT +
"/reactor/mono/textJsonImplicitListAsyncStream";
- Holder<HelloWorldBean> holder = new Holder<>();
+ final BlockingQueue<HelloWorldBean> holder = new
LinkedBlockingQueue<>();
ClientBuilder.newClient()
.register(new JacksonJsonProvider())
.register(new ReactorInvokerProvider())
.target(address)
- .request("application/json")
+ .request(MediaType.APPLICATION_JSON)
.rx(ReactorInvoker.class)
.get(HelloWorldBean.class)
- .doOnNext(helloWorldBean -> holder.value = helloWorldBean)
+ .doOnNext(holder::offer)
.subscribe();
- Thread.sleep(500);
- assertNotNull(holder.value);
- assertEquals("Hello", holder.value.getGreeting());
- assertEquals("World", holder.value.getAudience());
+ HelloWorldBean bean = holder.poll(1L, TimeUnit.SECONDS);
+ assertNotNull(bean);
+ assertEquals("Hello", bean.getGreeting());
+ assertEquals("World", bean.getAudience());
}
@Test
public void testGetString() throws Exception {
String address = "http://localhost:" + PORT +
"/reactor/mono/textAsync";
- Holder<String> holder = new Holder<>();
+ final BlockingQueue<String> holder = new LinkedBlockingQueue<>();
ClientBuilder.newClient()
.register(new ReactorInvokerProvider())
.target(address)
- .request("text/plain")
+ .request(MediaType.TEXT_PLAIN)
.rx(ReactorInvoker.class)
.get(String.class)
- .doOnNext(msg -> holder.value = msg)
+ .doOnNext(holder::offer)
.subscribe();
- Thread.sleep(500);
- assertEquals("Hello, world!", holder.value);
+ String value = holder.poll(1L, TimeUnit.SECONDS);
+ assertNotNull(value);
+ assertEquals("Hello, world!", value);
}
}
diff --git
a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/reactor/MonoService.java
b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/reactor/MonoService.java
index d45eb79..ebec34d 100644
---
a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/reactor/MonoService.java
+++
b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/reactor/MonoService.java
@@ -47,7 +47,7 @@ public class MonoService {
Mono.just("Hello")
.map(HelloWorldBean::new)
.subscribeOn(Schedulers.elastic())
- .subscribe(new JsonStreamingAsyncSubscriber<>(ar, null, null,
null, 1000, 0));
+ .subscribe(new JsonStreamingAsyncSubscriber<>(ar, null, null,
null, 1000L, 0L));
}
@GET