inc log aop code coverage 45/57245/5
authorMichael O'Brien <frank.obrien@amdocs.com>
Mon, 23 Jul 2018 22:11:05 +0000 (18:11 -0400)
committerMichael O'Brien <frank.obrien@amdocs.com>
Tue, 24 Jul 2018 02:44:15 +0000 (22:44 -0400)
Change-Id: I004fdc5ea71eef412fb096207523d41a669fdc61
Issue-ID: LOG-148
Signed-off-by: Michael O'Brien <frank.obrien@amdocs.com>
reference/logging-demo/src/main/java/org/onap/demo/logging/RestHealthServiceImpl.java
reference/logging-demo/src/main/java/org/onap/demo/logging/RestServiceImpl.java
reference/logging-demo/src/main/java/org/onap/demo/logging/test/JoinPointMock.java [new file with mode: 0644]
reference/logging-demo/src/test/java/org/onap/logging/demo/ApplicationServiceTest.java

index bcc4efb..7000f08 100644 (file)
@@ -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;
+       }
+       
 }
 
index fe13f0c..fba5461 100644 (file)
@@ -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 (file)
index 0000000..e0b52e9
--- /dev/null
@@ -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;
+    }
+
+}
index aab2ba7..a263a1f 100644 (file)
@@ -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<Class<?>> 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();
+    }
 }