2  * ============LICENSE_START==========================================
 
   4  * ===================================================================
 
   5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
 
   6  * ===================================================================
 
   8  * Unless otherwise specified, all software contained herein is licensed
 
   9  * under the Apache License, Version 2.0 (the "License");
 
  10  * you may not use this software except in compliance with the License.
 
  11  * You may obtain a copy of the License at
 
  13  *             http://www.apache.org/licenses/LICENSE-2.0
 
  15  * Unless required by applicable law or agreed to in writing, software
 
  16  * distributed under the License is distributed on an "AS IS" BASIS,
 
  17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  18  * See the License for the specific language governing permissions and
 
  19  * limitations under the License.
 
  21  * Unless otherwise specified, all documentation contained herein is licensed
 
  22  * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
 
  23  * you may not use this documentation except in compliance with the License.
 
  24  * You may obtain a copy of the License at
 
  26  *             https://creativecommons.org/licenses/by/4.0/
 
  28  * Unless required by applicable law or agreed to in writing, documentation
 
  29  * distributed under the License is distributed on an "AS IS" BASIS,
 
  30  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  31  * See the License for the specific language governing permissions and
 
  32  * limitations under the License.
 
  34  * ============LICENSE_END============================================
 
  36  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
 
  38 package org.onap.portalapp.portal.service;
 
  40 import static org.junit.Assert.assertEquals;
 
  42 import java.util.ArrayList;
 
  43 import java.util.Date;
 
  44 import java.util.HashMap;
 
  45 import java.util.List;
 
  48 import org.junit.Before;
 
  49 import org.junit.Test;
 
  50 import org.mockito.InjectMocks;
 
  51 import org.mockito.Mock;
 
  52 import org.mockito.Mockito;
 
  53 import org.mockito.MockitoAnnotations;
 
  54 import org.onap.portalapp.portal.core.MockEPUser;
 
  55 import org.onap.portalapp.portal.domain.EPUser;
 
  56 import org.onap.portalapp.portal.domain.EPUserNotification;
 
  57 import org.onap.portalapp.portal.domain.EcompAppRole;
 
  58 import org.onap.portalapp.portal.transport.EpNotificationItem;
 
  59 import org.onap.portalapp.portal.transport.EpNotificationItemVO;
 
  60 import org.onap.portalapp.portal.transport.EpRoleNotificationItem;
 
  61 import org.onap.portalsdk.core.service.DataAccessService;
 
  62 import org.onap.portalsdk.core.service.DataAccessServiceImpl;
 
  64 public class UserNotificationServiceImplTest {
 
  67         DataAccessService dataAccessService = new DataAccessServiceImpl();
 
  71                 MockitoAnnotations.initMocks(this);
 
  75         UserNotificationServiceImpl userNotificationServiceImpl =  new UserNotificationServiceImpl();
 
  77         MockEPUser mockUser = new MockEPUser();
 
  80         public void getNotificationsTest() {
 
  81                 EPUser user = mockUser.mockEPUser();
 
  82                 Map<String, String> params = new HashMap<>();
 
  83                 params.put("user_id", String.valueOf(user.getId()));
 
  84                 List<EpNotificationItem> mockNotificationList = new ArrayList<>();
 
  85                 Mockito.when(dataAccessService.executeNamedQuery("getNotifications", params, null)).thenReturn(mockNotificationList);
 
  86                 List<EpNotificationItem> notificationList = userNotificationServiceImpl.getNotifications(user.getId());
 
  87                 assertEquals(notificationList, mockNotificationList); 
 
  91         public void getNotificationHistoryVOTest() {
 
  92                 EPUser user = mockUser.mockEPUser();
 
  93                 Map<String, String> params = new HashMap<String, String>();
 
  94                 params.put("user_id", String.valueOf(user.getId()));
 
  95                 List<EpNotificationItemVO> mockNotificationListVO = new  ArrayList<>();
 
  96                 Mockito.when(dataAccessService.executeNamedQuery("getNotificationHistoryVO",
 
  97                                 params, null)).thenReturn(mockNotificationListVO);
 
  98                 List<EpNotificationItemVO> notificationListVO = userNotificationServiceImpl.getNotificationHistoryVO(user.getId());
 
  99                 assertEquals(notificationListVO,mockNotificationListVO); 
 
 103         public void getAdminNotificationVOSTest() {
 
 104                 EPUser user = mockUser.mockEPUser();
 
 105                 Map<String, String> params = new HashMap<String, String>();
 
 106                 params.put("user_id", String.valueOf(user.getId()));
 
 107                 List<EpNotificationItemVO> mockAdminNotificationListItemVO = new  ArrayList<>();
 
 108                 Mockito.when(dataAccessService.executeNamedQuery("getAdminNotificationHistoryVO",
 
 109                                 params, null)).thenReturn(mockAdminNotificationListItemVO);
 
 110                 List<EpNotificationItemVO> adminNotificationListItemVO = userNotificationServiceImpl.getAdminNotificationVOS(user.getId());
 
 111                 assertEquals(adminNotificationListItemVO,mockAdminNotificationListItemVO); 
 
 115         public void getNotificationRolesTest() {
 
 116                 Map<String, String> params = new HashMap<String, String>();
 
 117                 params.put("notificationId", Long.toString(1l));
 
 118                 List<EpRoleNotificationItem> mockRoleNotifList = new ArrayList<>();
 
 119                 Mockito.when(dataAccessService.executeNamedQuery("getNotificationRoles",
 
 120                                 params, null)).thenReturn(mockRoleNotifList);
 
 121                 List<EpRoleNotificationItem> roleNotifList = userNotificationServiceImpl.getNotificationRoles(1l);
 
 122                 assertEquals(roleNotifList,mockRoleNotifList); 
 
 126         public void getAppRoleListTest() {
 
 127                 List<EcompAppRole> mockAppRoleList = new ArrayList<>();
 
 128                 Mockito.when(dataAccessService
 
 129                                 .executeNamedQuery("getEpNotificationAppRoles", null, null)).thenReturn(mockAppRoleList);
 
 130                 List<EcompAppRole> appRoleList = userNotificationServiceImpl.getAppRoleList();
 
 131                 assertEquals(mockAppRoleList, appRoleList);
 
 135         public void setNotificationReadTest() {
 
 136                 EPUserNotification mockUserNotification = new EPUserNotification();
 
 137                 mockUserNotification.setNotificationId(1l);
 
 138                 mockUserNotification.setId(1l);
 
 139                 mockUserNotification.setUpdateTime(new Date());
 
 140                 mockUserNotification.setViewed("Y");
 
 141                 mockUserNotification.setUserId((long) 1);
 
 142                 Mockito.doNothing().when(dataAccessService).saveDomainObject(mockUserNotification, null);
 
 143                 userNotificationServiceImpl.setNotificationRead(1l, 1);
 
 147         public void saveNotificationTest() throws Exception {
 
 148                 EpNotificationItem epNotificationItem = new EpNotificationItem();
 
 149                 List<Long> roleIdList =  new ArrayList<>();
 
 150                 Long roleId = new Long(1l);
 
 151                 Long roleId2 = new Long(16l);
 
 152                 roleIdList.add(roleId);
 
 153                 roleIdList.add(roleId2);
 
 154                 epNotificationItem.setIsForAllRoles("N");
 
 155                 epNotificationItem.setRoleIds(roleIdList);
 
 156                 epNotificationItem.setNotificationId(1l);
 
 157                 Mockito.doNothing().when(dataAccessService).saveDomainObject(epNotificationItem, null);
 
 158                 userNotificationServiceImpl.saveNotification(epNotificationItem);
 
 162         public void getUsersByOrgIdsTest() {
 
 163                 Map<String, Object> params = new HashMap<String, Object>();
 
 164                 params.put("OrgIds", "test");
 
 165                 List<EPUser> mockUserList = new ArrayList<>();
 
 166                 Mockito.when(dataAccessService.executeNamedQuery("getUsersByOrgIdsNotifications",
 
 167                                 params, null)).thenReturn(mockUserList);
 
 168                 List<String> orgIdsList =  new ArrayList<>();
 
 169                 String orgId = "test";
 
 170                 orgIdsList.add(orgId);
 
 171                 List<EPUser> userList = userNotificationServiceImpl.getUsersByOrgIds(orgIdsList);
 
 172                 assertEquals(userList, mockUserList);
 
 176         public void getMessageRecipientsTest() {
 
 177                 Map<String, String> params = new HashMap<>();
 
 178                 params.put("notificationId", Long.toString(1l));
 
 179                 List<String> mockActiveUsers =  new ArrayList<>();
 
 180                 Mockito.when(dataAccessService.executeNamedQuery("messageRecipients",
 
 181                                 params, null)).thenReturn(mockActiveUsers);
 
 182                 List<String> activeUsers = userNotificationServiceImpl.getMessageRecipients(1l);
 
 183                 assertEquals(activeUsers, mockActiveUsers);
 
 187         public void deleteNotificationsFromEpNotificationTableTest() {
 
 188                 Map<String, String> params = new HashMap<String, String>();
 
 189                 Mockito.when(dataAccessService
 
 190                                 .executeNamedQuery("deleteNotificationsFromEpUserNotificationTable", params, null)).thenReturn(null);
 
 191                 userNotificationServiceImpl.deleteNotificationsFromEpNotificationTable();
 
 195         public void deleteNotificationsFromEpUserNotificationTable() {
 
 196                 Map<String, String> params = new HashMap<String, String>();
 
 197                 Mockito.when(dataAccessService
 
 198                                 .executeNamedQuery("deleteNotificationsFromEpUserNotificationTable", params, null)).thenReturn(null);
 
 199                 userNotificationServiceImpl.deleteNotificationsFromEpUserNotificationTable();
 
 203         public void deleteNotificationsFromEpRoleNotificationTable() {
 
 204                 Map<String, String> params = new HashMap<String, String>();
 
 205                 Mockito.when(dataAccessService
 
 206                                 .executeNamedQuery("deleteNotificationsFromEpRoleNotificationTable", params, null)).thenReturn(null);
 
 207                 userNotificationServiceImpl.deleteNotificationsFromEpRoleNotificationTable();