Consolidate PolicyRestAdapter setup
[policy/engine.git] / POLICY-SDK-APP / src / test / java / org / onap / policy / admin / PolicyManagerServletTest.java
index a034c8a..244901a 100644 (file)
@@ -2,14 +2,16 @@
  * ============LICENSE_START=======================================================
  * ONAP Policy Engine
  * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Modifications Copyright (C) 2019 Samsung
  * ================================================================================
  * 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.
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.policy.admin;
 
+import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 import java.io.BufferedReader;
@@ -28,10 +32,9 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
-import javax.script.SimpleBindings;
 import javax.servlet.ServletConfig;
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
 
 import org.apache.commons.io.IOUtils;
 import org.junit.Before;
@@ -41,6 +44,7 @@ import org.onap.policy.common.logging.flexlogger.FlexLogger;
 import org.onap.policy.common.logging.flexlogger.Logger;
 import org.onap.policy.controller.CreateDcaeMicroServiceController;
 import org.onap.policy.controller.PolicyController;
+import org.onap.policy.model.Roles;
 import org.onap.policy.rest.dao.CommonClassDao;
 import org.onap.policy.rest.jpa.ActionBodyEntity;
 import org.onap.policy.rest.jpa.ConfigurationDataEntity;
@@ -49,59 +53,77 @@ import org.onap.policy.rest.jpa.PolicyEditorScopes;
 import org.onap.policy.rest.jpa.PolicyEntity;
 import org.onap.policy.rest.jpa.PolicyVersion;
 import org.onap.policy.rest.jpa.UserInfo;
