@Test(description = "This method tests the behaviour of updateNotificationStatus method under different conditions")
public void testUpdateNotificationStatus() throws NotificationManagementException {

    PowerMockito.stub(PowerMockito.method(DeviceMgtAPIUtils.class, "getNotificationManagementService"))
            .toReturn(this.notificationManagementService);
    Mockito.doReturn(true).when(notificationManagementService)
            .updateNotificationStatus(1, Notification.Status.CHECKED);
    Mockito.doThrow(NotificationManagementException.class).when(notificationManagementService)
            .updateNotificationStatus(2, Notification.Status.CHECKED);
    Mockito.doReturn(true).when(notificationManagementService)
            .updateNotificationStatus(3, Notification.Status.CHECKED);
    Mockito.doReturn(new Notification()).when(notificationManagementService).getNotification(1);
    Mockito.doThrow(new NotificationManagementException()).when(notificationManagementService).getNotification(3);
    Response response = notificationManagement.updateNotificationStatus(1);
    Assert.assertEquals(response.getStatus(), Response.Status.OK.getStatusCode(),
            "Notification status update failed under correct conditions");
    response = notificationManagement.updateNotificationStatus(2);
    Assert.assertEquals(response.getStatus(), Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(),
            "Notification status update succeeded under erroneous conditions");
    response = notificationManagement.updateNotificationStatus(3);
    Assert.assertEquals(response.getEntity(),
            "Notification updated successfully. But the retrial of the updated " + "notification failed",
            "Notification status update succeeded under erroneous conditions");
}