* ============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.
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doReturn;
+
+import com.mockrunner.mock.web.MockHttpServletResponse;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.script.SimpleBindings;
+import javax.servlet.http.HttpServletRequest;
+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.onap.policy.xacml.api.pap.OnapPDPGroup;
import org.onap.policy.xacml.std.pap.StdPDPGroup;
import org.onap.policy.xacml.std.pap.StdPDPPolicy;
-import org.powermock.api.mockito.PowerMockito;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-import com.mockrunner.mock.web.MockHttpServletRequest;
-import com.mockrunner.mock.web.MockHttpServletResponse;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.EntityTransaction;
-import javax.servlet.http.HttpServletResponse;
-import javax.persistence.Query;
-@RunWith(PowerMockRunner.class)
public class PushPolicyHandlerTest {
- @PrepareForTest({XACMLPapServlet.class})
- @Test
- public void testGetsAndChecks() {
- // Mock servlet, entity mgr, transaction, and query
- EntityManager em = Mockito.mock(EntityManager.class);
- EntityManagerFactory emf = Mockito.mock(EntityManagerFactory.class);
- PowerMockito.mockStatic(XACMLPapServlet.class);
- PowerMockito.when(XACMLPapServlet.getEmf()).thenReturn(emf);
- Mockito.when(emf.createEntityManager()).thenReturn(em);
- EntityTransaction transaction = Mockito.mock(EntityTransaction.class);
- Mockito.when(em.getTransaction()).thenReturn(transaction);
- Query query = Mockito.mock(Query.class);
- Mockito.when(em.createQuery(Mockito.anyString())).thenReturn(query);
-
- // Test constructor
- PushPolicyHandler handler = new PushPolicyHandler();
- assertNotNull(handler);
+ @Test
+ public void testGetsAndChecks() {
+ CommonClassDao commonClassDao = Mockito.mock(CommonClassDao.class);
+ // Test constructor
+ PushPolicyHandler handler = new PushPolicyHandler(commonClassDao);
+ assertNotNull(handler);
+
+ // Test gets
+ HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
+ HttpServletResponse response = Mockito.mock(MockHttpServletResponse.class);
+ Mockito.when(request.getParameter("policyScope")).thenReturn("com");
+ Mockito.when(request.getParameter("filePrefix")).thenReturn("Config_");
+ Mockito.when(request.getParameter("policyName")).thenReturn("testPush");
+ PolicyVersion version = new PolicyVersion();
+ version.setActiveVersion(1);
+ version.setCreatedBy("API");
+ version.setHigherVersion(1);
+ version.setId(1);
+ version.setModifiedBy("API");
+ version.setPolicyName("com" + File.separator + "Config_testPush");
+ List<PolicyVersion> list = new ArrayList<>();
+ list.add(version);
+
+ doNothing().when(commonClassDao).save(any(PolicyVersion.class));
+ doReturn(list).when(commonClassDao).getDataByQuery(any(String.class), any(SimpleBindings.class));
+
+ handler.getActiveVersion(request, response);
+
+ Mockito.verify(response).setStatus(HttpServletResponse.SC_OK);
+ Mockito.verify(response).addHeader("version", "1");
+
+ request = Mockito.mock(HttpServletRequest.class);
+ response = Mockito.mock(MockHttpServletResponse.class);
+ Mockito.when(request.getParameter("gitPath")).thenReturn("testPath");
+ handler.getSelectedURI(request, response);
+ Mockito.verify(response).setStatus(HttpServletResponse.SC_OK);
+
+ StdPDPPolicy policy = new StdPDPPolicy();
+ OnapPDPGroup onapPolicy = new StdPDPGroup();
+ String configHome = "testVal";
+ assertEquals(handler.preSafetyCheck(policy, configHome), true);
+ assertEquals(handler.preSafetyCheck(onapPolicy, configHome), true);
+ }
- // Test gets
- MockHttpServletRequest request = new MockHttpServletRequest();
- MockHttpServletResponse response = new MockHttpServletResponse();
- handler.getActiveVersion(request, response);
- assertEquals(response.getStatusCode(), HttpServletResponse.SC_OK);
- request.setupAddParameter("gitPath", "testPath");
- handler.getSelectedURI(request, response);
- assertEquals(response.getStatusCode(), HttpServletResponse.SC_OK);
-
- // Test check
- StdPDPPolicy policy = new StdPDPPolicy();
- OnapPDPGroup onapPolicy = new StdPDPGroup();
- String configHome = "testVal";
- assertEquals(handler.preSafetyCheck(policy, configHome), true);
- assertEquals(handler.preSafetyCheck(onapPolicy, configHome), true);
- }
-
- @Test
- public void testGetInstance() {
- PushPolicyHandler handler = PushPolicyHandler.getInstance();
- assertNotNull(handler);
- }
+ @Test
+ public void testGetInstance() {
+ PushPolicyHandler handler = PushPolicyHandler.getInstance();
+ assertNotNull(handler);
+ }
}