-import org.openecomp.policy.model.Roles;
-
-public class PolicyManagerServletTest extends Mockito{
-       
-       private static Logger logger = FlexLogger.getLogger(PolicyManagerServletTest.class);
-       private List<String> headers = new ArrayList<String>();
-
-       private static List<Object> rolesdata;
-       private static List<Object> basePolicyData;
-       private static List<Object> policyEditorScopes;
-       private static List<Object> policyVersion;
-       private static CommonClassDao commonClassDao;
-       
-       @Before
-       public void setUp() throws Exception{
-               logger.info("setUp: Entering");
-               UserInfo userinfo = new UserInfo();
-               userinfo.setUserLoginId("Test");
-               userinfo.setUserName("Test");
-               //Roles Data
+import org.onap.portalsdk.core.domain.User;
+import org.onap.portalsdk.core.util.SystemProperties;
+import org.springframework.mock.web.MockHttpServletResponse;
+
+public class PolicyManagerServletTest extends Mockito {
+
+    private static Logger logger = FlexLogger.getLogger(PolicyManagerServletTest.class);
+    private List<String> headers = new ArrayList<String>();
+
+    private static List<Object> rolesdata;
+    private static List<Object> basePolicyData;
+    private static List<Object> policyEditorScopes;
+    private static List<Object> policyVersion;
+    private static CommonClassDao commonClassDao;
+    private ConfigurationDataEntity configurationEntity;
+    private HttpServletRequest request;
+    private MockHttpServletResponse response;
+
+    /**
+     * setUp.
+     *
+     * @throws Exception should not get one
+     */
+    @Before
+    public void setUp() throws Exception {
+        logger.info("setUp: Entering");
+
+        request = mock(HttpServletRequest.class);
+        response = new MockHttpServletResponse();
+
+        PolicyController.setjUnit(true);
+        UserInfo userinfo = new UserInfo();
+        userinfo.setUserLoginId("Test");
+        userinfo.setUserName("Test");
+        // Roles Data
         rolesdata = new ArrayList<>();
         Roles roles = new Roles();
         roles.setLoginId("Test");
         roles.setRole("super-admin");
         Roles roles1 = new Roles();
+        roles1.setId(1);
+        roles1.setName("Test");
+        assertTrue("Test".equals(roles1.getName()));
         roles1.setLoginId("Test");
         roles1.setRole("admin");
         roles1.setScope("['com','Test']");
         rolesdata.add(roles);
         rolesdata.add(roles1);
-        
-        //PolicyEntity Data
+
+        // PolicyEntity Data
         basePolicyData = new ArrayList<>();
         String policyContent = "";
         try {
-                       ClassLoader classLoader = getClass().getClassLoader();
-                       policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_SampleTest1206.1.xml"));
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-               }
+            ClassLoader classLoader = getClass().getClassLoader();
+            policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_SampleTest1206.1.xml"));
+        } catch (Exception e1) {
+            logger.error("Exception Occured" + e1);
+        }
         PolicyEntity entity = new PolicyEntity();
         entity.setPolicyName("Config_SampleTest.1.xml");
         entity.setPolicyData(policyContent);
         entity.setScope("com");
-        ConfigurationDataEntity configurationEntity = new ConfigurationDataEntity();
+        configurationEntity = new ConfigurationDataEntity();
         configurationEntity.setConfigBody("Sample Test");
         configurationEntity.setConfigType("OTHER");
         configurationEntity.setConfigurationName("com.Config_SampleTest1206.1.txt");
         configurationEntity.setDescription("test");
         entity.setConfigurationData(configurationEntity);
         basePolicyData.add(entity);
-        
-        //PolicyEditorScopes data
+
+        // PolicyEditorScopes data
         policyEditorScopes = new ArrayList<>();
         PolicyEditorScopes scopes = new PolicyEditorScopes();
         scopes.setScopeName("com");
@@ -113,8 +135,8 @@ public class PolicyManagerServletTest extends Mockito{
         scopes1.setUserModifiedBy(userinfo);
         policyEditorScopes.add(scopes);
         policyEditorScopes.add(scopes1);
-        
-        //PolicyVersion data
+
+        // PolicyVersion data
         policyVersion = new ArrayList<>();
         PolicyVersion policy = new PolicyVersion();
         policy.setPolicyName("com\\Config_SampleTest1206");
@@ -123,110 +145,157 @@ public class PolicyManagerServletTest extends Mockito{
         policy.setCreatedBy("Test");
         policy.setModifiedBy("Test");
         policyVersion.add(policy);
-       }
-       
-       @Test
-       public void testInit(){
-               PolicyManagerServlet servlet = new PolicyManagerServlet();
-               ServletConfig servletConfig = mock(ServletConfig.class);       
+
+        HttpSession mockSession = mock(HttpSession.class);
+        User user = new User();
+        user.setOrgUserId("Test");
+        Mockito.when(mockSession.getAttribute(SystemProperties.getProperty("user_attribute_name"))).thenReturn(user);
+        Mockito.when(request.getSession(false)).thenReturn(mockSession);
+        commonClassDao = mock(CommonClassDao.class);
+
+    }
+
+    @Test
+    public void testInit() {
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
+        ServletConfig servletConfig = mock(ServletConfig.class);
+        try {
+            when(servletConfig.getInitParameterNames()).thenReturn(Collections.enumeration(headers));
+            when(servletConfig.getInitParameter("XACML_PROPERTIES_NAME")).thenReturn("xacml.admin.properties");
+            System.setProperty("xacml.rest.admin.closedLoopJSON",
+                    new File(".").getCanonicalPath() + File.separator + "src" + File.separator + "test" + File.separator
+                            + "resources" + File.separator + "JSONConfig.json");
+            servlet.init(servletConfig);
+
+            assertTrue(PolicyManagerServlet.getServiceTypeNamesList().size() > 0);
+            assertTrue(PolicyManagerServlet.getPolicyNames().size() > 0);
+
+        } catch (Exception e1) {
+            logger.error("Exception Occured" + e1);
+            fail();
+        }
+    }
+
+    @Test
+    public void testBadInitJson() {
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
+        ServletConfig servletConfig = mock(ServletConfig.class);
         try {
-               when(servletConfig.getInitParameterNames()).thenReturn(Collections.enumeration(headers));
-               when(servletConfig.getInitParameter("XACML_PROPERTIES_NAME")).thenReturn("xacml.admin.properties");
-               System.setProperty("xacml.rest.admin.closedLoopJSON", new File(".").getCanonicalPath() + File.separator + "src"+ File.separator + "test" + File.separator + "resources" + File.separator + "JSONConfig.json");
-                       servlet.init(servletConfig);
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-                       fail();
-               }
-       }
-       
-       @SuppressWarnings("static-access")
-       @Test
-       public void testDescribePolicy(){
-               PolicyManagerServlet servlet = new PolicyManagerServlet();
-               HttpServletRequest request = mock(HttpServletRequest.class);       
-        HttpServletResponse response = mock(HttpServletResponse.class);  
+            when(servletConfig.getInitParameterNames()).thenReturn(Collections.enumeration(headers));
+            when(servletConfig.getInitParameter("XACML_PROPERTIES_NAME")).thenReturn("xacml.admin.properties");
+            System.setProperty("xacml.rest.admin.closedLoopJSON",
+                    new File(".").getCanonicalPath() + File.separator + "src" + File.separator + "test" + File.separator
+                            + "resources" + File.separator + "JSONConfig.foo");
+            servlet.init(servletConfig);
+        } catch (Exception e1) {
+            logger.error("Exception Occured" + e1);
+            fail();
+        }
+    }
+
+    @Test
+    public void testBadInitJsonInvalidFile() {
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
+        ServletConfig servletConfig = mock(ServletConfig.class);
+        try {
+            when(servletConfig.getInitParameterNames()).thenReturn(Collections.enumeration(headers));
+            when(servletConfig.getInitParameter("XACML_PROPERTIES_NAME")).thenReturn("xacml.admin.properties");
+            System.setProperty("xacml.rest.admin.closedLoopJSON",
+                    new File(".").getCanonicalPath() + File.separator + "src" + File.separator + "test" + File.separator
+                            + "resources" + File.separator + "IDonotExist.json");
+            servlet.init(servletConfig);
+        } catch (Exception e1) {
+            logger.error("Exception Occured" + e1);
+            fail();
+        }
+    }
+
+    @SuppressWarnings("static-access")
+    @Test
+    public void testDescribePolicy() {
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
-        
-        BufferedReader reader = new BufferedReader(new StringReader("{params: { mode: 'DESCRIBEPOLICYFILE', path: 'com.Config_SampleTest1206.1.xml'}}"));
+        BufferedReader reader = new BufferedReader(
+                new StringReader("{params: { mode: 'DESCRIBEPOLICYFILE', path: 'com.Config_SampleTest1206.1.xml'}}"));
         try {
-                       when(request.getReader()).thenReturn(reader);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Config_SampleTest1206.1.xml' and scope ='com'", new SimpleBindings())).thenReturn(basePolicyData);
-                       servlet.setPolicyController(controller);
-                       servlet.doPost(request, response);
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-                       fail();
-               }
-       }
-       
-       
-       @SuppressWarnings("static-access")
-       @Test
-       public void testPolicyScopeList(){
-               PolicyManagerServlet servlet = new PolicyManagerServlet();
-               HttpServletRequest request = mock(HttpServletRequest.class);       
-        HttpServletResponse response = mock(HttpServletResponse.class); 
+            when(request.getReader()).thenReturn(reader);
+            String query = "FROM PolicyEntity where policyName = :split_1 and scope = :split_0";
+            when(controller.getDataByQuery(query, null)).thenReturn(basePolicyData);
+            servlet.setPolicyController(controller);
+            servlet.doPost(request, response);
+        } catch (Exception e1) {
+            logger.error("Exception Occured" + e1);
+            fail();
+        }
+    }
+
+    @SuppressWarnings("static-access")
+    @Test
+    public void testPolicyScopeList() {
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         List<String> list = new ArrayList<>();
         list.add("{params: { mode: 'LIST', path: '/', onlyFolders: false}}");
         list.add("{params: { mode: 'LIST', path: '/com', onlyFolders: false}}");
-        for(int i =0; i < list.size(); i++){
-               BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
+        for (int i = 0; i < list.size(); i++) {
+            BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
             try {
-                       when(request.getReader()).thenReturn(reader);
-                       when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("from PolicyEditorScopes", new SimpleBindings())).thenReturn(policyEditorScopes);
-                       when(controller.getDataByQuery("from PolicyEditorScopes where SCOPENAME like 'com%'", new SimpleBindings())).thenReturn(policyEditorScopes);
-                       when(controller.getDataByQuery("from PolicyVersion where POLICY_NAME like 'com%'", new SimpleBindings())).thenReturn(policyVersion);
-                       servlet.setPolicyController(controller);
-                       servlet.setTestUserId("Test");
-                       servlet.doPost(request, response);
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-                       fail();
-               }
+                when(request.getReader()).thenReturn(reader);
+                when(controller.getRoles("Test")).thenReturn(rolesdata);
+                when(controller.getDataByQuery("from PolicyEditorScopes", null)).thenReturn(policyEditorScopes);
+                when(controller.getDataByQuery("from PolicyEditorScopes where SCOPENAME like :scopeName", null))
+                        .thenReturn(policyEditorScopes);
+                when(controller.getDataByQuery("from PolicyVersion where POLICY_NAME like :scopeName", null))
+                        .thenReturn(policyVersion);
+                servlet.setPolicyController(controller);
+                servlet.setTestUserId("Test");
+                servlet.doPost(request, response);
+            } catch (Exception e1) {
+                logger.error("Exception Occured" + e1);
+                fail();
+            }
         }
-       }
-       
-       @SuppressWarnings("static-access")
-       @Test
-       public void editBasePolicyTest(){
-               PolicyManagerServlet servlet = new PolicyManagerServlet();
-               HttpServletRequest request = mock(HttpServletRequest.class);       
-        HttpServletResponse response = mock(HttpServletResponse.class); 
+    }
+
+    @SuppressWarnings("static-access")
+    @Test
+    public void editBasePolicyTest() {
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         List<String> list = new ArrayList<>();
         list.add("{params: { mode: 'EDITFILE', path: '/com/Config_SampleTest1206.1.xml', onlyFolders: false}}");
-        for(int i =0; i < list.size(); i++){
-               BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
+        for (int i = 0; i < list.size(); i++) {
+            BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
             try {
-                       when(request.getReader()).thenReturn(reader);
-                       when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Config_SampleTest1206.1.xml' and scope ='com'", new SimpleBindings())).thenReturn(basePolicyData);
-                       servlet.setPolicyController(controller);
-                       servlet.setTestUserId("Test");
-                       servlet.doPost(request, response);
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-                       fail();
-               }
+                when(request.getReader()).thenReturn(reader);
+                when(controller.getRoles("Test")).thenReturn(rolesdata);
+                when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0",
+                        null)).thenReturn(basePolicyData);
+                servlet.setPolicyController(controller);
+                servlet.setTestUserId("Test");
+                servlet.doPost(request, response);
+            } catch (Exception e1) {
+                logger.error("Exception Occured" + e1);
+                fail();
+            }
         }
