X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ONAP-PAP-REST%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Fpap%2Fxacml%2Frest%2Felk%2FPolicyElasticSearchControllerTest.java;h=38102afb01409748853cf7bac5edf46c21c32ef8;hb=refs%2Fchanges%2F63%2F98463%2F1;hp=ec86996c12af09859a61653234a87bb0a10b923d;hpb=96787c49cd192096916e482e5b55e91652de3817;p=policy%2Fengine.git 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 ec86996c1..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 @@ -2,14 +2,14 @@ * ============LICENSE_START======================================================= * ONAP-PAP-REST * ================================================================================ - * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2018-2019 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. * 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. @@ -17,65 +17,97 @@ * limitations under the License. * ============LICENSE_END========================================================= */ + 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 HttpServletRequest request = null; - private HttpServletResponse response = null; - - @Before - public void setup(){ - conroller = new PolicyElasticSearchController(); - request = Mockito.mock(HttpServletRequest.class); - response = Mockito.mock(HttpServletResponse.class); - } - - @Test - public void testSearchDictionary(){ - List jsonString = new ArrayList<>(); - jsonString.add("{\"type\":\"attribute\",\"data\":{\"xacmlId\":\"Test\"}}"); - jsonString.add("{\"type\":\"onapName\",\"data\":{\"onapName\":\"Test\"}}"); - jsonString.add("{\"type\":\"actionPolicy\",\"data\":{\"attributeName\":\"Test\"}}"); - jsonString.add("{\"type\":\"brmsParam\",\"data\":{\"ruleName\":\"Test\"}}"); - jsonString.add("{\"type\":\"pepOptions\",\"data\":{\"pepName\":\"Test\"}}"); - jsonString.add("{\"type\":\"clSite\",\"data\":{\"siteName\":\"Test\"}}"); - jsonString.add("{\"type\":\"clService\",\"data\":{\"serviceName\":\"Test\"}}"); - jsonString.add("{\"type\":\"clVarbind\",\"data\":{\"varbindName\":\"Test\"}}"); - jsonString.add("{\"type\":\"clVnf\",\"data\":{\"vnftype\":\"Test\"}}"); - jsonString.add("{\"type\":\"clVSCL\",\"data\":{\"vsclaction\":\"Test\"}}"); - jsonString.add("{\"type\":\"decision\",\"data\":{\"xacmlId\":\"Test\"}}"); - jsonString.add("{\"type\":\"fwTerm\",\"data\":{\"termName\":\"Test\"}}"); - jsonString.add("{\"type\":\"msDCAEUUID\",\"data\":{\"name\":\"Test\"}}"); - jsonString.add("{\"type\":\"msLocation\",\"data\":{\"name\":\"Test\"}}"); - jsonString.add("{\"type\":\"msModels\",\"data\":{\"modelName\":\"Test\"}}"); - jsonString.add("{\"type\":\"psGroupPolicy\",\"data\":{\"name\":\"Test\"}}"); - 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()); - } - } - } + + private PolicyElasticSearchController controller; + private HttpServletRequest request = null; + private HttpServletResponse response = null; + + @Before + public void setup() { + controller = new PolicyElasticSearchController(); + request = Mockito.mock(HttpServletRequest.class); + response = new MockHttpServletResponse(); + } + + @Test + public void testSearchDictionary() throws IOException { + List jsonString = new ArrayList<>(); + jsonString.add("{\"type\":\"attribute\",\"data\":{\"xacmlId\":\"Test\"}}"); + jsonString.add("{\"type\":\"onapName\",\"data\":{\"onapName\":\"Test\"}}"); + jsonString.add("{\"type\":\"actionPolicy\",\"data\":{\"attributeName\":\"Test\"}}"); + jsonString.add("{\"type\":\"brmsParam\",\"data\":{\"ruleName\":\"Test\"}}"); + jsonString.add("{\"type\":\"pepOptions\",\"data\":{\"pepName\":\"Test\"}}"); + jsonString.add("{\"type\":\"clSite\",\"data\":{\"siteName\":\"Test\"}}"); + jsonString.add("{\"type\":\"clService\",\"data\":{\"serviceName\":\"Test\"}}"); + jsonString.add("{\"type\":\"clVarbind\",\"data\":{\"varbindName\":\"Test\"}}"); + jsonString.add("{\"type\":\"clVnf\",\"data\":{\"vnftype\":\"Test\"}}"); + jsonString.add("{\"type\":\"clVSCL\",\"data\":{\"vsclaction\":\"Test\"}}"); + jsonString.add("{\"type\":\"decision\",\"data\":{\"xacmlId\":\"Test\"}}"); + jsonString.add("{\"type\":\"fwTerm\",\"data\":{\"termName\":\"Test\"}}"); + jsonString.add("{\"type\":\"msDCAEUUID\",\"data\":{\"name\":\"Test\"}}"); + jsonString.add("{\"type\":\"msLocation\",\"data\":{\"name\":\"Test\"}}"); + jsonString.add("{\"type\":\"msModels\",\"data\":{\"modelName\":\"Test\"}}"); + jsonString.add("{\"type\":\"psGroupPolicy\",\"data\":{\"name\":\"Test\"}}"); + jsonString.add("{\"type\":\"safeRisk\",\"data\":{\"name\":\"Test\"}}"); + jsonString.add("{\"type\":\"safePolicyWarning\",\"data\":{\"name\":\"Test\"}}"); + for (int i = 0; i < jsonString.size(); i++) { + 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 searchKeys = new HashMap(); + 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)); + } }