You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by cs...@apache.org on 2017/04/26 13:14:18 UTC
cxf git commit: Wait for logging message to be logged in
RESTLoggingTest
Repository: cxf
Updated Branches:
refs/heads/master 5f6cb0745 -> f4d0b2152
Wait for logging message to be logged in RESTLoggingTest
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/f4d0b215
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/f4d0b215
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/f4d0b215
Branch: refs/heads/master
Commit: f4d0b2152036c6e57f82d762464f6c96907e0a37
Parents: 5f6cb07
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Wed Apr 26 15:13:40 2017 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Wed Apr 26 15:14:12 2017 +0200
----------------------------------------------------------------------
parent/pom.xml | 6 +
rt/rs/client/pom.xml | 7 +-
.../jaxrs/client/logging/RESTLoggingTest.java | 110 +++++++++----------
3 files changed, 61 insertions(+), 62 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/f4d0b215/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index 2560100..32ad67d 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -748,6 +748,12 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.awaitility</groupId>
+ <artifactId>awaitility</artifactId>
+ <version>3.0.0-rc3</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<version>1.9.6.2</version>
http://git-wip-us.apache.org/repos/asf/cxf/blob/f4d0b215/rt/rs/client/pom.xml
----------------------------------------------------------------------
diff --git a/rt/rs/client/pom.xml b/rt/rs/client/pom.xml
index 9123d65..d05d13e 100644
--- a/rt/rs/client/pom.xml
+++ b/rt/rs/client/pom.xml
@@ -95,7 +95,7 @@
<version>1.0-alpha-1</version>
<scope>provided</scope>
<optional>true</optional>
- </dependency>
+ </dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
@@ -147,6 +147,11 @@
<version>2.1</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.awaitility</groupId>
+ <artifactId>awaitility</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<profiles>
<profile>
http://git-wip-us.apache.org/repos/asf/cxf/blob/f4d0b215/rt/rs/client/src/test/java/org/apache/cxf/jaxrs/client/logging/RESTLoggingTest.java
----------------------------------------------------------------------
diff --git a/rt/rs/client/src/test/java/org/apache/cxf/jaxrs/client/logging/RESTLoggingTest.java b/rt/rs/client/src/test/java/org/apache/cxf/jaxrs/client/logging/RESTLoggingTest.java
index a742caf..1ec1f9e 100644
--- a/rt/rs/client/src/test/java/org/apache/cxf/jaxrs/client/logging/RESTLoggingTest.java
+++ b/rt/rs/client/src/test/java/org/apache/cxf/jaxrs/client/logging/RESTLoggingTest.java
@@ -18,6 +18,7 @@
*/
package org.apache.cxf.jaxrs.client.logging;
+
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
@@ -33,10 +34,12 @@ import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
import org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean;
import org.apache.cxf.jaxrs.client.WebClient;
import org.apache.cxf.transport.local.LocalTransportFactory;
-
import org.junit.Assert;
import org.junit.Test;
+import static org.awaitility.Awaitility.await;
+import static org.hamcrest.core.Is.is;
+
public class RESTLoggingTest {
private static final String SERVICE_URI = "local://testrest";
@@ -45,104 +48,89 @@ public class RESTLoggingTest {
@Test
public void testSlf4j() throws IOException {
LoggingFeature loggingFeature = new LoggingFeature();
- Server server = createService(loggingFeature);
+ Server server = createService(SERVICE_URI, new TestServiceRest(), loggingFeature);
server.start();
- WebClient client = createClient(loggingFeature);
+ WebClient client = createClient(SERVICE_URI, loggingFeature);
String result = client.get(String.class);
server.destroy();
Assert.assertEquals("test1", result);
}
@Test
- public void testBinary() throws IOException {
+ public void testBinary() throws IOException, InterruptedException {
LoggingFeature loggingFeature = new LoggingFeature();
TestEventSender sender = new TestEventSender();
loggingFeature.setSender(sender);
- Server server = createServiceBinary(loggingFeature);
+ Server server = createService(SERVICE_URI_BINARY, new TestServiceRestBinary(), loggingFeature);
server.start();
- WebClient client = createClientBinary(loggingFeature);
+ WebClient client = createClient(SERVICE_URI_BINARY, loggingFeature);
client.get(InputStream.class).close();
loggingFeature.setLogBinary(true);
client.get(InputStream.class).close();
client.close();
+ List<LogEvent> events = sender.getEvents();
+ await().until(() -> events.size(), is(8));
server.stop();
server.destroy();
+
+ // First call with binary logging false
+ assertContentLogged(events.get(0));
+ assertContentLogged(events.get(1));
+ assertContentNotLogged(events.get(2));
+ assertContentNotLogged(events.get(3));
+
+ // Second call with binary logging true
+ assertContentLogged(events.get(4));
+ assertContentLogged(events.get(5));
+ assertContentLogged(events.get(6));
+ assertContentLogged(events.get(7));
+ }
+ @Test
+ public void testEvents() throws MalformedURLException {
+ LoggingFeature loggingFeature = new LoggingFeature();
+ loggingFeature.setLogBinary(true);
+ TestEventSender sender = new TestEventSender();
+ loggingFeature.setSender(sender);
+ Server server = createService(SERVICE_URI, new TestServiceRest(), loggingFeature);
+ server.start();
+ WebClient client = createClient(SERVICE_URI, loggingFeature);
+ String result = client.get(String.class);
+ Assert.assertEquals("test1", result);
+ server.destroy();
List<LogEvent> events = sender.getEvents();
- assertLogged(events.get(0));
- assertLogged(events.get(1));
- assertNotLogged(events.get(2));
- assertNotLogged(events.get(3));
-
- assertLogged(events.get(4));
- assertLogged(events.get(5));
- assertLogged(events.get(6));
-
- Assert.assertEquals(8, events.size());
- assertLogged(events.get(7));
+ Assert.assertEquals(4, events.size());
+ checkRequestOut(events.get(0));
+ checkRequestIn(events.get(1));
+ checkResponseOut(events.get(2));
+ checkResponseIn(events.get(3));
}
-
- private void assertLogged(LogEvent event) {
+
+ private void assertContentLogged(LogEvent event) {
Assert.assertNotEquals(AbstractLoggingInterceptor.CONTENT_SUPPRESSED, event.getPayload());
}
- private void assertNotLogged(LogEvent event) {
+ private void assertContentNotLogged(LogEvent event) {
Assert.assertEquals(AbstractLoggingInterceptor.CONTENT_SUPPRESSED, event.getPayload());
}
- private WebClient createClient(LoggingFeature loggingFeature) {
- JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean();
- bean.setAddress(SERVICE_URI);
- bean.setFeatures(Collections.singletonList(loggingFeature));
- bean.setTransportId(LocalTransportFactory.TRANSPORT_ID);
- return bean.createWebClient().path("test1");
- }
-
- private Server createService(LoggingFeature loggingFeature) {
- JAXRSServerFactoryBean factory = new JAXRSServerFactoryBean();
- factory.setAddress(SERVICE_URI);
- factory.setFeatures(Collections.singletonList(loggingFeature));
- factory.setServiceBean(new TestServiceRest());
- factory.setTransportId(LocalTransportFactory.TRANSPORT_ID);
- return factory.create();
- }
-
- private WebClient createClientBinary(LoggingFeature loggingFeature) {
+ private WebClient createClient(String serviceURI, LoggingFeature loggingFeature) {
JAXRSClientFactoryBean bean = new JAXRSClientFactoryBean();
- bean.setAddress(SERVICE_URI_BINARY);
+ bean.setAddress(serviceURI);
bean.setFeatures(Collections.singletonList(loggingFeature));
bean.setTransportId(LocalTransportFactory.TRANSPORT_ID);
return bean.createWebClient().path("test1");
}
- private Server createServiceBinary(LoggingFeature loggingFeature) {
+ private Server createService(String serviceURI, Object serviceImpl, LoggingFeature loggingFeature) {
JAXRSServerFactoryBean factory = new JAXRSServerFactoryBean();
- factory.setAddress(SERVICE_URI_BINARY);
+ factory.setAddress(serviceURI);
factory.setFeatures(Collections.singletonList(loggingFeature));
- factory.setServiceBean(new TestServiceRestBinary());
+ factory.setServiceBean(serviceImpl);
factory.setTransportId(LocalTransportFactory.TRANSPORT_ID);
return factory.create();
}
- @Test
- public void testEvents() throws MalformedURLException {
- LoggingFeature loggingFeature = new LoggingFeature();
- loggingFeature.setLogBinary(true);
- TestEventSender sender = new TestEventSender();
- loggingFeature.setSender(sender);
- Server server = createService(loggingFeature);
- server.start();
- WebClient client = createClient(loggingFeature);
- String result = client.get(String.class);
- Assert.assertEquals("test1", result);
- server.destroy();
- List<LogEvent> events = sender.getEvents();
- Assert.assertEquals(4, events.size());
- checkRequestOut(events.get(0));
- checkRequestIn(events.get(1));
- checkResponseOut(events.get(2));
- checkResponseIn(events.get(3));
- }
private void checkRequestOut(LogEvent requestOut) {
Assert.assertEquals(SERVICE_URI + "/test1", requestOut.getAddress());