-       }
-       
-       @SuppressWarnings("static-access")
-       @Test
-       public void editBRMSParamPolicyTest(){
-               List<Object> policyData = new ArrayList<>();
+    }
+
+    @SuppressWarnings("static-access")
+    @Test
+    public void editBRMSParamPolicyTest() {
+        List<Object> policyData = new ArrayList<>();
         String policyContent = "";
         String configData = "";
         try {
-                       ClassLoader classLoader = getClass().getClassLoader();
-                       policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml"));
-                       configData = IOUtils.toString(classLoader.getResourceAsStream("com.Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.txt"));
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-               }
+            ClassLoader classLoader = getClass().getClassLoader();
+            policyContent =
+                    IOUtils.toString(classLoader.getResourceAsStream("Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml"));
+            configData = IOUtils
+                    .toString(classLoader.getResourceAsStream("com.Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.txt"));
+        } catch (Exception e1) {
+            logger.error("Exception Occured" + e1);
+        }
         PolicyEntity entity = new PolicyEntity();
         entity.setPolicyName("Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml");
         entity.setPolicyData(policyContent);
@@ -238,41 +307,43 @@ public class PolicyManagerServletTest extends Mockito{
         configurationEntity.setDescription("test");
         entity.setConfigurationData(configurationEntity);
         policyData.add(entity);
-               PolicyManagerServlet servlet = new PolicyManagerServlet();
-               HttpServletRequest request = mock(HttpServletRequest.class);       
-        HttpServletResponse response = mock(HttpServletResponse.class); 
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         List<String> list = new ArrayList<>();
-        list.add("{params: { mode: 'EDITFILE', path: '/com/Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml', onlyFolders: false}}");
-        for(int i =0; i < list.size(); i++){
-               BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
+        list.add("{params: { mode: 'EDITFILE', path: '/com/Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml',"
+                + " onlyFolders: false}}");
+        for (int i = 0; i < list.size(); i++) {
+            BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
             try {
-                       when(request.getReader()).thenReturn(reader);
-                       when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Config_BRMS_Param_BRMSParamvFWDemoPolicy.1.xml' and scope ='com'", new SimpleBindings())).thenReturn(policyData);
-                       servlet.setPolicyController(controller);
-                       servlet.setTestUserId("Test");
-                       servlet.doPost(request, response);
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-                       fail();
-               }
+                when(request.getReader()).thenReturn(reader);
+                when(controller.getRoles("Test")).thenReturn(rolesdata);
+                when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0",
+                        null)).thenReturn(policyData);
+                servlet.setPolicyController(controller);
+                servlet.setTestUserId("Test");
+                servlet.doPost(request, response);
+            } catch (Exception e1) {
+                logger.error("Exception Occured" + e1);
+                fail();
+            }
         }
