2  * ================================================================================
 
   4  * ================================================================================
 
   5  * Copyright (C) 2017 AT&T Intellectual Property
 
   6  * ================================================================================
 
   7  * Licensed under the Apache License, Version 2.0 (the "License");
 
   8  * you may not use this file except in compliance with the License.
 
   9  * You may obtain a copy of the License at
 
  11  *      http://www.apache.org/licenses/LICENSE-2.0
 
  13  * Unless required by applicable law or agreed to in writing, software
 
  14  * distributed under the License is distributed on an "AS IS" BASIS,
 
  15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  16  * See the License for the specific language governing permissions and
 
  17  * limitations under the License.
 
  18  * ================================================================================
 
  20 package org.openecomp.portalapp.portal.controller;
 
  22 import static org.junit.Assert.assertEquals;
 
  24 import java.util.ArrayList;
 
  25 import java.util.List;
 
  27 import javax.servlet.http.HttpServletRequest;
 
  28 import javax.servlet.http.HttpServletResponse;
 
  30 import org.junit.Before;
 
  31 import org.junit.Test;
 
  32 import org.mockito.InjectMocks;
 
  33 import org.mockito.Mock;
 
  34 import org.mockito.Mockito;
 
  35 import org.mockito.MockitoAnnotations;
 
  36 import org.openecomp.portalapp.portal.framework.MockitoTestSuite;
 
  37 import org.openecomp.portalapp.portal.controller.AppContactUsController;
 
  38 import org.openecomp.portalapp.portal.ecomp.model.AppCategoryFunctionsItem;
 
  39 import org.openecomp.portalapp.portal.ecomp.model.AppContactUsItem;
 
  40 import org.openecomp.portalapp.portal.ecomp.model.PortalRestResponse;
 
  41 import org.openecomp.portalapp.portal.ecomp.model.PortalRestStatusEnum;
 
  42 import org.openecomp.portalapp.portal.service.AppContactUsService;
 
  43 import org.openecomp.portalapp.portal.service.AppContactUsServiceImpl;
 
  44 import org.openecomp.portalapp.util.EPUserUtils;
 
  46 public class AppContactUsControllerTest extends MockitoTestSuite{
 
  49         AppContactUsService contactUsService = new AppContactUsServiceImpl();
 
  52         AppContactUsController appContactUsController = new AppContactUsController();
 
  56                 MockitoAnnotations.initMocks(this);
 
  59         MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();
 
  61         HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();
 
  62         HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();
 
  63         NullPointerException nullPointerException = new NullPointerException();
 
  66         EPUserUtils ePUserUtils = new EPUserUtils();
 
  68         public List<AppContactUsItem> mockResponse() {
 
  69                 List<AppContactUsItem> appContactUsItemList = new ArrayList<AppContactUsItem>();
 
  70                 AppContactUsItem appContactUsItem = new AppContactUsItem();
 
  71                 appContactUsItem.setAppId((long) 1);
 
  72                 appContactUsItem.setAppName("ECOMP Portal");
 
  73                 appContactUsItem.setDescription("Test");
 
  74                 appContactUsItem.setContactName("Test");
 
  75                 appContactUsItem.setContactEmail("person@onap.org");
 
  76                 appContactUsItem.setUrl("Test_URL");
 
  77                 appContactUsItem.setActiveYN("Y");
 
  78                 appContactUsItemList.add(appContactUsItem);
 
  80                 return appContactUsItemList;
 
  84         public PortalRestResponse<List<AppContactUsItem>> successPortalRestResponse() {
 
  85                 PortalRestResponse<List<AppContactUsItem>> expectedportalRestResponse = new PortalRestResponse<List<AppContactUsItem>>();
 
  86                 List<AppContactUsItem> appContactUsItemList = mockResponse();
 
  87                 expectedportalRestResponse.setMessage("success");
 
  88                 expectedportalRestResponse.setResponse(appContactUsItemList);
 
  89                 expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK);
 
  90                 return expectedportalRestResponse;
 
  94         public PortalRestResponse<List<AppContactUsItem>> exceptionPortalRestResponse() {
 
  95                 PortalRestResponse<List<AppContactUsItem>> expectedportalRestResponse = new PortalRestResponse<List<AppContactUsItem>>();
 
  96                 expectedportalRestResponse.setMessage(null);
 
  97                 expectedportalRestResponse.setResponse(null);
 
  98                 expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
 
  99                 return expectedportalRestResponse;
 
 104         public void getAppContactUsList() throws Exception {
 
 105                 PortalRestResponse<List<AppContactUsItem>> expectedportalRestResponse = successPortalRestResponse();
 
 106                 List<AppContactUsItem> appContactUsItemList = mockResponse();
 
 107                 PortalRestResponse<List<AppContactUsItem>> actualPortalRestResponse = new PortalRestResponse<List<AppContactUsItem>>();
 
 108                 Mockito.when(contactUsService.getAppContactUs()).thenReturn(appContactUsItemList);
 
 109                 actualPortalRestResponse = appContactUsController.getAppContactUsList(mockedRequest);
 
 110                 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
 
 114         public void getAppContactUsListCatchesExeptionTest() throws Exception {
 
 116                 PortalRestResponse<List<AppContactUsItem>> expectedportalRestResponse = exceptionPortalRestResponse();
 
 117                 PortalRestResponse<List<AppContactUsItem>> actualPortalRestResponse = new PortalRestResponse<List<AppContactUsItem>>();
 
 118                 Mockito.when(contactUsService.getAppContactUs()).thenThrow(nullPointerException);
 
 119                 actualPortalRestResponse = appContactUsController.getAppContactUsList(mockedRequest);
 
 120                 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
 
 124         public void getAppsAndContactsTest() throws Exception {
 
 125                 PortalRestResponse<List<AppContactUsItem>> expectedportalRestResponse = successPortalRestResponse();
 
 126                 List<AppContactUsItem> appContactUsItemList = mockResponse();
 
 127                 PortalRestResponse<List<AppContactUsItem>> actualPortalRestResponse = new PortalRestResponse<List<AppContactUsItem>>();
 
 128                 Mockito.when(contactUsService.getAppsAndContacts()).thenReturn(appContactUsItemList);
 
 129                 actualPortalRestResponse = appContactUsController.getAppsAndContacts(mockedRequest);
 
 130                 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
 
 135         public void getAppsAndContactsCatchesExceptionTest() throws Exception {
 
 136                 PortalRestResponse<List<AppContactUsItem>> expectedportalRestResponse = exceptionPortalRestResponse();
 
 137                 PortalRestResponse<List<AppContactUsItem>> actualPortalRestResponse = new PortalRestResponse<List<AppContactUsItem>>();
 
 138                 Mockito.when(contactUsService.getAppsAndContacts()).thenThrow(nullPointerException);
 
 139                 actualPortalRestResponse = appContactUsController.getAppsAndContacts(mockedRequest);
 
 140                 assertEquals(actualPortalRestResponse, expectedportalRestResponse);
 
 145         public void getAppCategoryFunctionsTest() throws Exception {
 
 146                 PortalRestResponse<List<AppCategoryFunctionsItem>> actualportalRestResponse = null;
 
 148                 List<AppCategoryFunctionsItem> contents = new ArrayList<AppCategoryFunctionsItem>();
 
 150                 AppCategoryFunctionsItem appCategoryFunctionsItem = new AppCategoryFunctionsItem();
 
 151                 AppCategoryFunctionsItem appCategoryFunctionsItem1 = new AppCategoryFunctionsItem();
 
 153                 appCategoryFunctionsItem.setRowId("1");
 
 154                 appCategoryFunctionsItem.setAppId("1");
 
 155                 appCategoryFunctionsItem.setApplication("Ecomp-portal");
 
 156                 appCategoryFunctionsItem.setCategory("test");
 
 157                 appCategoryFunctionsItem.setFunctions("test");
 
 159                 appCategoryFunctionsItem1.setRowId("2");
 
 160                 appCategoryFunctionsItem1.setAppId("2");
 
 161                 appCategoryFunctionsItem1.setApplication("Ecomp-portal-test");
 
 162                 appCategoryFunctionsItem1.setCategory("test");
 
 163                 appCategoryFunctionsItem1.setFunctions("test");
 
 164                 contents.add(appCategoryFunctionsItem);
 
 165                 contents.add(appCategoryFunctionsItem1);
 
 167                 PortalRestResponse<List<AppCategoryFunctionsItem>> expectedportalRestResponse = new PortalRestResponse<List<AppCategoryFunctionsItem>>();
 
 168                 expectedportalRestResponse.setMessage("success");
 
 169                 expectedportalRestResponse.setResponse(contents);
 
 170                 expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK);
 
 172                 Mockito.when(contactUsService.getAppCategoryFunctions()).thenReturn(contents);
 
 173                 actualportalRestResponse = appContactUsController.getAppCategoryFunctions(mockedRequest);
 
 174                 assertEquals(actualportalRestResponse, expectedportalRestResponse);
 
 179         public void getAppCategoryFunctionsCatchesExceptionTest() throws Exception {
 
 180                 PortalRestResponse<List<AppCategoryFunctionsItem>> actualportalRestResponse = null;
 
 181                 PortalRestResponse<List<AppContactUsItem>> expectedportalRestResponse = exceptionPortalRestResponse();
 
 182                 Mockito.when(contactUsService.getAppCategoryFunctions()).thenThrow(nullPointerException);
 
 183                 actualportalRestResponse = appContactUsController.getAppCategoryFunctions(mockedRequest);
 
 184                 assertEquals(actualportalRestResponse, expectedportalRestResponse);
 
 189         public void saveTest() throws Exception {
 
 190                 PortalRestResponse<String> actualSaveAppContactUS = null;
 
 192                 AppContactUsItem contactUs = new AppContactUsItem();
 
 193                 contactUs.setAppId((long) 1);
 
 194                 contactUs.setAppName("Ecomp Portal");
 
 195                 contactUs.setDescription("Test");
 
 196                 contactUs.setContactName("Test");
 
 197                 contactUs.setContactEmail("person@onap.org");
 
 198                 contactUs.setUrl("Test_URL");
 
 199                 contactUs.setActiveYN("Y");
 
 201                 Mockito.when(contactUsService.saveAppContactUs(contactUs)).thenReturn("SUCCESS");
 
 202                 actualSaveAppContactUS = appContactUsController.save(contactUs);
 
 203                 assertEquals(actualSaveAppContactUS.getMessage(), "SUCCESS");
 
 207         public void saveExceptionTest() throws Exception {
 
 208                 PortalRestResponse<String> actualSaveAppContactUS = null;
 
 210                 AppContactUsItem contactUs = new AppContactUsItem();
 
 211                 contactUs.setAppId((long) 1);
 
 212                 contactUs.setAppName("Ecomp Portal");
 
 213                 contactUs.setDescription("Test");
 
 214                 contactUs.setContactName("Test");
 
 215                 contactUs.setContactEmail("person@onap.org");
 
 216                 contactUs.setUrl("Test_URL");
 
 217                 contactUs.setActiveYN("Y");
 
 219                 Mockito.when(contactUsService.saveAppContactUs(contactUs)).thenThrow(new Exception());
 
 220                 actualSaveAppContactUS = appContactUsController.save(contactUs);
 
 221                 assertEquals(actualSaveAppContactUS.getMessage(), "failure");
 
 225         public void saveWhenAppContactUsItemNullTest() throws Exception {
 
 226                 PortalRestResponse<String> actualSaveAppContactUS = null;
 
 227                 AppContactUsItem contactUs = null;
 
 228                 actualSaveAppContactUS = appContactUsController.save(contactUs);
 
 229                 assertEquals(actualSaveAppContactUS.getMessage(), "failure");
 
 234         public void saveAllTest() throws Exception {
 
 236                 List<AppContactUsItem> contactUs = mockResponse();
 
 237                 PortalRestResponse<String> actualSaveAppContactUS = null;
 
 238                 Mockito.when(contactUsService.saveAppContactUs(contactUs)).thenReturn("SUCCESS");
 
 239                 actualSaveAppContactUS = appContactUsController.save(contactUs);
 
 240                 assertEquals(actualSaveAppContactUS.getMessage(), "SUCCESS");
 
 244         public void saveAllExceptionTest() throws Exception {
 
 246                 List<AppContactUsItem> contactUs = mockResponse();
 
 247                 PortalRestResponse<String> actualSaveAppContactUS = null;
 
 248                 Mockito.when(contactUsService.saveAppContactUs(contactUs)).thenThrow(new Exception());
 
 249                 actualSaveAppContactUS = appContactUsController.save(contactUs);
 
 250                 assertEquals(actualSaveAppContactUS.getMessage(), "failure");
 
 254         public void deleteTest() throws Exception {
 
 256                 PortalRestResponse<String> actualSaveAppContactUS = null;
 
 258                 String saveAppContactUs = "SUCCESS";
 
 259                 Mockito.when(contactUsService.deleteContactUs(id)).thenReturn(saveAppContactUs);
 
 260                 actualSaveAppContactUS = appContactUsController.delete(id);
 
 261                 assertEquals(actualSaveAppContactUS.getMessage(), "SUCCESS");
 
 265         public void deleteExceptionTest() throws Exception {
 
 267                 PortalRestResponse<String> actualSaveAppContactUS = null;
 
 269                 Mockito.when(contactUsService.deleteContactUs(id)).thenThrow(new Exception());
 
 270                 actualSaveAppContactUS = appContactUsController.delete(id);
 
 271                 assertEquals(actualSaveAppContactUS.getMessage(), "failure");