More JUnit additions for PAP-REST 63/98463/1
authorbobbymander <bobby.mander@att.com>
Fri, 15 Nov 2019 18:59:18 +0000 (13:59 -0500)
committerbobbymander <bobby.mander@att.com>
Fri, 15 Nov 2019 18:59:30 +0000 (13:59 -0500)
Issue-ID: POLICY-2130
Change-Id: Ia111e5fd6dfba1e03f157ff95f91ef65df293043
Signed-off-by: bobbymander <bobby.mander@att.com>
ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/service/MetricService.java
ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/controller/OptimizationDictionaryControllerTest.java
ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/PolicyElasticSearchControllerTest.java
ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/client/ElkConnectorImplTest.java [moved from ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/ElkConnectorImplTest.java with 71% similarity]
ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/service/MetricServiceTest.java

index 5941126..36dd5fd 100644 (file)
 package org.onap.policy.pap.xacml.rest.service;
 
 import com.att.research.xacml.api.pap.PDPPolicy;
-
+import com.google.common.annotations.VisibleForTesting;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-
 import javax.servlet.http.HttpServletResponse;
-
 import org.json.JSONObject;
 import org.onap.policy.common.logging.eelf.MessageCodes;
 import org.onap.policy.common.logging.eelf.PolicyLogger;
@@ -51,8 +49,9 @@ public class MetricService {
 
     }
 
+    @VisibleForTesting
     @Autowired