-       }
+    }
 
-       @SuppressWarnings("static-access")
-       @Test
-       public void editBRMSRawPolicyTest(){
-               List<Object> policyData = new ArrayList<>();
+    @SuppressWarnings("static-access")
+    @Test
+    public void editBRMSRawPolicyTest() {
+        List<Object> policyData = new ArrayList<>();
         String policyContent = "";
         String configData = "";
         try {
-                       ClassLoader classLoader = getClass().getClassLoader();
-                       policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_BRMS_Raw_TestBRMSRawPolicy.1.xml"));
-                       configData = IOUtils.toString(classLoader.getResourceAsStream("com.Config_BRMS_Raw_TestBRMSRawPolicy.1.txt"));
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-               }
+            ClassLoader classLoader = getClass().getClassLoader();
+            policyContent =
+                    IOUtils.toString(classLoader.getResourceAsStream("Config_BRMS_Raw_TestBRMSRawPolicy.1.xml"));
+            configData =
+                    IOUtils.toString(classLoader.getResourceAsStream("com.Config_BRMS_Raw_TestBRMSRawPolicy.1.txt"));
+        } catch (Exception e1) {
+            logger.error("Exception Occured" + e1);
+        }
         PolicyEntity entity = new PolicyEntity();
         entity.setPolicyName("Config_BRMS_Raw_TestBRMSRawPolicy.1.xml");
         entity.setPolicyData(policyContent);
@@ -284,41 +355,43 @@ public class PolicyManagerServletTest extends Mockito{
         configurationEntity.setDescription("test");
         entity.setConfigurationData(configurationEntity);
         policyData.add(entity);
-               PolicyManagerServlet servlet = new PolicyManagerServlet();
-               HttpServletRequest request = mock(HttpServletRequest.class);       
-        HttpServletResponse response = mock(HttpServletResponse.class); 
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         List<String> list = new ArrayList<>();
-        list.add("{params: { mode: 'EDITFILE', path: '/com/Config_BRMS_Raw_TestBRMSRawPolicy.1.xml', onlyFolders: false}}");
-        for(int i =0; i < list.size(); i++){
-               BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
+        list.add("{params: { mode: 'EDITFILE', path: '/com/Config_BRMS_Raw_TestBRMSRawPolicy.1.xml',"
+                + " onlyFolders: false}}");
+        for (int i = 0; i < list.size(); i++) {
+            BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
             try {
-                       when(request.getReader()).thenReturn(reader);
-                       when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Config_BRMS_Raw_TestBRMSRawPolicy.1.xml' and scope ='com'", new SimpleBindings())).thenReturn(policyData);
-                       servlet.setPolicyController(controller);
-                       servlet.setTestUserId("Test");
-                       servlet.doPost(request, response);
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-                       fail();
-               }
+                when(request.getReader()).thenReturn(reader);
+                when(controller.getRoles("Test")).thenReturn(rolesdata);
+                when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0",
+                        null)).thenReturn(policyData);
+                servlet.setPolicyController(controller);
+                servlet.setTestUserId("Test");
+                servlet.doPost(request, response);
+            } catch (Exception e1) {
+                logger.error("Exception Occured" + e1);
+                fail();
+            }
         }
-       }
-       
-       @SuppressWarnings("static-access")
-       @Test
-       public void editClosedLoopFaultPolicyTest(){
-               List<Object> policyData = new ArrayList<>();
+    }
+
+    @SuppressWarnings("static-access")
+    @Test
+    public void editClosedLoopFaultPolicyTest() {
+        List<Object> policyData = new ArrayList<>();
         String policyContent = "";
         String configData = "";
         try {
-                       ClassLoader classLoader = getClass().getClassLoader();
-                       policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_Fault_TestClosedLoopPolicy.1.xml"));
-                       configData = IOUtils.toString(classLoader.getResourceAsStream("com.Config_Fault_TestClosedLoopPolicy.1.json"));
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-               }
+            ClassLoader classLoader = getClass().getClassLoader();
+            policyContent =
+                    IOUtils.toString(classLoader.getResourceAsStream("Config_Fault_TestClosedLoopPolicy.1.xml"));
+            configData =
+                    IOUtils.toString(classLoader.getResourceAsStream("com.Config_Fault_TestClosedLoopPolicy.1.json"));
+        } catch (Exception e1) {
+            logger.error("Exception Occured" + e1);
+        }
         PolicyEntity entity = new PolicyEntity();
         entity.setPolicyName("Config_Fault_TestClosedLoopPolicy.1.xml");
         entity.setPolicyData(policyContent);
