Merge "remove mariadb superuser sql statements"
[policy/engine.git] / ONAP-PAP-REST / src / test / java / org / onap / policy / pap / xacml / rest / controller / DictionaryControllerTest.java
index 708794d..e76ebdf 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP-PAP-REST
  * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2018 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.
@@ -21,7 +21,8 @@
 
 package org.onap.policy.pap.xacml.rest.controller;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -32,29 +33,21 @@ import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.json.Json;
-import javax.json.JsonObject;
 import javax.servlet.http.HttpServletRequest;
 
-import org.json.JSONObject;
-import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
 import org.onap.policy.common.logging.flexlogger.FlexLogger;
 import org.onap.policy.common.logging.flexlogger.Logger;
-import org.onap.policy.rest.adapter.PolicyRestAdapter;
+import org.onap.policy.pap.xacml.rest.util.DictionaryUtils;
 import org.onap.policy.rest.dao.CommonClassDao;
 import org.onap.policy.rest.jpa.Attribute;
+import org.onap.policy.rest.jpa.Category;
 import org.onap.policy.rest.jpa.MicroServiceModels;
 import org.onap.policy.rest.jpa.PolicyEditorScopes;
 import org.springframework.mock.web.MockHttpServletResponse;
 
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.github.fge.jackson.JsonLoader;
-
 /**
  * The class <code>DictionaryControllerTest</code> contains tests
  * for the class {@link <code>DictionaryController</code>}*
@@ -68,18 +61,14 @@ public class DictionaryControllerTest {
        private static Logger logger = FlexLogger.getLogger(DictionaryControllerTest.class);
        private static CommonClassDao commonClassDao;
        private String jsonString = null;
-       private String configBodyString = null;
        private HttpServletRequest request = null;
        private DictionaryController controller = null;
-       private BufferedReader br = null;
 
        @Before
        public void setUp() throws Exception {
                logger.info("setUp: Entering");
         commonClassDao = Mockito.mock(CommonClassDao.class);
-           HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
-   
-        List<Object> microServiceModelsData = new ArrayList<Object>();
+
         MicroServiceModels testData = new MicroServiceModels();
         testData.setVersion("1707.4.1.2-Junit");        
 
@@ -88,46 +77,30 @@ public class DictionaryControllerTest {
         microList.add("123");
         List<Object>  listId = new ArrayList<Object>();
         when(commonClassDao.getDataByColumn(Attribute.class, "xacmlId")).thenReturn(microList);
+        List<Object> object = new ArrayList<>();
+        object.add(new Category());
+        when(commonClassDao.getDataById(Category.class, "shortName", "resource")).thenReturn(object);
         PolicyEditorScopes editorScope = new PolicyEditorScopes();
         doNothing().when(commonClassDao).save(editorScope);
         doNothing().when(commonClassDao).update(editorScope);
         
         when(commonClassDao.getData(Attribute.class)).thenReturn(listId);
         
-               jsonString = "{\"attributeDictionaryDatas\": {\"error\": \"\",  \"inprocess\": false,\"model\": {\"name\": \"testingdata\", "
-                               + " \"subScopename\": \"\",\"path\": [],\"type\": \"dir\",\"size\": 0,\"date\": \"2017-04-12T21:26:57.000Z\", "
-                               + " \"version\": \"\",\"createdBy\": \"someone\",       \"modifiedBy\": \"someone\",    \"content\": \"\",\"recursive\": false},"
-                               + " \"tempModel\": {\"name\": \"testingdata\",\"subScopename\": \"\"    },"
-                               + " \"policy\": {\"policyType\": \"Config\",\"configPolicyType\": \"Micro Service\",\"policyName\": \"may1501\", "
-                               + "     \"policyDescription\": \"testing input\", \"onapName\": \"RaviTest\",\"guard\": \"False\",\"riskType\": \"Risk12345\",\"riskLevel\": \"2\","
-                               + "     \"priority\": \"6\",\"serviceType\": \"DkatPolicyBody\",\"version\": \"1707.41.02\",\"ruleGridData\": [ [\"fileId\"]],\"ttlDate\": null}}, "
-                               + "     \"policyJSON\": {\"pmTableName\": \"test\",     \"dmdTopic\": \"1\",\"fileId\": \"56\"} }";
-
-               configBodyString = "{\"service\":\"SniroPolicyEntityTest\",\"policyName\":\"someone\",\"description\":\"test\",\"templateVersion\":\"1607\",\"version\":\"HD\","
-                               + "\"priority\":\"2\",\"content\":{\"lastPolled\":\"1\",\"boolen-test\":\"true\",\"created\":\"test\",\"retiredDate\":\"test\",\"scope\":\"SNIRO_PLACEMENT_VDHV\","
-                               + "\"name\":\"test\",\"lastModified\":\"test\",\"state\":\"CREATED\",\"type\":\"CONFIG\",\"intent\":\"test\",\"target\":\"SNIRO\"}}";
-
                request = mock(HttpServletRequest.class);        
-        BufferedReader br = new BufferedReader(new StringReader(jsonString));
-        //--- mock the getReader() call
-        when(request.getReader()).thenReturn(br);   
-        
         controller = new DictionaryController(commonClassDao);
-        
+        new DictionaryUtils(commonClassDao);
+        DictionaryUtils.setDictionaryUtils(new DictionaryUtils());
+        mock(DictionaryUtils.class);
         logger.info("setUp: exit");
        }
-
-       @After
-       public void tearDown() throws Exception {
-       }
-
+       
        @Test
        public void testGetAttributeDictionaryEntityDatabyAttributeName() {
                logger.info("testGetAttributeDictionaryEntityDatabyAttributeName: Entering");
 
                MockHttpServletResponse response =  new MockHttpServletResponse();
 
-               controller.getAttributeDictionaryEntityDatabyAttributeName(request, response);
+               controller.getAttributeDictionaryEntityDatabyAttributeName(response);
                
                try {
                        assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("attributeDictionaryDatas"));
@@ -145,7 +118,7 @@ public class DictionaryControllerTest {
 
                MockHttpServletResponse response =  new MockHttpServletResponse();
 
-               controller.getAttributeDictionaryEntityData(request, response);
+               controller.getAttributeDictionaryEntityData(response);
                
                try {
                        assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("attributeDictionaryDatas"));
@@ -164,17 +137,8 @@ public class DictionaryControllerTest {
                MockHttpServletResponse response =  new MockHttpServletResponse();
            request = mock(HttpServletRequest.class);  
         
-               try {
-                   // mock the getReader() call
-                       jsonString = "{\"attributeDictionaryData\": {\"userDataTypeValues\": [{\"attributeValues\": \"Values1\"}, {\"attributeValues\": \"Values2\"}],  \"datatypeBean\": {\"type\": \"C\"},\"model\": {\"name\": \"testingdata\", "
-                                       + " \"subScopename\": \"\",\"userDataTypeValues\": [\"user-type\"],\"type\": \"dir\",\"size\": 0,\"date\": \"2017-04-12T21:26:57.000Z\", "
-                                       + " \"version\": \"\",\"createdBy\": \"someone\",       \"modifiedBy\": \"someone\",    \"content\": \"\",\"recursive\": false},"
-                                       + " \"tempModel\": {\"name\": \"testingdata\",\"subScopename\": \"\"    },"
-                                       + " \"policy\": {\"policyType\": \"Config\",\"configPolicyType\": \"Micro Service\",\"policyName\": \"may1501\", "
-                                       + "     \"policyDescription\": \"testing input\", \"onapName\": \"RaviTest\",\"guard\": \"False\",\"riskType\": \"Risk12345\",\"riskLevel\": \"2\","
-                                       + "     \"priority\": \"6\",\"serviceType\": \"DkatPolicyBody\",\"version\": \"1707.41.02\",\"ruleGridData\": [ [\"fileId\"]],\"ttlDate\": null}}, "
-                                       + "     \"policyJSON\": {\"some\": \"test\",    \"dmdTopic\": \"1\",\"fileId\": \"56\"}, \"userid\":\"smetest\", \"userDataTypeValues\":[\"type-one\"]}";
-                       
+               try {   
+                       jsonString = "{\"attributeDictionaryData\":{\"datatypeBean\":{\"shortName\":\"string\"},\"description\":\"Qwerty\",\"priority\":\"High\",\"userDataTypeValues\":[{\"$$hashKey\":\"object:641\",\"attributeValues\":\"test\",\"id\":\"choice1\"},{\"$$hashKey\":\"object:646\",\"attributeValues\":\"test\",\"id\":\"choice2\"}],\"xacmlId\":\"Qwerty\"},\"userid\":\"demo\"}";
                        BufferedReader br = new BufferedReader(new StringReader(jsonString));
                        when(request.getReader()).thenReturn(br);                   
                        controller.saveAttributeDictionary(request, response);
@@ -196,16 +160,8 @@ public class DictionaryControllerTest {
            request = mock(HttpServletRequest.class);   
        
                try {
-                   // mock the getReader() call
-                       jsonString = "{\"data\": {\"modelName\": \"test\",      \"inprocess\": false,\"model\": {\"name\": \"testingdata\", "
-                                       + " \"subScopename\": \"\",\"path\": [],\"type\": \"dir\",\"size\": 0,\"date\": \"2017-04-12T21:26:57.000Z\", "
-                                       + " \"version\": \"\",\"createdBy\": \"someone\",       \"modifiedBy\": \"someone\",    \"content\": \"\",\"recursive\": false},"
-                                       + " \"tempModel\": {\"name\": \"testingdata\",\"subScopename\": \"\"    },"
-                                       + " \"policy\": {\"policyType\": \"Config\",\"configPolicyType\": \"Micro Service\",\"policyName\": \"may1501\", "
-                                       + "     \"policyDescription\": \"testing input\", \"onapName\": \"RaviTest\",\"guard\": \"False\",\"riskType\": \"Risk12345\",\"riskLevel\": \"2\","
-                                       + "     \"priority\": \"6\",\"serviceType\": \"DkatPolicyBody\",\"version\": \"1707.41.02\",\"ruleGridData\": [ [\"fileId\"]],\"ttlDate\": null}}, "
-                                       + "     \"policyJSON\": {\"pmTableName\": \"test\",     \"dmdTopic\": \"1\",\"fileId\": \"56\"} }";
-                       BufferedReader br = new BufferedReader(new StringReader(jsonString));
+                       jsonString = "{\"userid\":\"demo\",\"data\":{\"id\":1,\"description\":\"test\",\"xacmlId\":\"Test\"}}";
+                               BufferedReader br = new BufferedReader(new StringReader(jsonString));
                        when(request.getReader()).thenReturn(br);                   
                        controller.removeAttributeDictionary(request, response);
                        logger.info("response.getContentAsString(): " + response.getContentAsString());
@@ -224,7 +180,7 @@ public class DictionaryControllerTest {
 
                MockHttpServletResponse response =  new MockHttpServletResponse();
 
-               controller.getOnapNameDictionaryByNameEntityData(request, response);
+               controller.getOnapNameDictionaryByNameEntityData(response);
                
                try {
                        assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("onapNameDictionaryDatas"));
@@ -242,7 +198,7 @@ public class DictionaryControllerTest {
 
                MockHttpServletResponse response =  new MockHttpServletResponse();
 
-               controller.getOnapNameDictionaryEntityData(request, response);
+               controller.getOnapNameDictionaryEntityData(response);
                
                try {
                        assertTrue( response.getContentAsString() != null && response.getContentAsString().contains("onapNameDictionaryDatas"));
@@ -262,17 +218,8 @@ public class DictionaryControllerTest {
                MockHttpServletResponse response =  new MockHttpServletResponse();
            request = mock(HttpServletRequest.class);  
         
-               try {
-                   // mock the getReader() call
-                       jsonString = "{\"onapNameDictionaryData\": {\"userDataTypeValues\": [{\"attributeValues\": \"Values1\"}, {\"attributeValues\": \"Values2\"}],   \"datatypeBean\": {\"type\": \"C\"},\"model\": {\"name\": \"testingdata\", "
-                                       + " \"subScopename\": \"\",\"userDataTypeValues\": [\"user-type\"],\"type\": \"dir\",\"size\": 0,\"date\": \"2017-04-12T21:26:57.000Z\", "
-                                       + " \"version\": \"\",\"createdBy\": \"someone\",       \"modifiedBy\": \"someone\",    \"content\": \"\",\"recursive\": false},"
-                                       + " \"tempModel\": {\"name\": \"testingdata\",\"subScopename\": \"\"    },"
-                                       + " \"policy\": {\"policyType\": \"Config\",\"configPolicyType\": \"Micro Service\",\"policyName\": \"may1501\", "
-                                       + "     \"policyDescription\": \"testing input\", \"onapName\": \"RaviTest\",\"guard\": \"False\",\"riskType\": \"Risk12345\",\"riskLevel\": \"2\","
-                                       + "     \"priority\": \"6\",\"serviceType\": \"DkatPolicyBody\",\"version\": \"1707.41.02\",\"ruleGridData\": [ [\"fileId\"]],\"ttlDate\": null}}, "
-                                       + "     \"policyJSON\": {\"some\": \"test\",    \"dmdTopic\": \"1\",\"fileId\": \"56\"}, \"userid\":\"smetest\", \"userDataTypeValues\":[\"type-one\"]}";
-                       
+               try {   
+                       jsonString = "{\"userid\":\"demo\",\"onapNameDictionaryData\":{\"description\":\"test\",\"onapName\":\"Test\"}}";
                        BufferedReader br = new BufferedReader(new StringReader(jsonString));
                        when(request.getReader()).thenReturn(br);                   
                        controller.saveOnapDictionary(request, response);
@@ -294,16 +241,8 @@ public class DictionaryControllerTest {
            request = mock(HttpServletRequest.class);   
        
                try {
-                   // mock the getReader() call
-                       jsonString = "{\"data\": {\"modelName\": \"test\",      \"inprocess\": false,\"model\": {\"name\": \"testingdata\", "
-                                       + " \"subScopename\": \"\",\"path\": [],\"type\": \"dir\",\"size\": 0,\"date\": \"2017-04-12T21:26:57.000Z\", "
-                                       + " \"version\": \"\",\"createdBy\": \"someone\",       \"modifiedBy\": \"someone\",    \"content\": \"\",\"recursive\": false},"
-                                       + " \"tempModel\": {\"name\": \"testingdata\",\"subScopename\": \"\"    },"
-                                       + " \"policy\": {\"policyType\": \"Config\",\"configPolicyType\": \"Micro Service\",\"policyName\": \"may1501\", "
-                                       + "     \"policyDescription\": \"testing input\", \"onapName\": \"RaviTest\",\"guard\": \"False\",\"riskType\": \"Risk12345\",\"riskLevel\": \"2\","
-                                       + "     \"priority\": \"6\",\"serviceType\": \"DkatPolicyBody\",\"version\": \"1707.41.02\",\"ruleGridData\": [ [\"fileId\"]],\"ttlDate\": null}}, "
-                                       + "     \"policyJSON\": {\"pmTableName\": \"test\",     \"dmdTopic\": \"1\",\"fileId\": \"56\"} }";
-                       BufferedReader br = new BufferedReader(new StringReader(jsonString));
+                       jsonString = "{\"userid\":\"demo\",\"data\":{\"id\":1,\"description\":\"test\",\"onapName\":\"Test\"}}";
+                               BufferedReader br = new BufferedReader(new StringReader(jsonString));
                        when(request.getReader()).thenReturn(br);                   
                        controller.removeOnapDictionary(request, response);
                        logger.info("response.getContentAsString(): " + response.getContentAsString());