aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbobbymander <bobby.mander@att.com>2019-11-15 13:59:18 -0500
committerbobbymander <bobby.mander@att.com>2019-11-15 13:59:30 -0500
commit0154925df97446afa15ab60d59c57237dfa7b2e9 (patch)
treecfdd6158de747a7a6b1089aba12d3b679474b397
parentb536883546b9fa87bce50c7a6d030f6de3aafdce (diff)
More JUnit additions for PAP-REST
Issue-ID: POLICY-2130 Change-Id: Ia111e5fd6dfba1e03f157ff95f91ef65df293043 Signed-off-by: bobbymander <bobby.mander@att.com>
-rw-r--r--ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/service/MetricService.java11
-rw-r--r--ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/controller/OptimizationDictionaryControllerTest.java1
-rw-r--r--ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/PolicyElasticSearchControllerTest.java55
-rw-r--r--ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/client/ElkConnectorImplTest.java (renamed from ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/ElkConnectorImplTest.java)35
-rw-r--r--ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/service/MetricServiceTest.java21
5 files changed, 98 insertions, 25 deletions
diff --git a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/service/MetricService.java b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/service/MetricService.java
index 594112636..36dd5fdee 100644
--- a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/service/MetricService.java
+++ b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/service/MetricService.java
@@ -21,13 +21,11 @@
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;
diff --git a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/controller/OptimizationDictionaryControllerTest.java b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/controller/OptimizationDictionaryControllerTest.java
index d990b9002..f109dbdda 100644
--- a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/controller/OptimizationDictionaryControllerTest.java
+++ b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/controller/OptimizationDictionaryControllerTest.java
@@ -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);
diff --git a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/PolicyElasticSearchControllerTest.java b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/PolicyElasticSearchControllerTest.java
index 9456dd4e4..38102afb0 100644
--- a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/PolicyElasticSearchControllerTest.java
+++ b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/PolicyElasticSearchControllerTest.java
@@ -20,37 +20,45 @@
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));
+ }
}
diff --git a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/ElkConnectorImplTest.java b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/client/ElkConnectorImplTest.java
index 87f56e284..8eb003ca8 100644
--- a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/ElkConnectorImplTest.java
+++ b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/elk/client/ElkConnectorImplTest.java
@@ -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);
+ }
}
diff --git a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/service/MetricServiceTest.java b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/service/MetricServiceTest.java
index a4ee0ca77..ebd3292aa 100644
--- a/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/service/MetricServiceTest.java
+++ b/ONAP-PAP-REST/src/test/java/org/onap/policy/pap/xacml/rest/service/MetricServiceTest.java
@@ -21,15 +21,19 @@
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());
+ }
}