@@ -330,41 +403,42 @@ public class PolicyManagerServletTest extends Mockito{
         configurationEntity.setDescription("test");
         entity.setConfigurationData(configurationEntity);
         policyData.add(entity);
-               PolicyManagerServlet servlet = new PolicyManagerServlet();
-               HttpServletRequest request = mock(HttpServletRequest.class);       
-        HttpServletResponse response = mock(HttpServletResponse.class); 
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         List<String> list = new ArrayList<>();
-        list.add("{params: { mode: 'EDITFILE', path: '/com/Config_Fault_TestClosedLoopPolicy.1.xml', onlyFolders: false}}");
-        for(int i =0; i < list.size(); i++){
-               BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
+        list.add("{params: { mode: 'EDITFILE', path: '/com/Config_Fault_TestClosedLoopPolicy.1.xml',"
+                + " onlyFolders: false}}");
+        for (int i = 0; i < list.size(); i++) {
+            BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
             try {
-                       when(request.getReader()).thenReturn(reader);
-                       when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Config_Fault_TestClosedLoopPolicy.1.xml' and scope ='com'", new SimpleBindings())).thenReturn(policyData);
-                       servlet.setPolicyController(controller);
-                       servlet.setTestUserId("Test");
-                       servlet.doPost(request, response);
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-                       fail();
-               }
+                when(request.getReader()).thenReturn(reader);
+                when(controller.getRoles("Test")).thenReturn(rolesdata);
+                when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0",
+                        null)).thenReturn(policyData);
+                servlet.setPolicyController(controller);
+                servlet.setTestUserId("Test");
+                servlet.doPost(request, response);
+            } catch (Exception e1) {
+                logger.error("Exception Occured" + e1);
+                fail();
+            }
         }
-       }
-       
-       @SuppressWarnings("static-access")
-       @Test
-       public void editClosedLoopPMPolicyTest(){
-               List<Object> policyData = new ArrayList<>();
+    }
+
+    @SuppressWarnings("static-access")
+    @Test
+    public void editClosedLoopPMPolicyTest() {
+        List<Object> policyData = new ArrayList<>();
         String policyContent = "";
         String configData = "";
         try {
-                       ClassLoader classLoader = getClass().getClassLoader();
-                       policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_PM_TestClosedLoopPMPolicy.1.xml"));
-                       configData = IOUtils.toString(classLoader.getResourceAsStream("com.Config_PM_TestClosedLoopPMPolicy.1.json"));
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-               }
+            ClassLoader classLoader = getClass().getClassLoader();
+            policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_PM_TestClosedLoopPMPolicy.1.xml"));
+            configData =
+                    IOUtils.toString(classLoader.getResourceAsStream("com.Config_PM_TestClosedLoopPMPolicy.1.json"));
+        } catch (Exception e1) {
+            logger.error("Exception Occured" + e1);
+        }
         PolicyEntity entity = new PolicyEntity();
         entity.setPolicyName("Config_PM_TestClosedLoopPMPolicy.1.xml");
         entity.setPolicyData(policyContent);
@@ -376,48 +450,49 @@ public class PolicyManagerServletTest extends Mockito{
         configurationEntity.setDescription("test");
         entity.setConfigurationData(configurationEntity);
         policyData.add(entity);
-               PolicyManagerServlet servlet = new PolicyManagerServlet();
-               HttpServletRequest request = mock(HttpServletRequest.class);       
-        HttpServletResponse response = mock(HttpServletResponse.class); 
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         List<String> list = new ArrayList<>();
-        list.add("{params: { mode: 'EDITFILE', path: '/com/Config_PM_TestClosedLoopPMPolicy.1.xml', onlyFolders: false}}");
-        for(int i =0; i < list.size(); i++){
-               BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
+        list.add("{params: { mode: 'EDITFILE', path: '/com/Config_PM_TestClosedLoopPMPolicy.1.xml',"
+                + " onlyFolders: false}}");
+        for (int i = 0; i < list.size(); i++) {
+            BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
             try {
-                       when(request.getReader()).thenReturn(reader);
-                       when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Config_PM_TestClosedLoopPMPolicy.1.xml' and scope ='com'", new SimpleBindings())).thenReturn(policyData);
-                       servlet.setPolicyController(controller);
-                       servlet.setTestUserId("Test");
-                       servlet.doPost(request, response);
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-                       fail();
-               }
+                when(request.getReader()).thenReturn(reader);
+                when(controller.getRoles("Test")).thenReturn(rolesdata);
+                when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0",
+                        null)).thenReturn(policyData);
+                servlet.setPolicyController(controller);
+                servlet.setTestUserId("Test");
+                servlet.doPost(request, response);
+            } catch (Exception e1) {
+                logger.error("Exception Occured" + e1);
+                fail();
+            }
         }
