1625156c3ca043dee7e9f2540799d9c12ebef5ab
[sdc.git] / openecomp-be / lib / openecomp-sdc-notification-lib / openecomp-sdc-notification-core / src / test / java / org / openecomp / sdc / notification / services / impl / NotificationsServiceImplTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.sdc.notification.services.impl;
22
23 import org.junit.Before;
24 import org.junit.Test;
25 import org.mockito.InjectMocks;
26 import org.mockito.Mock;
27 import org.mockito.MockitoAnnotations;
28 import org.mockito.Spy;
29 import org.openecomp.sdc.notification.dao.LastNotificationDao;
30 import org.openecomp.sdc.notification.dao.NotificationsDao;
31 import org.openecomp.sdc.notification.dao.types.NotificationEntity;
32 import org.openecomp.sdc.notification.exceptons.NotificationNotExistException;
33
34 import java.util.UUID;
35
36 import static org.mockito.Matchers.any;
37 import static org.mockito.Mockito.*;
38
39 /**
40  * @author avrahamg
41  * @since July 13, 2017
42  */
43 public class NotificationsServiceImplTest {
44     @Mock
45     private LastNotificationDao lastNotificationDao;
46     @Mock
47     private NotificationsDao notificationsDao;
48     @Spy
49     @InjectMocks
50     private NotificationsServiceImpl notificationsService;
51
52     @Before
53     public void setUp() throws Exception {
54         MockitoAnnotations.openMocks(this);
55     }
56
57     public void shouldCallNotificationsDaoIfNotificationEntityExist() throws Exception {
58         doReturn(new NotificationEntity()).when(notificationsDao).get(any());
59         notificationsService.markAsRead("ownerId", UUID.randomUUID().toString());
60         verify(notificationsDao, times(1)).update(any());
61     }
62
63     @Test(expected = NotificationNotExistException.class)
64     public void shouldThrowExceptionIfOwnerIdAndNotificationIdDontRelate() throws Exception {
65         doReturn(null).when(notificationsDao).get(any());
66         notificationsService.markAsRead("ownerId", UUID.randomUUID().toString());
67     }
68 }