From c0eef8692174f4faf8eb51a091c6d94c7251f246 Mon Sep 17 00:00:00 2001 From: Michael Mantos Date: Thu, 20 Oct 2022 01:00:01 +0800 Subject: [PATCH 1/4] JAVA-56 - Add logging to transport and httpclient and update dependencies --- pom.xml | 16 ++--- .../stackify/api/common/http/HttpClient.java | 15 +++++ .../stackify/api/common/log/LogAppender.java | 13 +++++ .../common/log/LogTransportAgentSocket.java | 18 ++++++ .../api/common/log/LogTransportDirect.java | 14 +++++ .../api/common/log/LogAppenderTest.java | 9 ++- .../api/common/log/LogSenderTest.java | 58 +++++++++++++++++-- 7 files changed, 127 insertions(+), 16 deletions(-) diff --git a/pom.xml b/pom.xml index 4f74267..0e596ed 100644 --- a/pom.xml +++ b/pom.xml @@ -47,16 +47,16 @@ 1.8 1.7.28 - 2.9.9 - 2.9.10.5 - 4.5.9 + 2.12.7 + 2.12.6.1 + 4.5.13 2.2.0 2.3.0 - 3.9.1 + 3.16.3 1.18.8 - 4.11 - 1.9.5 - 1.5.6 + 4.13.1 + 2.8.9 + 1.7.4 @@ -167,7 +167,7 @@ org.powermock - powermock-api-mockito + powermock-api-mockito2 ${powermock.version} test diff --git a/src/main/java/com/stackify/api/common/http/HttpClient.java b/src/main/java/com/stackify/api/common/http/HttpClient.java index aaefb5b..5f1d208 100644 --- a/src/main/java/com/stackify/api/common/http/HttpClient.java +++ b/src/main/java/com/stackify/api/common/http/HttpClient.java @@ -15,10 +15,14 @@ */ package com.stackify.api.common.http; +import com.fasterxml.jackson.databind.ObjectMapper; import com.stackify.api.common.ApiConfiguration; import com.stackify.api.common.util.CharStreams; import com.stackify.api.common.util.Preconditions; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.IOException; @@ -56,6 +60,8 @@ public class HttpClient { */ private final Proxy proxy; + private static final Logger LOGGER = LoggerFactory.getLogger(HttpClient.class); + /** * Constructor * @param apiConfig API configuration @@ -107,6 +113,15 @@ public String post(final String path, final byte[] jsonBytes, final boolean gzip URL url = new URL(apiConfig.getApiUrl() + path); // request properties + if (LOGGER.isDebugEnabled()) { + LOGGER.debug( + "#HttpClient #Post Sending request to {}/{} - Body: {}", + apiConfig.getApiUrl(), + path, + (new ObjectMapper()) + .writeValueAsString(jsonBytes) + ); + } connection = (HttpURLConnection) url.openConnection(proxy); connection.setDoInput(true); diff --git a/src/main/java/com/stackify/api/common/log/LogAppender.java b/src/main/java/com/stackify/api/common/log/LogAppender.java index fd9fdeb..89c0b11 100644 --- a/src/main/java/com/stackify/api/common/log/LogAppender.java +++ b/src/main/java/com/stackify/api/common/log/LogAppender.java @@ -23,6 +23,10 @@ import com.stackify.api.common.error.ErrorGovernor; import com.stackify.api.common.mask.Masker; import com.stackify.api.common.util.Preconditions; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import lombok.NonNull; import java.io.Closeable; @@ -35,6 +39,11 @@ */ public class LogAppender implements Closeable { + /** + * The appender logger + */ + private static final Logger LOGGER = LoggerFactory.getLogger(LogAppender.class); + /** * Internal package prefix */ @@ -203,6 +212,10 @@ public void append(final T event) { LogMsg logMsg = eventAdapter.getLogMsg(event, error); + if (LOGGER.isDebugEnabled()) { + LOGGER.info("#Log #Appender #Template Logging mesage: {}", event); + } + collector.addLogMsg(logMsg); } } diff --git a/src/main/java/com/stackify/api/common/log/LogTransportAgentSocket.java b/src/main/java/com/stackify/api/common/log/LogTransportAgentSocket.java index 884df64..1797973 100644 --- a/src/main/java/com/stackify/api/common/log/LogTransportAgentSocket.java +++ b/src/main/java/com/stackify/api/common/log/LogTransportAgentSocket.java @@ -15,6 +15,7 @@ */ package com.stackify.api.common.log; +import com.fasterxml.jackson.databind.ObjectMapper; import com.stackify.api.LogMsgGroup; import com.stackify.api.common.ApiConfiguration; import com.stackify.api.common.mask.Masker; @@ -25,6 +26,8 @@ import lombok.extern.slf4j.Slf4j; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ByteArrayEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Log Transport - Agent Socket @@ -46,6 +49,11 @@ public class LogTransportAgentSocket implements LogTransport { private final HttpSocketClient httpSocketClient; + /** + * The transport logger + */ + private static final Logger LOGGER = LoggerFactory.getLogger(LogTransportAgentSocket.class); + public LogTransportAgentSocket(@NonNull final ApiConfiguration apiConfig, Masker masker, boolean skipJson) { @@ -73,6 +81,16 @@ public void send(@NonNull final LogMsgGroup group) throws Exception { HttpPost httpPost = new HttpPost(URI_PREFIX + "/log"); httpPost.setHeader("Content-Type", "application/x-protobuf"); httpPost.setEntity(new ByteArrayEntity(logGroup.toByteArray())); + + if (LOGGER.isDebugEnabled()) { + LOGGER.debug( + "#Log #Transport #Socket Sending request to {} - Body: {}", + httpPost.getURI(), + (new ObjectMapper()) + .writeValueAsString(group) + ); + } + httpSocketClient.send(httpPost); } catch (Throwable e) { log.info("Queueing logs for retransmission due to Exception"); diff --git a/src/main/java/com/stackify/api/common/log/LogTransportDirect.java b/src/main/java/com/stackify/api/common/log/LogTransportDirect.java index 2b4ea6f..f6e94a6 100644 --- a/src/main/java/com/stackify/api/common/log/LogTransportDirect.java +++ b/src/main/java/com/stackify/api/common/log/LogTransportDirect.java @@ -20,6 +20,10 @@ import com.stackify.api.common.ApiConfiguration; import com.stackify.api.common.http.HttpClient; import com.stackify.api.common.mask.Masker; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import lombok.NonNull; import lombok.extern.slf4j.Slf4j; @@ -49,6 +53,8 @@ public class LogTransportDirect implements LogTransport { private final LogTransportPreProcessor logTransportPreProcessor; + private static final Logger LOGGER = LoggerFactory.getLogger(LogTransportAgentSocket.class); + /** * Default constructor * @@ -84,6 +90,14 @@ public void send(@NonNull final LogMsgGroup group) throws Exception { // post to stackify try { + if (LOGGER.isDebugEnabled()) { + LOGGER.debug( + "#Log #Transport #Direct Sending request to {} - Body: {}", + LOG_SAVE_PATH, + objectMapper + .writeValueAsString(group) + ); + } httpClient.post(LOG_SAVE_PATH, jsonBytes, true); } catch (Exception e) { log.info("Queueing logs for retransmission due to Exception"); diff --git a/src/test/java/com/stackify/api/common/log/LogAppenderTest.java b/src/test/java/com/stackify/api/common/log/LogAppenderTest.java index 9ce351c..f57d541 100644 --- a/src/test/java/com/stackify/api/common/log/LogAppenderTest.java +++ b/src/test/java/com/stackify/api/common/log/LogAppenderTest.java @@ -90,10 +90,13 @@ public void testClose() throws Exception { public void testAppend() throws Exception { String event = "log event"; Throwable t = new NullPointerException(); - + StackifyError error = Mockito.mock(StackifyError.class); + LogMsg logMsg = Mockito.mock(LogMsg.class); + EventAdapter adapter = Mockito.mock(EventAdapter.class); Mockito.when(adapter.getThrowable(event)).thenReturn(t); - Mockito.when(adapter.getStackifyError(event, t)).thenReturn(Mockito.mock(StackifyError.class)); + Mockito.when(adapter.getStackifyError(event, t)).thenReturn(error); + Mockito.when(adapter.getLogMsg(event, error)).thenReturn(logMsg); ErrorGovernor governor = Mockito.mock(ErrorGovernor.class); Mockito.when(governor.errorShouldBeSent(Mockito.any(StackifyError.class))).thenReturn(true); @@ -117,7 +120,7 @@ public void testAppend() throws Exception { appender.close(); - Mockito.verify(collector).addLogMsg(Mockito.any(LogMsg.class)); + Mockito.verify(collector).addLogMsg(logMsg); } /** diff --git a/src/test/java/com/stackify/api/common/log/LogSenderTest.java b/src/test/java/com/stackify/api/common/log/LogSenderTest.java index 009f34d..bc8f452 100644 --- a/src/test/java/com/stackify/api/common/log/LogSenderTest.java +++ b/src/test/java/com/stackify/api/common/log/LogSenderTest.java @@ -15,12 +15,18 @@ */ package com.stackify.api.common.log; +import java.util.ArrayList; +import java.util.List; + import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; +import com.stackify.api.LogMsg; import com.stackify.api.LogMsgGroup; import com.stackify.api.common.ApiConfiguration; import com.stackify.api.common.http.HttpClient; import com.stackify.api.common.mask.Masker; +import com.stackify.api.common.socket.HttpSocketClient; + +import org.apache.http.client.methods.HttpPost; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; @@ -33,7 +39,7 @@ * @author Eric Martin */ @RunWith(PowerMockRunner.class) -@PrepareForTest({LogTransportDirect.class, HttpClient.class}) +@PrepareForTest({LogTransportDirect.class, LogTransportAgentSocket.class, HttpClient.class}) public class LogSenderTest { /** @@ -42,9 +48,21 @@ public class LogSenderTest { */ @Test public void testSend() throws Exception { - ObjectMapper objectMapper = Mockito.mock(ObjectMapper.class); + ObjectMapper objectMapper = new ObjectMapper(); Masker masker = Mockito.mock(Masker.class); - Mockito.when(objectMapper.writer()).thenReturn(Mockito.mock(ObjectWriter.class)); + LogMsgGroup logMsgGroup = new LogMsgGroup(); + LogMsg logMsg = new LogMsg(); + logMsg.setMsg("test message"); + + List logMsgList = new ArrayList(); + logMsgList.add(logMsg); + + logMsgGroup.setAppName("AppName Test"); + logMsgGroup.setMsgs( + logMsgList + ); + + // Mockito.when(objectMapper.writer()).thenReturn(Mockito.mock(ObjectWriter.class)); ApiConfiguration apiConfig = ApiConfiguration.newBuilder().apiUrl("url").apiKey("key").build(); @@ -54,6 +72,36 @@ public void testSend() throws Exception { PowerMockito.whenNew(HttpClient.class).withAnyArguments().thenReturn(httpClient); PowerMockito.when(httpClient.post(Mockito.anyString(), (byte[]) Mockito.any())).thenReturn(""); - sender.send(Mockito.mock(LogMsgGroup.class)); + sender.send(logMsgGroup); + } + + /** + * testSend + * @throws Exception + */ + @Test + public void testSendSocket() throws Exception { + ObjectMapper objectMapper = new ObjectMapper(); + Masker masker = Mockito.mock(Masker.class); + LogMsgGroup logMsgGroup = new LogMsgGroup(); + LogMsg logMsg = new LogMsg(); + logMsg.setMsg("test message"); + + List logMsgList = new ArrayList(); + logMsgList.add(logMsg); + + logMsgGroup.setAppName("AppName Test"); + logMsgGroup.setMsgs( + logMsgList + ); + + ApiConfiguration apiConfig = ApiConfiguration.newBuilder().apiUrl("url").apiKey("key").build(); + + HttpSocketClient httpSocketClient = PowerMockito.spy(new HttpSocketClient("testSocket")); + PowerMockito.whenNew(HttpSocketClient.class).withAnyArguments().thenReturn(httpSocketClient); + PowerMockito.doNothing().when(httpSocketClient).send(Mockito.any(HttpPost.class)); + + LogTransportAgentSocket sender = new LogTransportAgentSocket(apiConfig, masker, true); + sender.send(logMsgGroup); } } From b0cb996b128e904470d95ddb2557733e69bac3cd Mon Sep 17 00:00:00 2001 From: Michael Mantos Date: Fri, 21 Oct 2022 02:43:38 +0800 Subject: [PATCH 2/4] JAVA-56 - Fix tabs to spaces --- .../com/stackify/api/common/http/HttpClient.java | 12 ++++++------ .../com/stackify/api/common/log/LogAppender.java | 6 +++--- .../api/common/log/LogTransportAgentSocket.java | 6 +++--- .../stackify/api/common/log/LogTransportDirect.java | 3 +++ 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/stackify/api/common/http/HttpClient.java b/src/main/java/com/stackify/api/common/http/HttpClient.java index 5f1d208..a2d4dab 100644 --- a/src/main/java/com/stackify/api/common/http/HttpClient.java +++ b/src/main/java/com/stackify/api/common/http/HttpClient.java @@ -114,14 +114,14 @@ public String post(final String path, final byte[] jsonBytes, final boolean gzip // request properties if (LOGGER.isDebugEnabled()) { - LOGGER.debug( - "#HttpClient #Post Sending request to {}/{} - Body: {}", + LOGGER.debug( + "#HttpClient #Post Sending request to {}/{} - Body: {}", apiConfig.getApiUrl(), path, - (new ObjectMapper()) - .writeValueAsString(jsonBytes) - ); - } + (new ObjectMapper()) + .writeValueAsString(jsonBytes) + ); + } connection = (HttpURLConnection) url.openConnection(proxy); connection.setDoInput(true); diff --git a/src/main/java/com/stackify/api/common/log/LogAppender.java b/src/main/java/com/stackify/api/common/log/LogAppender.java index 89c0b11..c5e8cff 100644 --- a/src/main/java/com/stackify/api/common/log/LogAppender.java +++ b/src/main/java/com/stackify/api/common/log/LogAppender.java @@ -40,9 +40,9 @@ public class LogAppender implements Closeable { /** - * The appender logger - */ - private static final Logger LOGGER = LoggerFactory.getLogger(LogAppender.class); + * The appender logger + */ + private static final Logger LOGGER = LoggerFactory.getLogger(LogAppender.class); /** * Internal package prefix diff --git a/src/main/java/com/stackify/api/common/log/LogTransportAgentSocket.java b/src/main/java/com/stackify/api/common/log/LogTransportAgentSocket.java index 1797973..a3793df 100644 --- a/src/main/java/com/stackify/api/common/log/LogTransportAgentSocket.java +++ b/src/main/java/com/stackify/api/common/log/LogTransportAgentSocket.java @@ -50,9 +50,9 @@ public class LogTransportAgentSocket implements LogTransport { private final HttpSocketClient httpSocketClient; /** - * The transport logger - */ - private static final Logger LOGGER = LoggerFactory.getLogger(LogTransportAgentSocket.class); + * The transport logger + */ + private static final Logger LOGGER = LoggerFactory.getLogger(LogTransportAgentSocket.class); public LogTransportAgentSocket(@NonNull final ApiConfiguration apiConfig, Masker masker, diff --git a/src/main/java/com/stackify/api/common/log/LogTransportDirect.java b/src/main/java/com/stackify/api/common/log/LogTransportDirect.java index f6e94a6..7fdfc05 100644 --- a/src/main/java/com/stackify/api/common/log/LogTransportDirect.java +++ b/src/main/java/com/stackify/api/common/log/LogTransportDirect.java @@ -53,6 +53,9 @@ public class LogTransportDirect implements LogTransport { private final LogTransportPreProcessor logTransportPreProcessor; + /** + * The transport logger + */ private static final Logger LOGGER = LoggerFactory.getLogger(LogTransportAgentSocket.class); /** From a778fb687a4faf50b625e9fb7e09e5cc5bc66887 Mon Sep 17 00:00:00 2001 From: Michael Mantos Date: Fri, 21 Oct 2022 02:52:27 +0800 Subject: [PATCH 3/4] JAVA-56 - Format files --- .../stackify/api/common/http/HttpClient.java | 47 +++++---- .../stackify/api/common/log/LogAppender.java | 10 +- .../common/log/LogTransportAgentSocket.java | 16 +-- .../api/common/log/LogTransportDirect.java | 17 +--- .../api/common/log/LogAppenderTest.java | 98 ++++++++++--------- .../api/common/log/LogSenderTest.java | 13 ++- 6 files changed, 96 insertions(+), 105 deletions(-) diff --git a/src/main/java/com/stackify/api/common/http/HttpClient.java b/src/main/java/com/stackify/api/common/http/HttpClient.java index a2d4dab..9366c0d 100644 --- a/src/main/java/com/stackify/api/common/http/HttpClient.java +++ b/src/main/java/com/stackify/api/common/http/HttpClient.java @@ -36,6 +36,7 @@ /** * HttpClient + * * @author Eric Martin */ public class HttpClient { @@ -64,25 +65,25 @@ public class HttpClient { /** * Constructor + * * @param apiConfig API configuration */ - public HttpClient(final ApiConfiguration apiConfig) { - Preconditions.checkNotNull(apiConfig); - this.apiConfig = apiConfig; - - if (apiConfig.getHttpProxyHost() != null && - !apiConfig.getHttpProxyHost().isEmpty() && - apiConfig.getHttpProxyPort() != null && - !apiConfig.getHttpProxyPort().isEmpty()) { - this.proxy = HttpProxy.build(apiConfig.getHttpProxyHost(), apiConfig.getHttpProxyPort()); - } else { - this.proxy = HttpProxy.fromSystemProperties(); - } - } + public HttpClient(final ApiConfiguration apiConfig) { + Preconditions.checkNotNull(apiConfig); + this.apiConfig = apiConfig; + + if (apiConfig.getHttpProxyHost() != null && !apiConfig.getHttpProxyHost().isEmpty() + && apiConfig.getHttpProxyPort() != null && !apiConfig.getHttpProxyPort().isEmpty()) { + this.proxy = HttpProxy.build(apiConfig.getHttpProxyHost(), apiConfig.getHttpProxyPort()); + } else { + this.proxy = HttpProxy.fromSystemProperties(); + } + } /** * Posts data to stackify - * @param path REST path + * + * @param path REST path * @param jsonBytes JSON bytes * @return Response string * @throws IOException @@ -94,14 +95,16 @@ public String post(final String path, final byte[] jsonBytes) throws IOException /** * Posts data to stackify - * @param path REST path + * + * @param path REST path * @param jsonBytes JSON bytes - * @param gzip True if the post should be gzipped, false otherwise + * @param gzip True if the post should be gzipped, false otherwise * @return Response string * @throws IOException * @throws HttpException */ - public String post(final String path, final byte[] jsonBytes, final boolean gzip) throws IOException, HttpException { + public String post(final String path, final byte[] jsonBytes, final boolean gzip) + throws IOException, HttpException { Preconditions.checkNotNull(path); Preconditions.checkArgument(!path.isEmpty()); Preconditions.checkNotNull(jsonBytes); @@ -114,13 +117,8 @@ public String post(final String path, final byte[] jsonBytes, final boolean gzip // request properties if (LOGGER.isDebugEnabled()) { - LOGGER.debug( - "#HttpClient #Post Sending request to {}/{} - Body: {}", - apiConfig.getApiUrl(), - path, - (new ObjectMapper()) - .writeValueAsString(jsonBytes) - ); + LOGGER.debug("#HttpClient #Post Sending request to {}/{} - Body: {}", apiConfig.getApiUrl(), path, + (new ObjectMapper()).writeValueAsString(jsonBytes)); } connection = (HttpURLConnection) url.openConnection(proxy); @@ -187,6 +185,7 @@ public String post(final String path, final byte[] jsonBytes, final boolean gzip /** * Reads all remaining contents from the stream and closes it + * * @param stream The stream * @return The contents of the stream * @throws IOException diff --git a/src/main/java/com/stackify/api/common/log/LogAppender.java b/src/main/java/com/stackify/api/common/log/LogAppender.java index c5e8cff..e5525c3 100644 --- a/src/main/java/com/stackify/api/common/log/LogAppender.java +++ b/src/main/java/com/stackify/api/common/log/LogAppender.java @@ -88,10 +88,8 @@ public class LogAppender implements Closeable { * * @param logger Logger project name */ - public LogAppender(@NonNull final String logger, - @NonNull final EventAdapter eventAdapter, - final Masker masker, - final boolean skipJson) { + public LogAppender(@NonNull final String logger, @NonNull final EventAdapter eventAdapter, final Masker masker, + final boolean skipJson) { this.logger = logger; this.eventAdapter = eventAdapter; this.masker = masker; @@ -103,9 +101,7 @@ public LogAppender(@NonNull final String logger, * * @param logger Logger project name */ - public LogAppender(@NonNull final String logger, - @NonNull final EventAdapter eventAdapter, - final Masker masker) { + public LogAppender(@NonNull final String logger, @NonNull final EventAdapter eventAdapter, final Masker masker) { this(logger, eventAdapter, masker, false); } diff --git a/src/main/java/com/stackify/api/common/log/LogTransportAgentSocket.java b/src/main/java/com/stackify/api/common/log/LogTransportAgentSocket.java index a3793df..8f42aba 100644 --- a/src/main/java/com/stackify/api/common/log/LogTransportAgentSocket.java +++ b/src/main/java/com/stackify/api/common/log/LogTransportAgentSocket.java @@ -30,8 +30,8 @@ import org.slf4j.LoggerFactory; /** - * Log Transport - Agent Socket - * Send log messages to Stackify Agent via Domain Socket + * Log Transport - Agent Socket Send log messages to Stackify Agent via Domain + * Socket * * @author Darin Howard */ @@ -54,9 +54,7 @@ public class LogTransportAgentSocket implements LogTransport { */ private static final Logger LOGGER = LoggerFactory.getLogger(LogTransportAgentSocket.class); - public LogTransportAgentSocket(@NonNull final ApiConfiguration apiConfig, - Masker masker, - boolean skipJson) { + public LogTransportAgentSocket(@NonNull final ApiConfiguration apiConfig, Masker masker, boolean skipJson) { this.apiConfig = apiConfig; this.logTransportPreProcessor = new LogTransportPreProcessor(masker, skipJson); this.httpSocketClient = new HttpSocketClient(apiConfig.getAgentSocketPath()); @@ -83,12 +81,8 @@ public void send(@NonNull final LogMsgGroup group) throws Exception { httpPost.setEntity(new ByteArrayEntity(logGroup.toByteArray())); if (LOGGER.isDebugEnabled()) { - LOGGER.debug( - "#Log #Transport #Socket Sending request to {} - Body: {}", - httpPost.getURI(), - (new ObjectMapper()) - .writeValueAsString(group) - ); + LOGGER.debug("#Log #Transport #Socket Sending request to {} - Body: {}", httpPost.getURI(), + (new ObjectMapper()).writeValueAsString(group)); } httpSocketClient.send(httpPost); diff --git a/src/main/java/com/stackify/api/common/log/LogTransportDirect.java b/src/main/java/com/stackify/api/common/log/LogTransportDirect.java index 7fdfc05..fdefbe5 100644 --- a/src/main/java/com/stackify/api/common/log/LogTransportDirect.java +++ b/src/main/java/com/stackify/api/common/log/LogTransportDirect.java @@ -28,8 +28,7 @@ import lombok.extern.slf4j.Slf4j; /** - * Log Transport - Direct - * Send log messages directly to Stackify + * Log Transport - Direct Send log messages directly to Stackify * * @author Eric Martin */ @@ -64,10 +63,8 @@ public class LogTransportDirect implements LogTransport { * @param apiConfig API configuration * @param objectMapper JSON object mapper */ - public LogTransportDirect(@NonNull final ApiConfiguration apiConfig, - @NonNull final ObjectMapper objectMapper, - Masker masker, - boolean skipJson) { + public LogTransportDirect(@NonNull final ApiConfiguration apiConfig, @NonNull final ObjectMapper objectMapper, + Masker masker, boolean skipJson) { this.apiConfig = apiConfig; this.objectMapper = objectMapper; this.logTransportPreProcessor = new LogTransportPreProcessor(masker, skipJson); @@ -94,12 +91,8 @@ public void send(@NonNull final LogMsgGroup group) throws Exception { try { if (LOGGER.isDebugEnabled()) { - LOGGER.debug( - "#Log #Transport #Direct Sending request to {} - Body: {}", - LOG_SAVE_PATH, - objectMapper - .writeValueAsString(group) - ); + LOGGER.debug("#Log #Transport #Direct Sending request to {} - Body: {}", LOG_SAVE_PATH, + objectMapper.writeValueAsString(group)); } httpClient.post(LOG_SAVE_PATH, jsonBytes, true); } catch (Exception e) { diff --git a/src/test/java/com/stackify/api/common/log/LogAppenderTest.java b/src/test/java/com/stackify/api/common/log/LogAppenderTest.java index f57d541..b3cd6b4 100644 --- a/src/test/java/com/stackify/api/common/log/LogAppenderTest.java +++ b/src/test/java/com/stackify/api/common/log/LogAppenderTest.java @@ -30,61 +30,67 @@ /** * LogAppender JUnit Test + * * @author Eric Martin */ @RunWith(PowerMockRunner.class) -@PrepareForTest({LogAppender.class, LogBackgroundService.class}) +@PrepareForTest({ LogAppender.class, LogBackgroundService.class }) public class LogAppenderTest { /** * testActivate - * @throws Exception + * + * @throws Exception */ @Test public void testActivate() throws Exception { EventAdapter adapter = Mockito.mock(EventAdapter.class); LogAppender appender = new LogAppender("logger", adapter, new Masker()); - + LogCollector collector = Mockito.mock(LogCollector.class); PowerMockito.whenNew(LogCollector.class).withAnyArguments().thenReturn(collector); LogBackgroundService background = PowerMockito.mock(LogBackgroundService.class); PowerMockito.whenNew(LogBackgroundService.class).withAnyArguments().thenReturn(background); - - ApiConfiguration config = ApiConfiguration.newBuilder().apiUrl("url").apiKey("key").envDetail(Mockito.mock(EnvironmentDetail.class)).build(); - + + ApiConfiguration config = ApiConfiguration.newBuilder().apiUrl("url").apiKey("key") + .envDetail(Mockito.mock(EnvironmentDetail.class)).build(); + appender.activate(config); - + Mockito.verify(background).start(); } - + /** * testClose - * @throws Exception + * + * @throws Exception */ @Test public void testClose() throws Exception { EventAdapter adapter = Mockito.mock(EventAdapter.class); LogAppender appender = new LogAppender("logger", adapter, new Masker()); - + LogCollector collector = Mockito.mock(LogCollector.class); PowerMockito.whenNew(LogCollector.class).withAnyArguments().thenReturn(collector); LogBackgroundService background = PowerMockito.mock(LogBackgroundService.class); PowerMockito.whenNew(LogBackgroundService.class).withAnyArguments().thenReturn(background); - - ApiConfiguration config = ApiConfiguration.newBuilder().apiUrl("url").apiKey("key").envDetail(Mockito.mock(EnvironmentDetail.class)).build(); - + + ApiConfiguration config = ApiConfiguration.newBuilder().apiUrl("url").apiKey("key") + .envDetail(Mockito.mock(EnvironmentDetail.class)).build(); + appender.activate(config); - + appender.close(); - + Mockito.verify(background).stop(); } /** * testAppend - * @throws Exception + * + * @throws Exception */ @Test public void testAppend() throws Exception { @@ -97,87 +103,91 @@ public void testAppend() throws Exception { Mockito.when(adapter.getThrowable(event)).thenReturn(t); Mockito.when(adapter.getStackifyError(event, t)).thenReturn(error); Mockito.when(adapter.getLogMsg(event, error)).thenReturn(logMsg); - + ErrorGovernor governor = Mockito.mock(ErrorGovernor.class); Mockito.when(governor.errorShouldBeSent(Mockito.any(StackifyError.class))).thenReturn(true); PowerMockito.whenNew(ErrorGovernor.class).withAnyArguments().thenReturn(governor); - + LogAppender appender = new LogAppender("logger", adapter, new Masker()); - + LogCollector collector = Mockito.mock(LogCollector.class); PowerMockito.whenNew(LogCollector.class).withAnyArguments().thenReturn(collector); LogBackgroundService background = PowerMockito.mock(LogBackgroundService.class); PowerMockito.whenNew(LogBackgroundService.class).withAnyArguments().thenReturn(background); - - ApiConfiguration config = ApiConfiguration.newBuilder().apiUrl("url").apiKey("key").envDetail(Mockito.mock(EnvironmentDetail.class)).build(); - + + ApiConfiguration config = ApiConfiguration.newBuilder().apiUrl("url").apiKey("key") + .envDetail(Mockito.mock(EnvironmentDetail.class)).build(); + appender.activate(config); Mockito.when(background.isRunning()).thenReturn(true); appender.append(event); - + appender.close(); - + Mockito.verify(collector).addLogMsg(logMsg); } - + /** * testAppendWithoutActivate - * @throws Exception + * + * @throws Exception */ @Test public void testAppendWithoutActivate() throws Exception { String event = "log event"; - + EventAdapter adapter = Mockito.mock(EventAdapter.class); - + LogAppender appender = new LogAppender("logger", adapter, new Masker()); - + LogCollector collector = Mockito.mock(LogCollector.class); PowerMockito.whenNew(LogCollector.class).withAnyArguments().thenReturn(collector); appender.append(event); - + appender.close(); - - Mockito.verifyZeroInteractions(collector); + + Mockito.verifyZeroInteractions(collector); } - + /** * testAppendInternalEvent - * @throws Exception + * + * @throws Exception */ @Test public void testAppendInternalEvent() throws Exception { String event = "log event"; - + EventAdapter adapter = Mockito.mock(EventAdapter.class); Mockito.when(adapter.getClassName(event)).thenReturn("com.stackify.api.common.log.LogBackgroundService"); - + ErrorGovernor governor = Mockito.mock(ErrorGovernor.class); Mockito.when(governor.errorShouldBeSent(Mockito.any(StackifyError.class))).thenReturn(true); PowerMockito.whenNew(ErrorGovernor.class).withAnyArguments().thenReturn(governor); - + LogAppender appender = new LogAppender("logger", adapter, new Masker()); - + LogCollector collector = Mockito.mock(LogCollector.class); PowerMockito.whenNew(LogCollector.class).withAnyArguments().thenReturn(collector); LogBackgroundService background = PowerMockito.mock(LogBackgroundService.class); PowerMockito.whenNew(LogBackgroundService.class).withAnyArguments().thenReturn(background); - - ApiConfiguration config = ApiConfiguration.newBuilder().apiUrl("url").apiKey("key").envDetail(Mockito.mock(EnvironmentDetail.class)).build(); - + + ApiConfiguration config = ApiConfiguration.newBuilder().apiUrl("url").apiKey("key") + .envDetail(Mockito.mock(EnvironmentDetail.class)).build(); + appender.activate(config); Mockito.when(background.isRunning()).thenReturn(true); appender.append(event); - + appender.close(); - - Mockito.verifyZeroInteractions(collector); + + Mockito.verifyZeroInteractions(collector); } } diff --git a/src/test/java/com/stackify/api/common/log/LogSenderTest.java b/src/test/java/com/stackify/api/common/log/LogSenderTest.java index bc8f452..562d1af 100644 --- a/src/test/java/com/stackify/api/common/log/LogSenderTest.java +++ b/src/test/java/com/stackify/api/common/log/LogSenderTest.java @@ -36,14 +36,16 @@ /** * LogSender JUnit Test + * * @author Eric Martin */ @RunWith(PowerMockRunner.class) -@PrepareForTest({LogTransportDirect.class, LogTransportAgentSocket.class, HttpClient.class}) +@PrepareForTest({ LogTransportDirect.class, LogTransportAgentSocket.class, HttpClient.class }) public class LogSenderTest { /** * testSend + * * @throws Exception */ @Test @@ -58,9 +60,7 @@ public void testSend() throws Exception { logMsgList.add(logMsg); logMsgGroup.setAppName("AppName Test"); - logMsgGroup.setMsgs( - logMsgList - ); + logMsgGroup.setMsgs(logMsgList); // Mockito.when(objectMapper.writer()).thenReturn(Mockito.mock(ObjectWriter.class)); @@ -77,6 +77,7 @@ public void testSend() throws Exception { /** * testSend + * * @throws Exception */ @Test @@ -91,9 +92,7 @@ public void testSendSocket() throws Exception { logMsgList.add(logMsg); logMsgGroup.setAppName("AppName Test"); - logMsgGroup.setMsgs( - logMsgList - ); + logMsgGroup.setMsgs(logMsgList); ApiConfiguration apiConfig = ApiConfiguration.newBuilder().apiUrl("url").apiKey("key").build(); From b83c6b1a3252b5918901350f5586dcec8ed2742b Mon Sep 17 00:00:00 2001 From: Michael Mantos Date: Fri, 21 Oct 2022 03:05:18 +0800 Subject: [PATCH 4/4] JAVA-56 - Fix format --- .../com/stackify/api/common/http/HttpClient.java | 10 +++++----- .../com/stackify/api/common/log/LogAppenderTest.java | 12 ++++++------ .../com/stackify/api/common/log/LogSenderTest.java | 6 +++--- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/stackify/api/common/http/HttpClient.java b/src/main/java/com/stackify/api/common/http/HttpClient.java index 9366c0d..489adc2 100644 --- a/src/main/java/com/stackify/api/common/http/HttpClient.java +++ b/src/main/java/com/stackify/api/common/http/HttpClient.java @@ -36,7 +36,7 @@ /** * HttpClient - * + * * @author Eric Martin */ public class HttpClient { @@ -65,7 +65,7 @@ public class HttpClient { /** * Constructor - * + * * @param apiConfig API configuration */ public HttpClient(final ApiConfiguration apiConfig) { @@ -82,7 +82,7 @@ public HttpClient(final ApiConfiguration apiConfig) { /** * Posts data to stackify - * + * * @param path REST path * @param jsonBytes JSON bytes * @return Response string @@ -95,7 +95,7 @@ public String post(final String path, final byte[] jsonBytes) throws IOException /** * Posts data to stackify - * + * * @param path REST path * @param jsonBytes JSON bytes * @param gzip True if the post should be gzipped, false otherwise @@ -185,7 +185,7 @@ public String post(final String path, final byte[] jsonBytes, final boolean gzip /** * Reads all remaining contents from the stream and closes it - * + * * @param stream The stream * @return The contents of the stream * @throws IOException diff --git a/src/test/java/com/stackify/api/common/log/LogAppenderTest.java b/src/test/java/com/stackify/api/common/log/LogAppenderTest.java index b3cd6b4..10a3542 100644 --- a/src/test/java/com/stackify/api/common/log/LogAppenderTest.java +++ b/src/test/java/com/stackify/api/common/log/LogAppenderTest.java @@ -30,7 +30,7 @@ /** * LogAppender JUnit Test - * + * * @author Eric Martin */ @RunWith(PowerMockRunner.class) @@ -39,7 +39,7 @@ public class LogAppenderTest { /** * testActivate - * + * * @throws Exception */ @Test @@ -63,7 +63,7 @@ public void testActivate() throws Exception { /** * testClose - * + * * @throws Exception */ @Test @@ -89,7 +89,7 @@ public void testClose() throws Exception { /** * testAppend - * + * * @throws Exception */ @Test @@ -132,7 +132,7 @@ public void testAppend() throws Exception { /** * testAppendWithoutActivate - * + * * @throws Exception */ @Test @@ -155,7 +155,7 @@ public void testAppendWithoutActivate() throws Exception { /** * testAppendInternalEvent - * + * * @throws Exception */ @Test diff --git a/src/test/java/com/stackify/api/common/log/LogSenderTest.java b/src/test/java/com/stackify/api/common/log/LogSenderTest.java index 562d1af..153aa93 100644 --- a/src/test/java/com/stackify/api/common/log/LogSenderTest.java +++ b/src/test/java/com/stackify/api/common/log/LogSenderTest.java @@ -36,7 +36,7 @@ /** * LogSender JUnit Test - * + * * @author Eric Martin */ @RunWith(PowerMockRunner.class) @@ -45,7 +45,7 @@ public class LogSenderTest { /** * testSend - * + * * @throws Exception */ @Test @@ -77,7 +77,7 @@ public void testSend() throws Exception { /** * testSend - * + * * @throws Exception */ @Test