-       }
-       
-       @SuppressWarnings("static-access")
-       @Test
-       public void editMicroServicePolicyTest(){
-               GroupPolicyScopeList groupData = new  GroupPolicyScopeList();
-               groupData.setGroupName("Test");
-               groupData.setGroupList("resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop");
-               List<Object> groupListData = new ArrayList<>();
-               groupListData.add(groupData);
-               commonClassDao = mock(CommonClassDao.class);
-               CreateDcaeMicroServiceController.setCommonClassDao(commonClassDao);
-               List<Object> policyData = new ArrayList<>();
+    }
+
+    @SuppressWarnings("static-access")
+    @Test
+    public void editMicroServicePolicyTest() {
+        GroupPolicyScopeList groupData = new GroupPolicyScopeList();
+        groupData.setGroupName("Test");
+        groupData.setGroupList("resource=SampleResource,service=SampleService,type=SampleType,"
+                + "closedLoopControlName=SampleClosedLoop");
+        List<Object> groupListData = new ArrayList<>();
+        groupListData.add(groupData);
+        commonClassDao = mock(CommonClassDao.class);
+        CreateDcaeMicroServiceController.setCommonClassDao(commonClassDao);
+        List<Object> policyData = new ArrayList<>();
         String policyContent = "";
         String configData = "";
         try {
-                       ClassLoader classLoader = getClass().getClassLoader();
-                       policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_MS_vFirewall.1.xml"));
-                       configData = IOUtils.toString(classLoader.getResourceAsStream("com.Config_MS_vFirewall.1.json"));
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-               }
+            ClassLoader classLoader = getClass().getClassLoader();
+            policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_MS_vFirewall.1.xml"));
+            configData = IOUtils.toString(classLoader.getResourceAsStream("com.Config_MS_vFirewall.1.json"));
+        } catch (Exception e1) {
+            logger.error("Exception Occured" + e1);
+        }
         PolicyEntity entity = new PolicyEntity();
         entity.setPolicyName("Config_MS_vFirewall.1.xml");
         entity.setPolicyData(policyContent);
@@ -429,42 +504,43 @@ public class PolicyManagerServletTest extends Mockito{
         configurationEntity.setDescription("test");
         entity.setConfigurationData(configurationEntity);
         policyData.add(entity);
-               PolicyManagerServlet servlet = new PolicyManagerServlet();
-               HttpServletRequest request = mock(HttpServletRequest.class);       
-        HttpServletResponse response = mock(HttpServletResponse.class); 
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         List<String> list = new ArrayList<>();
         list.add("{params: { mode: 'EDITFILE', path: '/com/Config_MS_vFirewall.1.xml', onlyFolders: false}}");
-        for(int i =0; i < list.size(); i++){
-               BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
+        for (int i = 0; i < list.size(); i++) {
+            BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
             try {
-                       when(request.getReader()).thenReturn(reader);
-                       when(commonClassDao.getDataById(GroupPolicyScopeList.class, "groupList", "resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=SampleClosedLoop")).thenReturn(groupListData);
-                       when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Config_MS_vFirewall.1.xml' and scope ='com'", new SimpleBindings())).thenReturn(policyData);
-                       servlet.setPolicyController(controller);
-                       servlet.setTestUserId("Test");
-                       servlet.doPost(request, response);
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-                       fail();
-               }
+                when(request.getReader()).thenReturn(reader);
+                when(commonClassDao.getDataById(GroupPolicyScopeList.class, "groupList",
+                        "resource=SampleResource,service=SampleService,type=SampleType,"
+                                + "closedLoopControlName=SampleClosedLoop")).thenReturn(groupListData);
+                when(controller.getRoles("Test")).thenReturn(rolesdata);
+                when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0",
+                        null)).thenReturn(policyData);
+                servlet.setPolicyController(controller);
+                servlet.setTestUserId("Test");
+                servlet.doPost(request, response);
+            } catch (Exception e1) {
+                logger.error("Exception Occured" + e1);
+                fail();
+            }
         }
-       }
-       
-       @SuppressWarnings("static-access")
-       @Test
-       public void editFirewallPolicyTest(){
-               List<Object> policyData = new ArrayList<>();
+    }
+
+    @SuppressWarnings("static-access")
+    @Test
+    public void editFirewallPolicyTest() {
+        List<Object> policyData = new ArrayList<>();
         String policyContent = "";
         String configData = "";
         try {
-                       ClassLoader classLoader = getClass().getClassLoader();
-                       policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_FW_TestFireWallPolicy.1.xml"));
-                       configData = IOUtils.toString(classLoader.getResourceAsStream("com.Config_FW_TestFireWallPolicy.1.json"));
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-               }
+            ClassLoader classLoader = getClass().getClassLoader();
+            policyContent = IOUtils.toString(classLoader.getResourceAsStream("Config_FW_TestFireWallPolicy.1.xml"));
+            configData = IOUtils.toString(classLoader.getResourceAsStream("com.Config_FW_TestFireWallPolicy.1.json"));
+        } catch (Exception e1) {
+            logger.error("Exception Occured" + e1);
+        }
         PolicyEntity entity = new PolicyEntity();
         entity.setPolicyName("Config_FW_TestFireWallPolicy.1.xml");
         entity.setPolicyData(policyContent);
@@ -476,41 +552,41 @@ public class PolicyManagerServletTest extends Mockito{
         configurationEntity.setDescription("test");
         entity.setConfigurationData(configurationEntity);
         policyData.add(entity);
-               PolicyManagerServlet servlet = new PolicyManagerServlet();
-               HttpServletRequest request = mock(HttpServletRequest.class);       
-        HttpServletResponse response = mock(HttpServletResponse.class); 
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         List<String> list = new ArrayList<>();
-        list.add("{params: { mode: 'EDITFILE', path: '/com/Config_FW_TestFireWallPolicy.1.xml', onlyFolders: false}}");
-        for(int i =0; i < list.size(); i++){
-               BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
+        list.add("{params: { mode: 'EDITFILE', path: '/com/Config_FW_TestFireWallPolicy.1.xml',"
+                + " onlyFolders: false}}");
+        for (int i = 0; i < list.size(); i++) {
+            BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
             try {
-                       when(request.getReader()).thenReturn(reader);
-                       when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Config_FW_TestFireWallPolicy.1.xml' and scope ='com'", new SimpleBindings())).thenReturn(policyData);
-                       servlet.setPolicyController(controller);
-                       servlet.setTestUserId("Test");
-                       servlet.doPost(request, response);
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-                       fail();
-               }
+                when(request.getReader()).thenReturn(reader);
+                when(controller.getRoles("Test")).thenReturn(rolesdata);
+                when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0",
+                        null)).thenReturn(policyData);
+                servlet.setPolicyController(controller);
+                servlet.setTestUserId("Test");
+                servlet.doPost(request, response);
+            } catch (Exception e1) {
+                logger.error("Exception Occured" + e1);
+                fail();
+            }
         }
