Add collaboration feature
[sdc.git] / openecomp-be / lib / openecomp-sdc-notification-lib / openecomp-sdc-notification-core / src / test / java / org / openecomp / sdc / notification / services / impl / NotificationPropagationManagerImplTest.java
1 package org.openecomp.sdc.notification.services.impl;
2
3 import org.junit.Assert;
4 import org.junit.Before;
5 import org.junit.Test;
6 import org.mockito.ArgumentCaptor;
7 import org.mockito.Captor;
8 import org.mockito.InjectMocks;
9 import org.mockito.Matchers;
10 import org.mockito.Mock;
11 import org.mockito.MockitoAnnotations;
12 import org.mockito.Spy;
13 import org.openecomp.sdc.destinationprovider.DestinationProvider;
14 import org.openecomp.sdc.destinationprovider.impl.MulticastDestination;
15 import org.openecomp.sdc.destinationprovider.impl.UnicastDestination;
16 import org.openecomp.sdc.notification.dtos.Event;
17 import org.openecomp.sdc.notification.services.PropagationService;
18 import org.openecomp.sdc.notification.services.SubscriptionService;
19
20 import static org.mockito.Mockito.verify;
21
22
23 /**
24  * @author avrahamg
25  * @since July 13, 2017
26  */
27 public class NotificationPropagationManagerImplTest {
28     @Mock
29     private PropagationService propagationServiceMock;
30     @Mock
31     private SubscriptionService subscriptionServiceMock;
32     @Mock
33     private Event eventMock;
34     @Captor
35     private ArgumentCaptor<DestinationProvider> destinationProviderCaptor;
36
37     @Spy
38     @InjectMocks
39     private NotificationPropagationManagerImpl notificationPropagationManager;
40
41     @Before
42     public void setUp() throws Exception {
43         MockitoAnnotations.initMocks(this);
44     }
45
46     @Test
47     public void shouldCallPropagationServiceNotifyWithMulticastDestinationWhenNotifySubscribers()
48         throws Exception {
49         notificationPropagationManager.notifySubscribers(eventMock);
50         verify(propagationServiceMock).notify(Matchers.eq(eventMock), destinationProviderCaptor
51             .capture());
52         Assert.assertTrue(destinationProviderCaptor.getValue() instanceof MulticastDestination);
53
54     }
55
56     @Test
57     public void shouldCallPropagationServiceNotifyWithUnicastDestinationWhenDirectNotification()
58         throws Exception {
59         notificationPropagationManager.directNotification(eventMock, "aaa");
60         verify(propagationServiceMock).notify(Matchers.eq(eventMock), destinationProviderCaptor
61             .capture());
62         Assert.assertTrue(destinationProviderCaptor.getValue() instanceof UnicastDestination);
63     }
64 }