0f9c23e261c5bb576a1ecf97fcefb77154171c6a
[so.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * SO
4  * ================================================================================
5  * Copyright (C) 2020 Samsung. 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.onap.so.adapters.vevnfm.service;
22
23 import static org.mockito.Mockito.*;
24 import org.junit.Rule;
25 import org.junit.Test;
26 import org.junit.rules.ExpectedException;
27 import org.junit.runner.RunWith;
28 import org.mockito.InjectMocks;
29 import org.mockito.Mock;
30 import org.mockito.junit.MockitoJUnitRunner;
31 import org.onap.aai.domain.yang.EsrSystemInfo;
32 import org.onap.so.adapters.vevnfm.aai.AaiConnection;
33 import org.onap.so.adapters.vevnfm.exception.VeVnfmException;
34
35 @RunWith(MockitoJUnitRunner.class)
36 public class StartupServiceTest {
37
38     @Mock
39     private AaiConnection aaiConnection;
40
41     @Mock
42     private SubscriberService subscriberService;
43
44     @InjectMocks
45     private StartupService startupService;
46
47     @Rule
48     public ExpectedException thrown = ExpectedException.none();
49
50     @Test
51     public void testSuccess() throws Exception {
52         // given
53         final EsrSystemInfo info = new EsrSystemInfo();
54         info.setServiceUrl("lh");
55         when(aaiConnection.receiveVnfm()).thenReturn(info);
56         when(subscriberService.subscribe(info)).thenReturn(true);
57
58         // when
59         startupService.run();
60
61         // then
62         verify(aaiConnection, times(1)).receiveVnfm();
63         verify(subscriberService, times(1)).subscribe(info);
64     }
65
66     @Test
67     public void testFailureAai() throws Exception {
68         // given
69         final EsrSystemInfo info = new EsrSystemInfo();
70         when(aaiConnection.receiveVnfm()).thenReturn(info);
71
72         thrown.expect(VeVnfmException.class);
73
74         // when
75         startupService.run();
76     }
77
78     @Test
79     public void testFailureSubscriber() throws Exception {
80         // given
81         final EsrSystemInfo info = new EsrSystemInfo();
82         info.setServiceUrl("lh");
83         when(aaiConnection.receiveVnfm()).thenReturn(info);
84         when(subscriberService.subscribe(info)).thenReturn(false);
85
86         thrown.expect(VeVnfmException.class);
87
88         // when
89         startupService.run();
90     }
91 }