-       }
-       
-       @SuppressWarnings("static-access")
-       @Test
-       public void editActionPolicyTest(){
-               List<Object> policyData = new ArrayList<>();
+    }
+
+    @SuppressWarnings("static-access")
+    @Test
+    public void editActionPolicyTest() {
+        List<Object> policyData = new ArrayList<>();
         String policyContent = "";
         String configData = "";
         try {
-                       ClassLoader classLoader = getClass().getClassLoader();
-                       policyContent = IOUtils.toString(classLoader.getResourceAsStream("Action_TestActionPolicy.1.xml"));
-                       configData = IOUtils.toString(classLoader.getResourceAsStream("com.Action_TestActionPolicy.1.json"));
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-               }
+            ClassLoader classLoader = getClass().getClassLoader();
+            policyContent = IOUtils.toString(classLoader.getResourceAsStream("Action_TestActionPolicy.1.xml"));
+            configData = IOUtils.toString(classLoader.getResourceAsStream("com.Action_TestActionPolicy.1.json"));
+        } catch (Exception e1) {
+            logger.error("Exception Occured" + e1);
+        }
         PolicyEntity entity = new PolicyEntity();
         entity.setPolicyName("Action_TestActionPolicy.1.xml");
         entity.setPolicyData(policyContent);
@@ -520,63 +596,154 @@ public class PolicyManagerServletTest extends Mockito{
         configurationEntity.setActionBodyName("com.Action_TestActionPolicy.1.json");
         entity.setActionBodyEntity(configurationEntity);
         policyData.add(entity);
-               PolicyManagerServlet servlet = new PolicyManagerServlet();
-               HttpServletRequest request = mock(HttpServletRequest.class);       
-        HttpServletResponse response = mock(HttpServletResponse.class); 
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         List<String> list = new ArrayList<>();
-        list.add("{params: { mode: 'EDITFILE', path: '/com/Action_TestActionPolicy.1.xml', onlyFolders: false}}");
-        for(int i =0; i < list.size(); i++){
-               BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
+        list.add("{params: { mode: 'EDITFILE', path: '/com/Action_TestActionPolicy.1.xml'," + " onlyFolders: false}}");
+        for (int i = 0; i < list.size(); i++) {
+            BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
             try {
-                       when(request.getReader()).thenReturn(reader);
-                       when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Action_TestActionPolicy.1.xml' and scope ='com'", new SimpleBindings())).thenReturn(policyData);
-                       servlet.setPolicyController(controller);
-                       servlet.setTestUserId("Test");
-                       servlet.doPost(request, response);
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-                       fail();
-               }
+                when(request.getReader()).thenReturn(reader);
+                when(controller.getRoles("Test")).thenReturn(rolesdata);
+                when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0",
+                        null)).thenReturn(policyData);
+                servlet.setPolicyController(controller);
+                servlet.setTestUserId("Test");
+                servlet.doPost(request, response);
+            } catch (Exception e1) {
+                logger.error("Exception Occured" + e1);
+                fail();
+            }
         }
-       }
-       
-       @SuppressWarnings("static-access")
-       @Test
-       public void editDecisionPolicyTest(){
-               List<Object> policyData = new ArrayList<>();
+    }
+
+    @SuppressWarnings("static-access")
+    @Test
+    public void editDecisionPolicyTest() {
+        List<Object> policyData = new ArrayList<>();
         String policyContent = "";
         try {
-                       ClassLoader classLoader = getClass().getClassLoader();
-                       policyContent = IOUtils.toString(classLoader.getResourceAsStream("Decision_TestDecisionPolicyWithRuleAlgorithms.1.xml"));
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-               }
+            ClassLoader classLoader = getClass().getClassLoader();
+            policyContent = IOUtils
+                    .toString(classLoader.getResourceAsStream("Decision_TestDecisionPolicyWithRuleAlgorithms.1.xml"));
+        } catch (Exception e1) {
+            logger.error("Exception Occured" + e1);
+        }
         PolicyEntity entity = new PolicyEntity();
         entity.setPolicyName("Decision_TestDecisionPolicyWithRuleAlgorithms.1.xml");
         entity.setPolicyData(policyContent);
         entity.setScope("com");
         policyData.add(entity);
-               PolicyManagerServlet servlet = new PolicyManagerServlet();
-               HttpServletRequest request = mock(HttpServletRequest.class);       
-        HttpServletResponse response = mock(HttpServletResponse.class); 
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
         PolicyController controller = mock(PolicyController.class);
         List<String> list = new ArrayList<>();
