From 3bb57a533bb0b022940c495cf68142c48c58136b Mon Sep 17 00:00:00 2001 From: Michael O'Brien Date: Mon, 23 Jul 2018 18:11:05 -0400 Subject: inc log aop code coverage Change-Id: I004fdc5ea71eef412fb096207523d41a669fdc61 Issue-ID: LOG-148 Signed-off-by: Michael O'Brien --- .../onap/demo/logging/RestHealthServiceImpl.java | 8 ++ .../org/onap/demo/logging/RestServiceImpl.java | 10 ++- .../org/onap/demo/logging/test/JoinPointMock.java | 96 ++++++++++++++++++++++ .../onap/logging/demo/ApplicationServiceTest.java | 69 +++++++++++++++- 4 files changed, 179 insertions(+), 4 deletions(-) create mode 100644 reference/logging-demo/src/main/java/org/onap/demo/logging/test/JoinPointMock.java diff --git a/reference/logging-demo/src/main/java/org/onap/demo/logging/RestHealthServiceImpl.java b/reference/logging-demo/src/main/java/org/onap/demo/logging/RestHealthServiceImpl.java index bcc4efb..7000f08 100644 --- a/reference/logging-demo/src/main/java/org/onap/demo/logging/RestHealthServiceImpl.java +++ b/reference/logging-demo/src/main/java/org/onap/demo/logging/RestHealthServiceImpl.java @@ -48,5 +48,13 @@ public class RestHealthServiceImpl extends Application { return applicationServiceLocal.health(servletRequest).toString(); } + /** + * Use only for testing + * @param aService + */ + public void setApplicationService(ApplicationServiceLocal aService) { + applicationServiceLocal = aService; + } + } diff --git a/reference/logging-demo/src/main/java/org/onap/demo/logging/RestServiceImpl.java b/reference/logging-demo/src/main/java/org/onap/demo/logging/RestServiceImpl.java index fe13f0c..fba5461 100644 --- a/reference/logging-demo/src/main/java/org/onap/demo/logging/RestServiceImpl.java +++ b/reference/logging-demo/src/main/java/org/onap/demo/logging/RestServiceImpl.java @@ -42,9 +42,13 @@ public class RestServiceImpl extends Application { return "testing: " + applicationServiceLocal; } - - private ApplicationServiceLocal getApplicationService() { - return applicationServiceLocal; + + /** + * Use only for testing + * @param aService + */ + public void setApplicationService(ApplicationServiceLocal aService) { + applicationServiceLocal = aService; } } diff --git a/reference/logging-demo/src/main/java/org/onap/demo/logging/test/JoinPointMock.java b/reference/logging-demo/src/main/java/org/onap/demo/logging/test/JoinPointMock.java new file mode 100644 index 0000000..e0b52e9 --- /dev/null +++ b/reference/logging-demo/src/main/java/org/onap/demo/logging/test/JoinPointMock.java @@ -0,0 +1,96 @@ +/** + * ============LICENSE_START======================================================= + * org.onap.logging + * ================================================================================ + * Copyright © 2018 Amdocs + * All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.demo.logging.test; + +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.Signature; +import org.aspectj.lang.reflect.SourceLocation; + +/** + * This class is only required for junit coverage testing - leave unimplemented methods as-is + * + */ +public class JoinPointMock implements JoinPoint { + + Object target; + Object[] args; + + public void setTarget(Object aTarget) { + target = aTarget; + } + + public void setArgs(Object[] _args) { + args = _args; + } + + @Override + public String toShortString() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String toLongString() { + // TODO Auto-generated method stub + return null; + } + + @Override + public Object getThis() { + // TODO Auto-generated method stub + return null; + } + + @Override + public Object getTarget() { + return target; + } + + @Override + public Object[] getArgs() { + return args; + } + + @Override + public Signature getSignature() { + // TODO Auto-generated method stub + return null; + } + + @Override + public SourceLocation getSourceLocation() { + // TODO Auto-generated method stub + return null; + } + + @Override + public String getKind() { + // TODO Auto-generated method stub + return null; + } + + @Override + public StaticPart getStaticPart() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/reference/logging-demo/src/test/java/org/onap/logging/demo/ApplicationServiceTest.java b/reference/logging-demo/src/test/java/org/onap/logging/demo/ApplicationServiceTest.java index aab2ba7..a263a1f 100644 --- a/reference/logging-demo/src/test/java/org/onap/logging/demo/ApplicationServiceTest.java +++ b/reference/logging-demo/src/test/java/org/onap/logging/demo/ApplicationServiceTest.java @@ -22,10 +22,17 @@ package org.onap.logging.demo; import static org.junit.Assert.*; +import java.util.Set; + import javax.servlet.http.HttpServletRequest; import org.junit.Test; +import org.onap.demo.logging.test.JoinPointMock; import org.onap.demo.logging.ApplicationService; +import org.onap.demo.logging.LoggingAspect; +import org.onap.demo.logging.RestApplication; +import org.onap.demo.logging.RestHealthServiceImpl; +import org.onap.demo.logging.RestServiceImpl; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.util.Assert; @@ -39,7 +46,67 @@ public class ApplicationServiceTest { Assert.notNull(servletRequest); boolean health = service.health(servletRequest); Assert.isTrue(health); - System.out.println("health : " + health); } + @Test + public final void testRestEndpointCoverageForRestHealthServiceImpl() { + // primarily for code coverage + RestHealthServiceImpl service = new RestHealthServiceImpl(); + Assert.notNull(service); + ApplicationService appService = new ApplicationService(); + Assert.notNull(appService); + service.setApplicationService(appService); + String health = service.getHealth(); + Assert.notNull(health); + Assert.isTrue(health.equalsIgnoreCase("true")); + } + + @Test + public final void testRestEndpointCoverageForRestServiceImpl() { + // primarily for code coverage + RestServiceImpl service = new RestServiceImpl(); + Assert.notNull(service); + ApplicationService appService = new ApplicationService(); + Assert.notNull(appService); + service.setApplicationService(appService); + String health = service.getTest(); + Assert.notNull(health); + } + + @Test + public final void testJAXRSFramework() { + // primarily for code coverage + RestApplication app = new RestApplication(); + Assert.notNull(app); + Set> classes = app.getClasses(); + Assert.notNull(classes); + Assert.isTrue(classes.size() > 1); + } + + @Test + public final void testLoggingAspect() { + // primarily for code coverage + LoggingAspect aspect = new LoggingAspect(); + Assert.notNull(aspect); + JoinPointMock joinPoint = new JoinPointMock(); + ApplicationService appService = new ApplicationService(); + Assert.notNull(appService); + joinPoint.setTarget(appService.getClass()); + joinPoint.getTarget(); + HttpServletRequest servletRequest = new MockHttpServletRequest(); + Assert.notNull(servletRequest); + HttpServletRequest[] args = new HttpServletRequest[1]; + args[0] = servletRequest; + joinPoint.setArgs(args); + aspect.logAfter(joinPoint); + aspect.logBefore(joinPoint); + // cover mock joinpoint - expecting null as only target and args needs to be implemented + joinPoint.getKind(); + joinPoint.getSignature(); + joinPoint.getSourceLocation(); + joinPoint.getStaticPart(); + joinPoint.getThis(); + joinPoint.toLongString(); + joinPoint.toShortString(); + } } -- cgit 1.2.3-korg