-    private MetricService(CommonClassDao commonClassDao) {
+    protected MetricService(CommonClassDao commonClassDao) {
         MetricService.commonClassDao = commonClassDao;
     }
 
@@ -79,7 +78,7 @@ public class MetricService {
             json.put("totalCount", totalCount);
             if (pdpCount > 0 && papCount > 0 && totalCount > 0) {
                 PolicyLogger.info(
-                        "Metrics have been found on the Policy Engine for the number of policies on the PAP and PDP.");
+                    "Metrics have been found on the Policy Engine for the number of policies on the PAP and PDP.");
                 response.setStatus(HttpServletResponse.SC_OK);
                 response.addHeader("successMapKey", "success");
                 response.addHeader("operation", "getMetrics");
@@ -87,7 +86,7 @@ public class MetricService {
                 return;
             } else {
                 String message =
-                        "The policy count on the PAP and PDP is 0.  Please check the database and file system to correct this error.";
+                    "The policy count on the PAP and PDP is 0.  Please check the database and file system to correct this error.";
                 response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
                 response.addHeader(errorMsg, message);
                 return;
index d990b90..f109dbd 100644 (file)
@@ -194,7 +194,6 @@ public class OptimizationDictionaryControllerTest {
         req.setBodyContent("{\n\"modelType\": \"type.yml\", \"dataOrderInfo\": \"info\", \"userid\": \"id\", "
             + "\"optimizationModelsDictionaryData\": {\"description\": \"desc\", \"modelName\": \"name\", \"version\": \"1.0\"}, "
             + "\"classMap\": \"{\\\"dep\\\":\\\"{\\\"dependency\\\":\\\"depval\\\"}\\\"}\" }\n");
-        // + "\"classMap\": \"{\\\"dep\\\":\\\"dependency\\\"}\" }\n");
         assertThatThrownBy(() -> controller.saveOptimizationModelsDictionary(req, response))
             .isInstanceOf(NullPointerException.class);
 
index 9456dd4..38102af 100644 (file)
 
 package org.onap.policy.pap.xacml.rest.elk;
 
+import static org.assertj.core.api.Assertions.assertThatCode;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.mockito.Mockito.when;
 
 import java.io.BufferedReader;
+import java.io.IOException;
 import java.io.StringReader;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
-
+import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
+import org.onap.policy.pap.xacml.rest.elk.client.ElkConnector.PolicyIndexType;
 import org.onap.policy.pap.xacml.rest.elk.client.PolicyElasticSearchController;
+import org.onap.policy.rest.adapter.PolicyRestAdapter;
+import org.onap.policy.rest.dao.CommonClassDao;
+import org.springframework.mock.web.MockHttpServletResponse;
 
 public class PolicyElasticSearchControllerTest {
 
-    private PolicyElasticSearchController conroller;
+    private PolicyElasticSearchController controller;
     private HttpServletRequest request = null;
     private HttpServletResponse response = null;
 
     @Before
     public void setup() {
-        conroller = new PolicyElasticSearchController();
+        controller = new PolicyElasticSearchController();
         request = Mockito.mock(HttpServletRequest.class);
-        response = Mockito.mock(HttpServletResponse.class);
+        response = new MockHttpServletResponse();
     }
 
     @Test
-    public void testSearchDictionary() {
+    public void testSearchDictionary() throws IOException {
         List<String> jsonString = new ArrayList<>();
         jsonString.add("{\"type\":\"attribute\",\"data\":{\"xacmlId\":\"Test\"}}");
         jsonString.add("{\"type\":\"onapName\",\"data\":{\"onapName\":\"Test\"}}");
@@ -71,12 +79,35 @@ public class PolicyElasticSearchControllerTest {
         jsonString.add("{\"type\":\"safeRisk\",\"data\":{\"name\":\"Test\"}}");
         jsonString.add("{\"type\":\"safePolicyWarning\",\"data\":{\"name\":\"Test\"}}");
         for (int i = 0; i < jsonString.size(); i++) {
-            try (BufferedReader br = new BufferedReader(new StringReader(jsonString.get(i)))) {
-                when(request.getReader()).thenReturn(br);
-                conroller.searchDictionary(request, response);
-            } catch (Exception e) {
-                assertEquals(NullPointerException.class, e.getClass());
-            }
+            BufferedReader br = new BufferedReader(new StringReader(jsonString.get(i)));
+            when(request.getReader()).thenReturn(br);
+            assertThatCode(() -> controller.searchDictionary(request, response)).doesNotThrowAnyException();
         }
     }
+
+    @Test
+    public void testController() throws IOException {
+        CommonClassDao dao = Mockito.mock(CommonClassDao.class);
+        PolicyElasticSearchController controller = new PolicyElasticSearchController(dao);
+        assertEquals(PolicyIndexType.all, controller.toPolicyIndexType(null));
+        assertEquals(PolicyIndexType.config, controller.toPolicyIndexType("config"));
+
+        Map<String, String> searchKeys = new HashMap<String, String>();
+        searchKeys.put("key", "value");
+        assertThatThrownBy(() -> controller.search(PolicyIndexType.config, "text", searchKeys))
+            .isInstanceOf(Exception.class);
+
+        when(request.getParameter("policyName")).thenReturn("policyName");
+        when(request.getParameter("action")).thenReturn("search");
+        when(request.getReader())
+            .thenReturn(new BufferedReader(new StringReader("{\"searchdata\": { \"query\": \"value space\", "
+                + "\"policyType\": \"all\", " + "\"closedLooppolicyType\": \"type\", " + "\"onapName\": \"pef\", "
+                + "\"vnfType\": \"vnf\", " + "\"policyStatus\": \"active\", " + "\"vproAction\": \"reboot\", "
+                + "\"serviceType\": \"type\", " + "\"bindTextSearch\": \"pef\", " + "\"d2Service\": \"vDNS\"} }")));
+        controller.searchPolicy(request, response);
+        assertEquals(HttpServletResponse.SC_OK, response.getStatus());
+
+        PolicyRestAdapter policyData = new PolicyRestAdapter();
+        assertFalse(controller.deleteElk(policyData));
+    }
 }
@@ -18,8 +18,9 @@
  * ============LICENSE_END=========================================================
  */
 
-package org.onap.policy.pap.xacml.rest.elk;
+package org.onap.policy.pap.xacml.rest.elk.client;
 
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
@@ -27,15 +28,14 @@ import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 import io.searchbox.client.JestResult;
-
 import java.io.IOException;
 import java.lang.reflect.Method;
-
+import java.util.HashMap;
+import java.util.Map;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.onap.policy.pap.xacml.rest.elk.client.ElkConnector.PolicyIndexType;
-import org.onap.policy.pap.xacml.rest.elk.client.ElkConnectorImpl;
 import org.onap.policy.rest.adapter.PolicyRestAdapter;
 
 public class ElkConnectorImplTest {
@@ -143,4 +143,31 @@ public class ElkConnectorImplTest {
         impl.search(PolicyIndexType.config, "search", null);
         fail("Expected exception to be thrown");
     }
+
+    @Test
+    public void testImplNegCases() throws IOException {
+        ElkConnectorImpl impl = new ElkConnectorImpl();
+        Map<String, String> filter = new HashMap<String, String>();
+        assertThatThrownBy(() -> impl.isType(PolicyIndexType.config)).isInstanceOf(IOException.class);
+        assertThatThrownBy(() -> impl.isIndex()).isInstanceOf(IOException.class);
+        assertThatThrownBy(() -> impl.search(null, null)).isInstanceOf(IllegalArgumentException.class);
+        assertThatThrownBy(() -> impl.search(null, "")).isInstanceOf(IllegalArgumentException.class);
+        assertThatThrownBy(() -> impl.search(null, ";;;")).isInstanceOf(IllegalArgumentException.class);
+        assertThatThrownBy(() -> impl.search(null, "foo")).isInstanceOf(IllegalStateException.class);
+        assertThatThrownBy(() -> impl.search(PolicyIndexType.all, "foo")).isInstanceOf(IllegalStateException.class);
+
+        assertThatThrownBy(() -> impl.search(null, null, null)).isInstanceOf(IllegalArgumentException.class);
+        assertThatThrownBy(() -> impl.search(null, null, filter)).isInstanceOf(IllegalArgumentException.class);
+        filter.put("key", "value");
+        assertThatThrownBy(() -> impl.search(null, ";;;", filter)).isInstanceOf(IllegalArgumentException.class);
+        assertThatThrownBy(() -> impl.search(null, "foo", filter)).isInstanceOf(IllegalStateException.class);
+        assertThatThrownBy(() -> impl.search(PolicyIndexType.config, "foo", filter))
+            .isInstanceOf(IllegalStateException.class);
+
+        PolicyRestAdapter adapter = new PolicyRestAdapter();
+        adapter.setNewFileName("scope.Decision_newFile");
+        adapter.setConfigPolicyType("Config");
+        assertThatThrownBy(() -> impl.put(adapter)).isInstanceOf(IOException.class);
+        assertThatThrownBy(() -> impl.delete(adapter)).isInstanceOf(IllegalStateException.class);
+    }
 }
index a4ee0ca..ebd3292 100644 (file)
 package org.onap.policy.pap.xacml.rest.service;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 import static org.mockito.Mockito.when;
 
 import com.mockrunner.mock.web.MockHttpServletResponse;
-
+import java.util.ArrayList;
+import java.util.List;
 import javax.servlet.http.HttpServletResponse;
-
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mockito;
 import org.onap.policy.pap.xacml.rest.XACMLPapServlet;
+import org.onap.policy.rest.dao.CommonClassDao;
+import org.onap.policy.rest.jpa.PolicyVersion;
 import org.powermock.api.mockito.PowerMockito;
 import org.powermock.core.classloader.annotations.PrepareForTest;
 import org.powermock.modules.junit4.PowerMockRunner;
@@ -47,4 +51,17 @@ public class MetricServiceTest {
         MetricService.doGetPolicyMetrics(response);
         assertEquals(HttpServletResponse.SC_BAD_REQUEST, response.getStatusCode());
     }
+
+    @Test
+    public void testService() {
+        CommonClassDao dao = Mockito.mock(CommonClassDao.class);
+        List<Object> value = new ArrayList<Object>();
+        when(dao.getData(PolicyVersion.class)).thenReturn(value);
+        MetricService service = new MetricService(dao);
+        assertNotNull(service);
+
+        MockHttpServletResponse response = new MockHttpServletResponse();
+        MetricService.doGetPolicyMetrics(response);
+        assertEquals(HttpServletResponse.SC_BAD_REQUEST, response.getStatusCode());
+    }
 }