-        list.add("{params: { mode: 'EDITFILE', path: '/com/Decision_TestDecisionPolicyWithRuleAlgorithms.1.xml', onlyFolders: false}}");
-        for(int i =0; i < list.size(); i++){
-               BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
+        list.add("{params: { mode: 'EDITFILE', path: '/com/Decision_TestDecisionPolicyWithRuleAlgorithms.1.xml',"
+                + " onlyFolders: false}}");
+        for (int i = 0; i < list.size(); i++) {
+            BufferedReader reader = new BufferedReader(new StringReader(list.get(i)));
+            try {
+                when(request.getReader()).thenReturn(reader);
+                when(controller.getRoles("Test")).thenReturn(rolesdata);
+                when(controller.getDataByQuery("FROM PolicyEntity where policyName = :split_1 and scope = :split_0",
+                        null)).thenReturn(policyData);
+                servlet.setPolicyController(controller);
+                servlet.setTestUserId("Test");
+                servlet.doPost(request, response);
+            } catch (Exception e1) {
+                logger.error("Exception Occured" + e1);
+                fail();
+            }
+        }
+    }
+
+    @Test
+    public void testAddScope() {
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
+        PolicyController controller = mock(PolicyController.class);
+        List<BufferedReader> readers = new ArrayList<>();
+        readers.add(new BufferedReader(new StringReader("{params: { mode: 'ADDFOLDER', path: '/', name: 'Test'}}")));
+        readers.add(new BufferedReader(new StringReader("{params: { mode: 'ADDFOLDER', path: '/', name: 'Test*&'}}")));
+        readers.add(new BufferedReader(
+                new StringReader("{params: { mode: 'ADDFOLDER', path: '/Test', subScopename: 'Test1'}}")));
+        for (int i = 0; i < readers.size(); i++) {
+            try {
+                when(request.getReader()).thenReturn(readers.get(i));
+                PolicyManagerServlet.setPolicyController(controller);
+                servlet.doPost(request, response);
+                assertTrue(response.getContentAsString() != null && response.getContentAsString().contains("success"));
+            } catch (Exception e1) {
+                logger.error("Exception Occured" + e1);
+                fail();
+            }
+        }
+    }
+
+    @Test
+    public void testClone() {
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
+        PolicyController controller = mock(PolicyController.class);
+        List<BufferedReader> readers = new ArrayList<>();
+        when(controller.getEntityItem(ConfigurationDataEntity.class, "configurationName",
+                "com.Config_SampleTest1206.1.txt")).thenReturn(configurationEntity);
+        when(controller.getDataByQuery(
+                "FROM PolicyEntity where policyName = :oldPolicySplit_1 and scope = :oldPolicySplit_0", null))
+                        .thenReturn(basePolicyData);
+        readers.add(new BufferedReader(new StringReader("{params: { mode: 'COPY', path: 'com.Config_test.1.xml',"
+                + " newPath: 'com.Config_testClone.1.xml'}}")));
+        for (int i = 0; i < readers.size(); i++) {
+            try {
+                when(request.getReader()).thenReturn(readers.get(i));
+                PolicyManagerServlet.setPolicyController(controller);
+                servlet.doPost(request, response);
+                assertTrue(response.getContentAsString() != null && response.getContentAsString().contains("success"));
+            } catch (Exception e1) {
+                logger.error("Exception Occured" + e1);
+                fail();
+            }
+        }
+    }
+
+    @Test
+    public void testRename() {
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
+        PolicyController controller = mock(PolicyController.class);
+        List<BufferedReader> readers = new ArrayList<>();
+        when(controller.getEntityItem(ConfigurationDataEntity.class, "configurationName",
+                "com.Config_SampleTest1206.1.txt")).thenReturn(configurationEntity);
+        when(controller.getDataByQuery(
+                "FROM PolicyEntity where policyName = :oldPolicySplit_1 and scope = :oldPolicySplit_0", null))
+                        .thenReturn(basePolicyData);
+        readers.add(new BufferedReader(new StringReader("{params: { mode: 'RENAME', path: 'com.Config_test.1.xml',"
+                + " newPath: 'com.Config_testClone.1.xml'}}")));
+        for (int i = 0; i < readers.size(); i++) {
+            try {
+                when(request.getReader()).thenReturn(readers.get(i));
+                PolicyManagerServlet.setPolicyController(controller);
+                servlet.doPost(request, response);
+                assertTrue(response.getContentAsString() != null && response.getContentAsString().contains("success"));
+            } catch (Exception e1) {
+                logger.error("Exception Occured" + e1);
+                fail();
+            }
+        }
+    }
+
+    @Test
+    public void testRenameScope() {
+        PolicyManagerServlet servlet = new PolicyManagerServlet();
+        PolicyController controller = mock(PolicyController.class);
+        List<BufferedReader> readers = new ArrayList<>();
+        readers.add(new BufferedReader(new StringReader("{params: { mode: 'RENAME', path: 'com', newPath: 'Test'}}")));
+        for (int i = 0; i < readers.size(); i++) {
             try {
-                       when(request.getReader()).thenReturn(reader);
-                       when(controller.getRoles("Test")).thenReturn(rolesdata);
-                       when(controller.getDataByQuery("FROM PolicyEntity where policyName = 'Decision_TestDecisionPolicyWithRuleAlgorithms.1.xml' and scope ='com'", new SimpleBindings())).thenReturn(policyData);
-                       servlet.setPolicyController(controller);
-                       servlet.setTestUserId("Test");
-                       servlet.doPost(request, response);
-               } catch (Exception e1) {
-                       logger.error("Exception Occured"+e1);
-                       fail();
-               }
+                when(request.getReader()).thenReturn(readers.get(i));
+                PolicyManagerServlet.setPolicyController(controller);
+                servlet.doPost(request, response);
+                assertTrue(response.getContentAsString() != null && response.getContentAsString().contains("success"));
+            } catch (Exception e1) {
+                logger.error("Exception Occured" + e1);
+                fail();
+            }
         }
-       }
+    }
 }