re base code
[sdc.git] / openecomp-be / lib / openecomp-sdc-notification-lib / openecomp-sdc-notification-core / src / test / java / org / openecomp / sdc / destinationprovider / impl / MulticastDestinationTest.java
1 package org.openecomp.sdc.destinationprovider.impl;
2
3 import org.junit.Before;
4 import org.junit.Test;
5 import org.mockito.Mock;
6 import org.mockito.MockitoAnnotations;
7 import org.openecomp.sdc.notification.services.SubscriptionService;
8
9 import java.util.Arrays;
10 import java.util.HashSet;
11 import java.util.List;
12 import java.util.Set;
13
14 import static org.junit.Assert.*;
15 import static org.mockito.Matchers.any;
16 import static org.mockito.Mockito.doReturn;
17
18 /**
19  * @author avrahamg
20  * @since July 13, 2017
21  */
22 public class MulticastDestinationTest {
23     @Mock
24     private SubscriptionService subscriptionServiceMock;
25
26     private final String excludedSubscriber = "excluded";
27     private Set<String> subscribers = new HashSet<>(Arrays.asList("a", "b", excludedSubscriber));
28     private MulticastDestination multicastDestination;
29
30     @Before
31     public void setUp() throws Exception {
32         MockitoAnnotations.initMocks(this);
33     }
34
35     @Test
36     public void shouldReturnAllSubscribersIfNoExcludedProvided() throws Exception {
37         doReturn(subscribers).when(subscriptionServiceMock).getSubscribers(any());
38         multicastDestination = new MulticastDestination("aa", subscriptionServiceMock);
39         assertEquals(subscribers.size(), multicastDestination.getSubscribers().size());
40         List<String> actualSubscribers = multicastDestination.getSubscribers();
41         assertTrue(actualSubscribers.containsAll(subscribers));
42     }
43
44     @Test
45     public void shouldReturnAllSubscribersExceptExcluded() throws Exception {
46         doReturn(subscribers).when(subscriptionServiceMock).getSubscribers(any());
47         multicastDestination =
48             new MulticastDestination("aa", subscriptionServiceMock, excludedSubscriber);
49         List<String> actualSubscribers = multicastDestination.getSubscribers();
50         assertNotEquals(this.subscribers.size(), actualSubscribers.size());
51         assertFalse(actualSubscribers.containsAll(subscribers));
52         assertFalse(actualSubscribers.contains(excludedSubscriber));
53     }
54
55     @Test(expected = UnsupportedOperationException.class)
56     public void shouldThrowUnsupportedOperationExceptionWhenTryingToChangeSubscribersList() throws
57         Exception {
58         doReturn(subscribers).when(subscriptionServiceMock).getSubscribers(any());
59         multicastDestination =
60             new MulticastDestination("aa", subscriptionServiceMock, excludedSubscriber);
61         List<String> actualSubscribers = multicastDestination.getSubscribers();
62         actualSubscribers.add("sss");
63     }
64 }