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