Fix new sonars in policy/pap 82/113382/3
authorJim Hahn <jrh3@att.com>
Wed, 30 Sep 2020 14:47:12 +0000 (10:47 -0400)
committerJim Hahn <jrh3@att.com>
Wed, 30 Sep 2020 14:59:45 +0000 (10:59 -0400)
Addressed the following sonar issues:
- too many assertions in test method
- extract common test method
- replace this null literal by an "Optional" object

Issue-ID: POLICY-2679
Change-Id: Ie80e5c5fdb94230a2773ea2931758cf54204ae86
Signed-off-by: Jim Hahn <jrh3@att.com>
main/src/main/java/org/onap/policy/pap/main/comm/PdpStatusMessageHandler.java
main/src/test/java/org/onap/policy/pap/main/rest/TestPapStatisticsManager.java
main/src/test/java/org/onap/policy/pap/main/rest/e2e/StatisticsTest.java

index 674a07f..d7ee15b 100644 (file)
@@ -158,18 +158,15 @@ public class PdpStatusMessageHandler extends PdpMessageGenerator {
 
     private void handlePdpHeartbeat(final PdpStatus message, final PolicyModelsProvider databaseProvider)
             throws PfModelException {
-        Optional<PdpSubGroup> pdpSubgroup = null;
-        Optional<Pdp> pdpInstance = null;
-        PdpGroup pdpGroup = null;
 
         final PdpGroupFilter filter =
                 PdpGroupFilter.builder().name(message.getPdpGroup()).groupState(PdpState.ACTIVE).build();
         final List<PdpGroup> pdpGroups = databaseProvider.getFilteredPdpGroups(filter);
         if (!pdpGroups.isEmpty()) {
-            pdpGroup = pdpGroups.get(0);
-            pdpSubgroup = findPdpSubGroup(message, pdpGroup);
+            PdpGroup pdpGroup = pdpGroups.get(0);
+            Optional<PdpSubGroup> pdpSubgroup = findPdpSubGroup(message, pdpGroup);
             if (pdpSubgroup.isPresent()) {
-                pdpInstance = findPdpInstance(message, pdpSubgroup.get());
+                Optional<Pdp> pdpInstance = findPdpInstance(message, pdpSubgroup.get());
                 if (pdpInstance.isPresent()) {
                     processPdpDetails(message, pdpSubgroup.get(), pdpInstance.get(), pdpGroup, databaseProvider);
                 } else {
index b600711..5412ac9 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * ============LICENSE_START=======================================================
- * Copyright (C) 2019 AT&T Intellectual Property.  All rights reserved.
+ * Copyright (C) 2019-2020 AT&T Intellectual Property.  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.
@@ -22,59 +22,74 @@ package org.onap.policy.pap.main.rest;
 
 import static org.junit.Assert.assertEquals;
 
+import java.util.function.ToLongFunction;
 import org.junit.Test;
 
 public class TestPapStatisticsManager {
 
     @Test
-    public void test() {
-        PapStatisticsManager mgr = new PapStatisticsManager();
+    public void testTotalPdpCount() {
+        verifyCount(PapStatisticsManager::getTotalPdpCount,
+                        PapStatisticsManager::updateTotalPdpCount);
+    }
 
-        // try each update
+    @Test
+    public void testTotalPdpGroupCount() {
+        verifyCount(PapStatisticsManager::getTotalPdpGroupCount,
+                        PapStatisticsManager::updateTotalPdpGroupCount);
+    }
 
-        assertEquals(0, mgr.getTotalPdpCount());
-        assertEquals(1, mgr.updateTotalPdpCount());
-        assertEquals(1, mgr.getTotalPdpCount());
+    @Test
+    public void testTotalPolicyDeployCount() {
+        verifyCount(PapStatisticsManager::getTotalPolicyDeployCount,
+                        PapStatisticsManager::updateTotalPolicyDeployCount);
+    }
 
-        assertEquals(0, mgr.getTotalPdpGroupCount());
-        assertEquals(1, mgr.updateTotalPdpGroupCount());
-        assertEquals(1, mgr.getTotalPdpGroupCount());
+    @Test
+    public void testPolicyDeploySuccessCount() {
+        verifyCount(PapStatisticsManager::getPolicyDeploySuccessCount,
+                        PapStatisticsManager::updatePolicyDeploySuccessCount);
+    }
 
-        assertEquals(0, mgr.getTotalPolicyDeployCount());
-        assertEquals(1, mgr.updateTotalPolicyDeployCount());
-        assertEquals(1, mgr.getTotalPolicyDeployCount());
+    @Test
+    public void testPolicyDeployFailureCount() {
+        verifyCount(PapStatisticsManager::getPolicyDeployFailureCount,
+                        PapStatisticsManager::updatePolicyDeployFailureCount);
+    }
 
-        assertEquals(0, mgr.getPolicyDeploySuccessCount());
-        assertEquals(1, mgr.updatePolicyDeploySuccessCount());
-        assertEquals(1, mgr.getPolicyDeploySuccessCount());
+    @Test
+    public void testTotalPolicyDownloadCount() {
+        verifyCount(PapStatisticsManager::getTotalPolicyDownloadCount,
+                        PapStatisticsManager::updateTotalPolicyDownloadCount);
+    }
 
-        assertEquals(0, mgr.getPolicyDeployFailureCount());
-        assertEquals(1, mgr.updatePolicyDeployFailureCount());
-        assertEquals(1, mgr.getPolicyDeployFailureCount());
+    @Test
+    public void testPolicyDownloadSuccessCount() {
+        verifyCount(PapStatisticsManager::getPolicyDownloadSuccessCount,
+                        PapStatisticsManager::updatePolicyDownloadSuccessCount);
+    }
 
-        assertEquals(0, mgr.getTotalPolicyDownloadCount());
-        assertEquals(1, mgr.updateTotalPolicyDownloadCount());
-        assertEquals(1, mgr.getTotalPolicyDownloadCount());
+    @Test
+    public void testPolicyDownloadFailureCount() {
+        verifyCount(PapStatisticsManager::getPolicyDownloadFailureCount,
+                        PapStatisticsManager::updatePolicyDownloadFailureCount);
+    }
+
+    private void verifyCount(ToLongFunction<PapStatisticsManager> getCount,
+                    ToLongFunction<PapStatisticsManager> updateCount) {
+
+        PapStatisticsManager mgr = new PapStatisticsManager();
 
-        assertEquals(0, mgr.getPolicyDownloadSuccessCount());
-        assertEquals(1, mgr.updatePolicyDownloadSuccessCount());
-        assertEquals(1, mgr.getPolicyDownloadSuccessCount());
+        assertEquals(0, getCount.applyAsLong(mgr));
+        assertEquals(1, updateCount.applyAsLong(mgr));
+        assertEquals(1, getCount.applyAsLong(mgr));
 
-        assertEquals(0, mgr.getPolicyDownloadFailureCount());
-        assertEquals(1, mgr.updatePolicyDownloadFailureCount());
-        assertEquals(1, mgr.getPolicyDownloadFailureCount());
+        assertEquals(2, updateCount.applyAsLong(mgr));
+        assertEquals(2, getCount.applyAsLong(mgr));
 
         // now check reset
         mgr.resetAllStatistics();
 
-        assertEquals(0, mgr.getPolicyDeployFailureCount());
-        assertEquals(0, mgr.getTotalPdpCount());
-        assertEquals(0, mgr.getTotalPdpGroupCount());
-        assertEquals(0, mgr.getTotalPolicyDeployCount());
-        assertEquals(0, mgr.getPolicyDeploySuccessCount());
-        assertEquals(0, mgr.getPolicyDeployFailureCount());
-        assertEquals(0, mgr.getTotalPolicyDownloadCount());
-        assertEquals(0, mgr.getPolicyDownloadSuccessCount());
-        assertEquals(0, mgr.getPolicyDownloadFailureCount());
+        assertEquals(0, getCount.applyAsLong(mgr));
     }
 }
index aa2c59e..75aafba 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP PAP
  * ================================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
  * Modifications Copyright (C) 2020 Nordix Foundation.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -71,43 +71,28 @@ public class StatisticsTest extends End2EndBase {
 
     @Test
     public void testDb() throws Exception {
-        setupEnv();
-        Invocation.Builder invocationBuilder = sendRequest("pdps/statistics");
-        Response testResponse = invocationBuilder.get();
-        verifyResponse(testResponse);
+        verifyResponse("pdps/statistics");
     }
 
     @Test
     public void testDbWithGroup() throws Exception {
-        setupEnv();
-        Invocation.Builder invocationBuilder = sendRequest("pdps/statistics/defaultGroup");
-        Response testResponse = invocationBuilder.get();
-        verifyResponse(testResponse);
+        verifyResponse("pdps/statistics/defaultGroup");
 
     }
 
     @Test
     public void testDbWithSubGroup() throws Exception {
-        setupEnv();
-        Invocation.Builder invocationBuilder = sendRequest("pdps/statistics/defaultGroup/apex");
-        Response testResponse = invocationBuilder.get();
-        verifyResponse(testResponse);
+        verifyResponse("pdps/statistics/defaultGroup/apex");
     }
 
     @Test
     public void testDbWithPdp() throws Exception {
-        setupEnv();
-        Invocation.Builder invocationBuilder = sendRequest("pdps/statistics/defaultGroup/apex/pdp1");
-        Response testResponse = invocationBuilder.get();
-        verifyResponse(testResponse);
+        verifyResponse("pdps/statistics/defaultGroup/apex/pdp1");
     }
 
     @Test
     public void testDbWithPdpLatest() throws Exception {
-        setupEnv();
-        Invocation.Builder invocationBuilder = sendRequest("pdps/statistics/defaultGroup/apex/pdp1?recordCount=5");
-        Response testResponse = invocationBuilder.get();
-        verifyResponse(testResponse);
+        verifyResponse("pdps/statistics/defaultGroup/apex/pdp1?recordCount=5");
     }
 
     private void updateDistributionStatistics() {
@@ -146,6 +131,12 @@ public class StatisticsTest extends End2EndBase {
         }
     }
 
+    private void verifyResponse(String endpoint) throws Exception {
+        setupEnv();
+        Invocation.Builder invocationBuilder = sendRequest(endpoint);
+        verifyResponse(invocationBuilder.get());
+    }
+
     private void verifyResponse(Response testResponse) {
         assertEquals(Response.Status.OK.getStatusCode(), testResponse.getStatus());
         Map<String, Map<String, List<PdpStatistics>>> map =