Fixed health check issue
[portal.git] / ecomp-portal-BE-common / src / test / java / org / onap / portalapp / portal / controller / SharedContextRestControllerTest.java
index 05604fd..49cccae 100644 (file)
@@ -34,31 +34,71 @@ package org.onap.portalapp.portal.controller;
  *
  * ============LICENSE_END============================================
  *
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * 
  */
 
 
-import java.io.IOException;
+import static org.junit.Assert.assertNotNull;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.UUID;
-
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.junit.Assert;
-import org.onap.portalapp.portal.controller.SharedContextRestClient;
-import org.onap.portalapp.portal.controller.SharedContextTestProperties;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
+import org.json.JSONObject;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Matchers;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
+import org.onap.portalapp.portal.core.MockEPUser;
+import org.onap.portalapp.portal.domain.SharedContext;
+import org.onap.portalapp.portal.exceptions.NotValidDataException;
+import org.onap.portalapp.portal.framework.MockitoTestSuite;
+import org.onap.portalapp.portal.service.SharedContextService;
+import org.onap.portalapp.portal.utils.EPCommonSystemProperties;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
 
 /**
  * Tests the endpoints exposed by the Shared Context controller in Portal.
  */
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({SharedContext.class,EPCommonSystemProperties.class})
+
 public class SharedContextRestControllerTest {
+       
+       @Mock
+       SharedContextService contextService;
+
+       @InjectMocks
+       SharedContextRestController sharedContextRestController=new SharedContextRestController(contextService);
+       
+       @Before
+       public void setup() {
+               MockitoAnnotations.initMocks(this);
+       }
 
+       
+       MockEPUser mockUser = new MockEPUser();
+       MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
+
+       HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
+       HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
+       NullPointerException nullPointerException = new NullPointerException();
+       
        private final Log logger = LogFactory.getLog(getClass());
 
-       private final SharedContextTestProperties properties;
+       //private final SharedContextTestProperties properties;
 
        private final String ckey = "ckey";
        private final String cvalue = "cvalue";
@@ -70,13 +110,13 @@ public class SharedContextRestControllerTest {
        private final String value1 = "first value";
        private final String value2 = "second value";
 
-       public SharedContextRestControllerTest() throws IOException {
+       /*public SharedContextRestControllerTest() throws IOException {
                properties = new SharedContextTestProperties();
-       }
+       }*/
 
        @SuppressWarnings("unchecked")
        //@Test
-       public void test() throws Exception {
+       /*public void test() throws Exception {
                String response = null, val = null;
                ObjectMapper mapper = new ObjectMapper();
                Map<String, Object> responseMap, jsonMap;
@@ -140,5 +180,237 @@ public class SharedContextRestControllerTest {
                String json = mapper.writeValueAsString(stringMap);
                String response = SharedContextRestClient.postJson(properties, "set", json);
                return response;
+       }*/
+       
+       @Test
+       public void getContextTest() throws Exception{
+               SharedContext sharedContext=new SharedContext();
+               sharedContext.setContext_id("test_contextid");
+               sharedContext.setCkey("test_ckey");
+               Mockito.when(contextService.getSharedContext(Matchers.any(), Matchers.any())).thenReturn(sharedContext);
+               String result = sharedContextRestController.getContext(mockedRequest, "12","test");
+               assertNotNull(result);
+       }
+       
+       @Test
+       public void getContextTestWithContextNull() throws Exception{
+               SharedContext sharedContext=new SharedContext();
+               sharedContext.setContext_id("test_contextid");
+               sharedContext.setCkey("test_ckey");
+               Mockito.when(contextService.getSharedContext(Matchers.any(), Matchers.any())).thenReturn(null);
+               String result = sharedContextRestController.getContext(mockedRequest, "12","test");
+               assertNotNull(result);
+       }
+       
+       @Test(expected=Exception.class)
+       public void getContextTestWithException() throws Exception{
+               sharedContextRestController.getContext(mockedRequest, null,null);
+       }
+
+       @Test(expected=NotValidDataException.class)
+       public void getContextTestNotValidDataException() throws Exception{
+               sharedContextRestController.getContext(mockedRequest, "<script>alert(\"hellox worldss\");</script>","test");
+       }
+
+       @Test(expected=NotValidDataException.class)
+       public void getContextTest2NotValidDataException() throws Exception{
+               sharedContextRestController.getContext(mockedRequest, "test","“><script>alert(“XSS”)</script>");
+       }
+
+       @Test(expected=NotValidDataException.class)
+       public void getContextTest3NotValidDataException() throws Exception{
+               sharedContextRestController.getContext(mockedRequest, "<ScRipT>alert(\"XSS\");</ScRipT>","“><script>alert(“XSS”)</script>");
+       }
+       
+       @Test(expected= Exception.class)
+       public void getUserContextTest() throws Exception{
+               sharedContextRestController.getUserContext(mockedRequest, null);
+       }
+
+       @Test(expected= NotValidDataException.class)
+       public void getUserContextXSSTest() throws Exception{
+               sharedContextRestController.getUserContext(mockedRequest, "<svg><script x:href='https://dl.dropbox.com/u/13018058/js.js' {Opera}");
+       }
+       
+       @Test
+       public void getUserContextTestWithContext() throws Exception{
+               PowerMockito.mock(SharedContext.class);
+               SharedContext sharedContext=new SharedContext();
+               sharedContext.setContext_id("test_contextid");
+               sharedContext.setCkey("test_ckey");
+               List<SharedContext> listSharedContext = new ArrayList<SharedContext>();
+               listSharedContext.add(sharedContext);
+               Mockito.when(contextService.getSharedContext(Matchers.any(),Matchers.any())).thenReturn(sharedContext);
+               String response=sharedContextRestController.getUserContext(mockedRequest, "12");
+               assertNotNull(response);
+       }
+       
+       @Test
+       public void checkContextTest() throws Exception{
+               SharedContext sharedContext=new SharedContext();
+               sharedContext.setContext_id("test_contextid");
+               sharedContext.setCkey("test_ckey");
+               Mockito.when(contextService.getSharedContext(Matchers.any(),Matchers.any())).thenReturn(sharedContext);
+               String response=sharedContextRestController.checkContext(mockedRequest, "12","test");
+               assertNotNull(response);
+       }
+       
+       @Test(expected=Exception.class)
+       public void checkContextTestWithContextIdNull() throws Exception{
+               SharedContext sharedContext=new SharedContext();
+               sharedContext.setContext_id("test_contextid");
+               sharedContext.setCkey("test_ckey");
+               Mockito.when(contextService.getSharedContext(Matchers.any(),Matchers.any())).thenReturn(sharedContext);
+               sharedContextRestController.checkContext(mockedRequest, null,null);
+       }
+
+       @Test(expected=NotValidDataException.class)
+       public void checkContextTestWithContextXSSl() throws Exception{
+               SharedContext sharedContext=new SharedContext();
+               sharedContext.setContext_id("test_contextid");
+               sharedContext.setCkey("test_ckey");
+               Mockito.when(contextService.getSharedContext(Matchers.any(),Matchers.any())).thenReturn(sharedContext);
+               sharedContextRestController.checkContext(mockedRequest,
+                       "<ScRipT 5-0*3+9/3=>prompt(1)</ScRipT giveanswerhere=?","<script>alert(123);</script>");
+       }
+       
+       @Test
+       public void removeContextTest() throws Exception{
+               SharedContext sharedContext=new SharedContext();
+               sharedContext.setContext_id("test_contextid");
+               sharedContext.setCkey("test_ckey");
+               Mockito.when(contextService.getSharedContext(Matchers.any(),Matchers.any())).thenReturn(sharedContext);
+
+               //Mockito.when(contextService.deleteSharedContext(sharedContext));
+               String actual=sharedContextRestController.removeContext(mockedRequest, "12","test");
+               assertNotNull(actual);
+
+       }
+       
+       @Test(expected=Exception.class)
+       public void removeContextTestWithContextNull() throws Exception{
+               SharedContext sharedContext=new SharedContext();
+               sharedContext.setContext_id("test_contextid");
+               sharedContext.setCkey("test_ckey");
+               Mockito.when(contextService.getSharedContext(Matchers.any(),Matchers.any())).thenReturn(sharedContext);
+
+               //Mockito.when(contextService.deleteSharedContext(sharedContext));
+               String actual=sharedContextRestController.removeContext(mockedRequest, null,null);
+               assertNotNull(actual);
+
+       }
+
+       @Test(expected=NotValidDataException.class)
+       public void removeContextTestWithContextXSS() throws Exception{
+               SharedContext sharedContext=new SharedContext();
+               sharedContext.setContext_id("test_contextid");
+               sharedContext.setCkey("test_ckey");
+               Mockito.when(contextService.getSharedContext(Matchers.any(),Matchers.any())).thenReturn(sharedContext);
+
+               //Mockito.when(contextService.deleteSharedContext(sharedContext));
+               String actual=sharedContextRestController.removeContext(mockedRequest,
+                       "<script>alert(“XSS”)</script> ","<script>alert(/XSS/)</script>");
+               assertNotNull(actual);
+
+       }
+       
+       @Test(expected=Exception.class)
+       public void clearContextTestwithContextIdNull() throws Exception{
+               
+               Mockito.when(contextService.deleteSharedContexts(Matchers.any())).thenReturn(12);
+
+               String actual=sharedContextRestController.clearContext(mockedRequest,null);
+               assertNotNull(actual);
+
+       }
+
+       @Test(expected=NotValidDataException.class)
+       public void clearContextTestwithContextXSS() throws Exception{
+
+               Mockito.when(contextService.deleteSharedContexts(Matchers.any())).thenReturn(12);
+
+               String actual=sharedContextRestController.clearContext(mockedRequest,"<script>alert(123)</script>");
+               assertNotNull(actual);
+
+       }
+       
+       @Test
+       public void clearContextTest() throws Exception{
+               
+               Mockito.when(contextService.deleteSharedContexts(Matchers.any())).thenReturn(12);
+
+               String actual=sharedContextRestController.clearContext(mockedRequest,"12");
+               assertNotNull(actual);
+
        }
+       
+       @Test
+       public void setContextTest() throws Exception{
+               ObjectMapper mapper = new ObjectMapper();
+               Map<String, Object> userData = new HashMap<String, Object>();
+               userData.put("context_id", "test_contextId");
+               userData.put("ckey", "test_ckey");
+               userData.put("cvalue", "test_cvalue");
+               //String testUserJson=Matchers.anyString();
+               JSONObject testUserJson = new JSONObject();
+               testUserJson.put("context_id", "test1ContextId");
+               testUserJson.put("ckey", "testCkey");
+               testUserJson.put("cvalue", "testCValue");
+               Map<String, Object> userData1 = mapper.readValue(testUserJson.toString(), Map.class);
+               SharedContext sharedContext=new SharedContext();
+               sharedContext.setContext_id("test_contextid");
+               sharedContext.setCkey("test_ckey");
+               Mockito.when(contextService.getSharedContext(Matchers.any(),Matchers.any())).thenReturn(sharedContext);
+               // Mockito.when(mapper.readValue("true", Map.class)).thenReturn(userData);
+               String actual=sharedContextRestController.setContext(mockedRequest,testUserJson.toString());
+
+       }
+       
+       @Test(expected=Exception.class)
+       public void setContextTestWithContextNull() throws Exception{
+               ObjectMapper mapper = new ObjectMapper();
+               Map<String, Object> userData = new HashMap<String, Object>();
+               userData.put("context_id", "test_contextId");
+               userData.put("ckey", "test_ckey");
+               userData.put("cvalue", "test_cvalue");
+               //String testUserJson=Matchers.anyString();
+               JSONObject testUserJson = new JSONObject();
+               testUserJson.put("context_id", "test1ContextId");
+               testUserJson.put("ckey", "testCkey");
+               testUserJson.put("cvalue", "testCValue");
+               Map<String, Object> userData1 = mapper.readValue(testUserJson.toString(), Map.class);
+               SharedContext sharedContext=new SharedContext();
+               sharedContext.setContext_id("test_contextid");
+               sharedContext.setCkey("test_ckey");
+               Mockito.when(contextService.getSharedContext(Matchers.any(),Matchers.any())).thenReturn(null);
+               Mockito.when(userData1.get(ckey)).thenReturn(null);
+               Mockito.when(userData1.get(cxid)).thenReturn(null);
+
+               // Mockito.when(mapper.readValue("true", Map.class)).thenReturn(userData);
+               String actual=sharedContextRestController.setContext(mockedRequest,testUserJson.toString());
+
+       }
+
+       @Test(expected=NotValidDataException.class)
+       public void setContextTestWithContextXSS() throws Exception{
+               ObjectMapper mapper = new ObjectMapper();
+               Map<String, Object> userData = new HashMap<String, Object>();
+               userData.put("context_id", "test_contextId");
+               userData.put("ckey", "<script>alert(‘XSS’)</script>");
+               userData.put("cvalue", "test_cvalue");
+               //String testUserJson=Matchers.anyString();
+               JSONObject testUserJson = new JSONObject();
+               testUserJson.put("context_id", "test1ContextId");
+               testUserJson.put("ckey", "testCkey");
+               testUserJson.put("cvalue", "<script>alert(‘XSS’)</script>");
+               Map<String, Object> userData1 = mapper.readValue(testUserJson.toString(), Map.class);
+               SharedContext sharedContext=new SharedContext();
+               sharedContext.setContext_id("test_contextid");
+               sharedContext.setCkey("test_ckey");
+               Mockito.when(contextService.getSharedContext(Matchers.any(),Matchers.any())).thenReturn(sharedContext);
+               // Mockito.when(mapper.readValue("true", Map.class)).thenReturn(userData);
+               String actual=sharedContextRestController.setContext(mockedRequest,testUserJson.toString());
+
+       }
+
 }