[PORTAL-16 PORTAL-18] Widget ms; staging
[portal.git] / ecomp-portal-BE-common-test / src / main / java / org / openecomp / portalapp / portal / test / controller / UserNotificationControllerTest.java
index 628f52a..2bc6977 100644 (file)
-/*-\r
- * ================================================================================\r
- * ECOMP Portal\r
- * ================================================================================\r
- * Copyright (C) 2017 AT&T Intellectual Property\r
- * ================================================================================\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- *      http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ================================================================================\r
- */\r
-package org.openecomp.portalapp.portal.test.controller;\r
-\r
-import static org.junit.Assert.assertTrue;\r
-\r
-import java.util.ArrayList;\r
-import java.util.Calendar;\r
-import java.util.Date;\r
-import java.util.List;\r
-\r
-import javax.servlet.http.HttpServletRequest;\r
-import javax.servlet.http.HttpServletResponse;\r
-import javax.servlet.http.HttpSession;\r
-\r
-import org.junit.Before;\r
-import org.junit.Test;\r
-import org.junit.runner.RunWith;\r
-import org.mockito.InjectMocks;\r
-import org.mockito.Mock;\r
-import org.mockito.Mockito;\r
-import org.mockito.MockitoAnnotations;\r
-import org.openecomp.portalapp.portal.controller.UserNotificationController;\r
-import org.openecomp.portalapp.portal.domain.EPUser;\r
-import org.openecomp.portalapp.portal.ecomp.model.PortalRestResponse;\r
-import org.openecomp.portalapp.portal.ecomp.model.PortalRestStatusEnum;\r
-import org.openecomp.portalapp.portal.service.FunctionalMenuService;\r
-import org.openecomp.portalapp.portal.service.FunctionalMenuServiceImpl;\r
-import org.openecomp.portalapp.portal.service.UserNotificationService;\r
-import org.openecomp.portalapp.portal.service.UserNotificationServiceImpl;\r
-import org.openecomp.portalapp.portal.test.core.MockEPUser;\r
-import org.openecomp.portalapp.portal.test.framework.MockitoTestSuite;\r
-import org.openecomp.portalapp.portal.transport.EpNotificationItem;\r
-import org.openecomp.portalapp.portal.transport.EpNotificationItemVO;\r
-import org.openecomp.portalapp.portal.transport.FunctionalMenuRole;\r
-import org.openecomp.portalapp.util.EPUserUtils;\r
-import org.openecomp.portalsdk.core.util.SystemProperties;\r
-import org.openecomp.portalsdk.core.web.support.UserUtils;\r
-import org.powermock.api.mockito.PowerMockito;\r
-import org.powermock.core.classloader.annotations.PrepareForTest;\r
-import org.powermock.modules.junit4.PowerMockRunner;\r
-\r
-@RunWith(PowerMockRunner.class)\r
-@PrepareForTest(UserUtils.class)\r
-public class UserNotificationControllerTest {\r
-\r
-       @Mock\r
-       FunctionalMenuService functionalMenuService = new FunctionalMenuServiceImpl();\r
-\r
-       @Mock\r
-       UserNotificationService userNotificationService = new UserNotificationServiceImpl();\r
-\r
-       @InjectMocks\r
-       UserNotificationController userNotificationController = new UserNotificationController();\r
-\r
-       @Before\r
-       public void setup() {\r
-               MockitoAnnotations.initMocks(this);\r
-       }\r
-\r
-       MockEPUser mockUser = new MockEPUser();\r
-       MockitoTestSuite mockitoTestSuite = new MockitoTestSuite();\r
-\r
-       HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest();\r
-       HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse();\r
-       NullPointerException nullPointerException = new NullPointerException();\r
-\r
-       @Test\r
-       public void getMenuIdRoleIdTest() {\r
-               List<FunctionalMenuRole> expectedMenuRoleList = new ArrayList<FunctionalMenuRole>();\r
-               FunctionalMenuRole functionalMenuRole = new FunctionalMenuRole();\r
-               functionalMenuRole.setId(new Integer(99999999));\r
-               functionalMenuRole.setMenuId((long) 137);\r
-               functionalMenuRole.setAppId(new Integer(456));\r
-               functionalMenuRole.setRoleId(new Integer(6214));\r
-               expectedMenuRoleList.add(functionalMenuRole);\r
-               List<FunctionalMenuRole> actualFunctionalMenuRoleList = null;\r
-               Mockito.when(functionalMenuService.getFunctionalMenuRole()).thenReturn(expectedMenuRoleList);\r
-               actualFunctionalMenuRoleList = userNotificationController.getMenuIdRoleId(mockedRequest, mockedResponse);\r
-               assertTrue(actualFunctionalMenuRoleList.equals(expectedMenuRoleList));\r
-\r
-       }\r
-\r
-       @Test\r
-       public void getNotificationsTest() {\r
-               EPUser user = mockUser.mockEPUser();\r
-               HttpSession session = mockedRequest.getSession();\r
-               session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);\r
-               Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);\r
-               List<EpNotificationItem> expectedEpNotificationList = new ArrayList<EpNotificationItem>();\r
-               EpNotificationItem epNotificationItem = new EpNotificationItem();\r
-               epNotificationItem.setNotificationId((long) 200);\r
-               expectedEpNotificationList.add(epNotificationItem);\r
-               PortalRestResponse<List<EpNotificationItem>> expectedportalRestResponse = new PortalRestResponse<List<EpNotificationItem>>();\r
-               expectedportalRestResponse.setMessage("success");\r
-               expectedportalRestResponse.setResponse(expectedEpNotificationList);\r
-               PortalRestStatusEnum portalRestStatusEnum = null;\r
-               expectedportalRestResponse.setStatus(portalRestStatusEnum.OK);\r
-               PortalRestResponse<List<EpNotificationItem>> actualPortalRestResponse = null;\r
-               Mockito.when(userNotificationService.getNotifications(user.getId())).thenReturn(expectedEpNotificationList);\r
-               actualPortalRestResponse = userNotificationController.getNotifications(mockedRequest, mockedResponse);\r
-               assertTrue(expectedportalRestResponse.equals(actualPortalRestResponse));\r
-\r
-       }\r
-\r
-       @Test\r
-       public void getNotificationsCatchesExceptionTest() {\r
-               EPUser user = mockUser.mockEPUser();\r
-               HttpSession session = mockedRequest.getSession();\r
-               session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);\r
-               Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);\r
-               List<EpNotificationItem> expectedEpNotificationList = null;\r
-               PortalRestResponse<List<EpNotificationItem>> expectedportalRestResponse = new PortalRestResponse<List<EpNotificationItem>>();\r
-               expectedportalRestResponse.setMessage(null);\r
-               expectedportalRestResponse.setResponse(expectedEpNotificationList);\r
-               PortalRestStatusEnum portalRestStatusEnum = null;\r
-               expectedportalRestResponse.setStatus(portalRestStatusEnum.ERROR);\r
-               PortalRestResponse<List<EpNotificationItem>> actualPortalRestResponse = null;\r
-               Mockito.when(userNotificationService.getNotifications(user.getId())).thenThrow(new NullPointerException());\r
-               actualPortalRestResponse = userNotificationController.getNotifications(mockedRequest, mockedResponse);\r
-               assertTrue(expectedportalRestResponse.equals(actualPortalRestResponse));\r
-\r
-       }\r
-\r
-       @Test\r
-       public void getAdminNotificationsTest() {\r
-               List<EpNotificationItemVO> actualEpNotificationsList = new ArrayList<EpNotificationItemVO>();\r
-               List<EpNotificationItemVO> expectedEpNotificationsList = new ArrayList<EpNotificationItemVO>();\r
-               EpNotificationItemVO epNotificationItemVO = new EpNotificationItemVO();\r
-               epNotificationItemVO.setId((long) 1);\r
-               expectedEpNotificationsList.add(epNotificationItemVO);\r
-               Mockito.when(userNotificationService.getAdminNotificationVOS()).thenReturn(expectedEpNotificationsList);\r
-               actualEpNotificationsList = userNotificationController.getAdminNotifications(mockedRequest, mockedResponse);\r
-               assertTrue(actualEpNotificationsList.equals(expectedEpNotificationsList));\r
-       }\r
-\r
-       @Test\r
-       public void saveTestWhenNotificationIsNull() throws Exception {\r
-               EPUser user = mockUser.mockEPUser();\r
-               HttpSession session = mockedRequest.getSession();\r
-               session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);\r
-               Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);\r
-\r
-               PortalRestResponse<String> actualPortalRestResponse = new PortalRestResponse<String>();\r
-               PortalRestResponse<String> expectedPortalRestResponse = new PortalRestResponse<String>();\r
-               expectedPortalRestResponse.setMessage("FAILURE");\r
-               expectedPortalRestResponse.setResponse("Notification Header cannot be null or empty");\r
-               PortalRestStatusEnum portalRestStatusEnum = null;\r
-               expectedPortalRestResponse.setStatus(portalRestStatusEnum.ERROR);\r
-\r
-               EpNotificationItem notificationItem = null;\r
-               actualPortalRestResponse = userNotificationController.save(mockedRequest, mockedResponse, notificationItem);\r
-               assertTrue(actualPortalRestResponse.equals(expectedPortalRestResponse));\r
-       }\r
-\r
-       @Test\r
-       public void saveTestWhenEndTimeIsGreater() throws Exception {\r
-               EPUser user = mockUser.mockEPUser();\r
-               HttpSession session = mockedRequest.getSession();\r
-               session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);\r
-               Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);\r
-               PortalRestResponse<String> actualPortalRestResponse = new PortalRestResponse<String>();\r
-               PortalRestResponse<String> expectedPortalRestResponse = new PortalRestResponse<String>();\r
-               expectedPortalRestResponse.setMessage("FAILURE");\r
-               expectedPortalRestResponse.setResponse("End Time should be greater than  start time");\r
-               PortalRestStatusEnum portalRestStatusEnum = null;\r
-               expectedPortalRestResponse.setStatus(portalRestStatusEnum.ERROR);\r
-               EpNotificationItem notificationItem = new EpNotificationItem();\r
-               notificationItem.setNotificationId((long) 1);\r
-               notificationItem.setMsgHeader("Test");\r
-               Date currentDate = new Date();\r
-               Calendar c = Calendar.getInstance();\r
-               c.setTime(currentDate);\r
-               c.add(Calendar.DATE, 1);\r
-               Date currentDatePlusOne = c.getTime();\r
-               notificationItem.setStartTime(currentDatePlusOne);\r
-               notificationItem.setEndTime(currentDate);\r
-\r
-               actualPortalRestResponse = userNotificationController.save(mockedRequest, mockedResponse, notificationItem);\r
-               assertTrue(actualPortalRestResponse.equals(expectedPortalRestResponse));\r
-\r
-       }\r
-\r
-       @Test\r
-       public void saveTestWhenNoRoleIDExists() throws Exception {\r
-               EPUser user = mockUser.mockEPUser();\r
-               HttpSession session = mockedRequest.getSession();\r
-               session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);\r
-               Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);\r
-               PortalRestResponse<String> actualPortalRestResponse = new PortalRestResponse<String>();\r
-               PortalRestResponse<String> expectedPortalRestResponse = new PortalRestResponse<String>();\r
-               expectedPortalRestResponse.setMessage("FAILURE");\r
-               expectedPortalRestResponse.setResponse("No Roles Ids Exist for the selected Roles");\r
-               PortalRestStatusEnum portalRestStatusEnum = null;\r
-               expectedPortalRestResponse.setStatus(portalRestStatusEnum.ERROR);\r
-               EpNotificationItem notificationItem = new EpNotificationItem();\r
-               notificationItem.setNotificationId((long) 1);\r
-               notificationItem.setMsgHeader("Test");\r
-               notificationItem.setIsForAllRoles("N");\r
-               Date currentDate = new Date();\r
-               Calendar c = Calendar.getInstance();\r
-               c.setTime(currentDate);\r
-               c.add(Calendar.DATE, 1);\r
-               Date currentDatePlusOne = c.getTime();\r
-               notificationItem.setStartTime(currentDate);\r
-               notificationItem.setEndTime(currentDatePlusOne);\r
-               List<Long> roleList = new ArrayList<Long>();\r
-               notificationItem.setRoleIds(roleList);\r
-               actualPortalRestResponse = userNotificationController.save(mockedRequest, mockedResponse, notificationItem);\r
-               assertTrue(actualPortalRestResponse.equals(expectedPortalRestResponse));\r
-       }\r
-\r
-       @Test\r
-       public void saveTest() throws Exception {\r
-               EPUser user = mockUser.mockEPUser();\r
-               HttpSession session = mockedRequest.getSession();\r
-               session.setAttribute("user", user);\r
-               Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);\r
-               PortalRestResponse<String> actualPortalRestResponse = new PortalRestResponse<String>();\r
-               PortalRestResponse<String> expectedPortalRestResponse = new PortalRestResponse<String>();\r
-               expectedPortalRestResponse.setMessage("SUCCESS");\r
-               expectedPortalRestResponse.setResponse("");\r
-               PortalRestStatusEnum portalRestStatusEnum = null;\r
-               expectedPortalRestResponse.setStatus(portalRestStatusEnum.OK);\r
-               EpNotificationItem notificationItem = new EpNotificationItem();\r
-               notificationItem.setNotificationId((long) 1);\r
-               notificationItem.setMsgHeader("Test");\r
-               notificationItem.setIsForAllRoles("Y");\r
-               Date currentDate = new Date();\r
-               Calendar c = Calendar.getInstance();\r
-               c.setTime(currentDate);\r
-               c.add(Calendar.DATE, 1);\r
-               Date currentDatePlusOne = c.getTime();\r
-               notificationItem.setStartTime(currentDate);\r
-               notificationItem.setEndTime(currentDatePlusOne);\r
-               List<Long> roleList = new ArrayList<Long>();\r
-               Long role1 = (long) 1;\r
-               roleList.add(role1);\r
-               notificationItem.setRoleIds(roleList);\r
-               HttpServletRequest request = mockitoTestSuite.getMockedRequest();\r
-               PowerMockito.mockStatic(UserUtils.class);\r
-               Mockito.when(UserUtils.getUserIdAsLong(request)).thenReturn((long) 1);\r
-               Mockito.when(userNotificationService.saveNotification(notificationItem)).thenReturn("Test");\r
-               actualPortalRestResponse = userNotificationController.save(mockedRequest, mockedResponse, notificationItem);\r
-               assertTrue(actualPortalRestResponse.equals(expectedPortalRestResponse));\r
-       }\r
-\r
-}\r
+/*-
+ * ================================================================================
+ * ECOMP Portal
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property
+ * ================================================================================
+ * 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.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ================================================================================
+ */
+package org.openecomp.portalapp.portal.test.controller;
+
+import static org.junit.Assert.assertTrue;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+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.openecomp.portalapp.portal.controller.UserNotificationController;
+import org.openecomp.portalapp.portal.domain.EPUser;
+import org.openecomp.portalapp.portal.ecomp.model.PortalRestResponse;
+import org.openecomp.portalapp.portal.ecomp.model.PortalRestStatusEnum;
+import org.openecomp.portalapp.portal.service.FunctionalMenuService;
+import org.openecomp.portalapp.portal.service.FunctionalMenuServiceImpl;
+import org.openecomp.portalapp.portal.service.UserNotificationService;
+import org.openecomp.portalapp.portal.service.UserNotificationServiceImpl;
+import org.openecomp.portalapp.portal.test.core.MockEPUser;
+import org.openecomp.portalapp.portal.transport.EpNotificationItem;
+import org.openecomp.portalapp.portal.transport.EpNotificationItemVO;
+import org.openecomp.portalapp.portal.transport.FunctionalMenuRole;
+import org.openecomp.portalapp.test.framework.MockitoTestSuite;
+import org.openecomp.portalapp.util.EPUserUtils;
+import org.openecomp.portalsdk.core.util.SystemProperties;
+import org.openecomp.portalsdk.core.web.support.UserUtils;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest(UserUtils.class)
+public class UserNotificationControllerTest {
+
+       @Mock
+       FunctionalMenuService functionalMenuService = new FunctionalMenuServiceImpl();
+
+       @Mock
+       UserNotificationService userNotificationService = new UserNotificationServiceImpl();
+
+       @InjectMocks
+       UserNotificationController userNotificationController = new UserNotificationController();
+
+       @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();
+
+       @Test
+       public void getMenuIdRoleIdTest() {
+               List<FunctionalMenuRole> expectedMenuRoleList = new ArrayList<FunctionalMenuRole>();
+               FunctionalMenuRole functionalMenuRole = new FunctionalMenuRole();
+               functionalMenuRole.setId(new Integer(99999999));
+               functionalMenuRole.setMenuId((long) 137);
+               functionalMenuRole.setAppId(new Integer(456));
+               functionalMenuRole.setRoleId(new Integer(6214));
+               expectedMenuRoleList.add(functionalMenuRole);
+               List<FunctionalMenuRole> actualFunctionalMenuRoleList = null;
+               Mockito.when(functionalMenuService.getFunctionalMenuRole()).thenReturn(expectedMenuRoleList);
+               actualFunctionalMenuRoleList = userNotificationController.getMenuIdRoleId(mockedRequest, mockedResponse);
+               assertTrue(actualFunctionalMenuRoleList.equals(expectedMenuRoleList));
+
+       }
+
+       @Test
+       public void getNotificationsTest() {
+               EPUser user = mockUser.mockEPUser();
+               HttpSession session = mockedRequest.getSession();
+               session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);
+               Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
+               List<EpNotificationItem> expectedEpNotificationList = new ArrayList<EpNotificationItem>();
+               EpNotificationItem epNotificationItem = new EpNotificationItem();
+               epNotificationItem.setNotificationId((long) 200);
+               expectedEpNotificationList.add(epNotificationItem);
+               PortalRestResponse<List<EpNotificationItem>> expectedportalRestResponse = new PortalRestResponse<List<EpNotificationItem>>();
+               expectedportalRestResponse.setMessage("success");
+               expectedportalRestResponse.setResponse(expectedEpNotificationList);
+               expectedportalRestResponse.setStatus(PortalRestStatusEnum.OK);
+               PortalRestResponse<List<EpNotificationItem>> actualPortalRestResponse = null;
+               Mockito.when(userNotificationService.getNotifications(user.getId())).thenReturn(expectedEpNotificationList);
+               actualPortalRestResponse = userNotificationController.getNotifications(mockedRequest, mockedResponse);
+               assertTrue(expectedportalRestResponse.equals(actualPortalRestResponse));
+
+       }
+
+       @Test
+       public void getNotificationsCatchesExceptionTest() {
+               EPUser user = mockUser.mockEPUser();
+               HttpSession session = mockedRequest.getSession();
+               session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);
+               Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
+               List<EpNotificationItem> expectedEpNotificationList = null;
+               PortalRestResponse<List<EpNotificationItem>> expectedportalRestResponse = new PortalRestResponse<List<EpNotificationItem>>();
+               expectedportalRestResponse.setMessage(null);
+               expectedportalRestResponse.setResponse(expectedEpNotificationList);
+               expectedportalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
+               PortalRestResponse<List<EpNotificationItem>> actualPortalRestResponse = null;
+               Mockito.when(userNotificationService.getNotifications(user.getId())).thenThrow(new NullPointerException());
+               actualPortalRestResponse = userNotificationController.getNotifications(mockedRequest, mockedResponse);
+               assertTrue(expectedportalRestResponse.equals(actualPortalRestResponse));
+       }
+
+       @Test
+       public void getAdminNotificationsTest() {
+               EPUser user = mockUser.mockEPUser();
+               HttpSession session = mockedRequest.getSession();
+               session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);
+               Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
+               List<EpNotificationItemVO> actualEpNotificationsList = new ArrayList<EpNotificationItemVO>();
+               List<EpNotificationItemVO> expectedEpNotificationsList = new ArrayList<EpNotificationItemVO>();
+               EpNotificationItemVO epNotificationItemVO = new EpNotificationItemVO();
+               epNotificationItemVO.setId((long) 1);
+               expectedEpNotificationsList.add(epNotificationItemVO);
+               Mockito.when(userNotificationService.getAdminNotificationVOS(Matchers.anyLong())).thenReturn(expectedEpNotificationsList);
+               actualEpNotificationsList = userNotificationController.getAdminNotifications(mockedRequest, mockedResponse);
+               assertTrue(actualEpNotificationsList.equals(expectedEpNotificationsList));
+       }
+
+       @Test
+       public void saveTestWhenNotificationIsNull() throws Exception {
+               EPUser user = mockUser.mockEPUser();
+               HttpSession session = mockedRequest.getSession();
+               session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);
+               Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
+
+               PortalRestResponse<String> actualPortalRestResponse = new PortalRestResponse<String>();
+               PortalRestResponse<String> expectedPortalRestResponse = new PortalRestResponse<String>();
+               expectedPortalRestResponse.setMessage("FAILURE");
+               expectedPortalRestResponse.setResponse("Notification Header cannot be null or empty");
+               expectedPortalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
+
+               EpNotificationItem notificationItem = null;
+               actualPortalRestResponse = userNotificationController.save(mockedRequest, mockedResponse, notificationItem);
+               assertTrue(actualPortalRestResponse.equals(expectedPortalRestResponse));
+       }
+
+       @Test
+       public void saveTestWhenEndTimeIsGreater() throws Exception {
+               EPUser user = mockUser.mockEPUser();
+               HttpSession session = mockedRequest.getSession();
+               session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);
+               Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
+               PortalRestResponse<String> actualPortalRestResponse = new PortalRestResponse<String>();
+               PortalRestResponse<String> expectedPortalRestResponse = new PortalRestResponse<String>();
+               expectedPortalRestResponse.setMessage("FAILURE");
+               expectedPortalRestResponse.setResponse("End Time should be greater than  start time");
+               expectedPortalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
+               EpNotificationItem notificationItem = new EpNotificationItem();
+               notificationItem.setNotificationId((long) 1);
+               notificationItem.setMsgHeader("Test");
+               Date currentDate = new Date();
+               Calendar c = Calendar.getInstance();
+               c.setTime(currentDate);
+               c.add(Calendar.DATE, 1);
+               Date currentDatePlusOne = c.getTime();
+               notificationItem.setStartTime(currentDatePlusOne);
+               notificationItem.setEndTime(currentDate);
+
+               actualPortalRestResponse = userNotificationController.save(mockedRequest, mockedResponse, notificationItem);
+               assertTrue(actualPortalRestResponse.equals(expectedPortalRestResponse));
+
+       }
+
+       @Test
+       public void saveTestWhenNoRoleIDExists() throws Exception {
+               EPUser user = mockUser.mockEPUser();
+               HttpSession session = mockedRequest.getSession();
+               session.setAttribute(SystemProperties.getProperty(SystemProperties.USER_ATTRIBUTE_NAME), user);
+               Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
+               PortalRestResponse<String> actualPortalRestResponse = new PortalRestResponse<String>();
+               PortalRestResponse<String> expectedPortalRestResponse = new PortalRestResponse<String>();
+               expectedPortalRestResponse.setMessage("FAILURE");
+               expectedPortalRestResponse.setResponse("No Roles Ids Exist for the selected Roles");
+               expectedPortalRestResponse.setStatus(PortalRestStatusEnum.ERROR);
+               EpNotificationItem notificationItem = new EpNotificationItem();
+               notificationItem.setNotificationId((long) 1);
+               notificationItem.setMsgHeader("Test");
+               notificationItem.setIsForAllRoles("N");
+               Date currentDate = new Date();
+               Calendar c = Calendar.getInstance();
+               c.setTime(currentDate);
+               c.add(Calendar.DATE, 1);
+               Date currentDatePlusOne = c.getTime();
+               notificationItem.setStartTime(currentDate);
+               notificationItem.setEndTime(currentDatePlusOne);
+               List<Long> roleList = new ArrayList<Long>();
+               notificationItem.setRoleIds(roleList);
+               actualPortalRestResponse = userNotificationController.save(mockedRequest, mockedResponse, notificationItem);
+               assertTrue(actualPortalRestResponse.equals(expectedPortalRestResponse));
+       }
+
+       @Test
+       public void saveTest() throws Exception {
+               EPUser user = mockUser.mockEPUser();
+               HttpSession session = mockedRequest.getSession();
+               session.setAttribute("user", user);
+               Mockito.when(EPUserUtils.getUserSession(mockedRequest)).thenReturn(user);
+               PortalRestResponse<String> actualPortalRestResponse = new PortalRestResponse<String>();
+               PortalRestResponse<String> expectedPortalRestResponse = new PortalRestResponse<String>();
+               expectedPortalRestResponse.setMessage("SUCCESS");
+               expectedPortalRestResponse.setResponse("");
+               expectedPortalRestResponse.setStatus(PortalRestStatusEnum.OK);
+               EpNotificationItem notificationItem = new EpNotificationItem();
+               notificationItem.setNotificationId((long) 1);
+               notificationItem.setMsgHeader("Test");
+               notificationItem.setIsForAllRoles("Y");
+               Date currentDate = new Date();
+               Calendar c = Calendar.getInstance();
+               c.setTime(currentDate);
+               c.add(Calendar.DATE, 1);
+               Date currentDatePlusOne = c.getTime();
+               notificationItem.setStartTime(currentDate);
+               notificationItem.setEndTime(currentDatePlusOne);
+               List<Long> roleList = new ArrayList<Long>();
+               Long role1 = (long) 1;
+               roleList.add(role1);
+               notificationItem.setRoleIds(roleList);
+               HttpServletRequest request = mockitoTestSuite.getMockedRequest();
+               PowerMockito.mockStatic(UserUtils.class);
+               Mockito.when(UserUtils.getUserIdAsLong(request)).thenReturn((long) 1);
+               Mockito.when(userNotificationService.saveNotification(notificationItem)).thenReturn("Test");
+               actualPortalRestResponse = userNotificationController.save(mockedRequest, mockedResponse, notificationItem);
+               assertTrue(actualPortalRestResponse.equals(expectedPortalRestResponse));
+       }
+
+}