1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
package org.onap.a1pesimulator.service.ves;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import java.util.Collection;
import java.util.Map;
import java.util.Optional;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.onap.a1pesimulator.data.ReportingMethodEnum;
import org.onap.a1pesimulator.data.fileready.RanPeriodicEvent;
import org.onap.a1pesimulator.data.ves.VesEvent;
import org.onap.a1pesimulator.service.common.EventCustomizer;
import org.onap.a1pesimulator.service.fileready.CommonFileReady;
import org.onap.a1pesimulator.service.fileready.RanFileReadyHolder;
import org.onap.a1pesimulator.service.ue.RanUeHolder;
import org.onap.a1pesimulator.util.VnfConfigReader;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.test.util.ReflectionTestUtils;
class RanVesHolderTest extends CommonFileReady {
private RanVesHolder ranCellsHolder;
@Mock
RanVesDataProvider vesDataProvider;
@Mock
Collection<OnEventAction> onEventActions;
@Mock
RanFileReadyHolder ranFileReadyHolder;
@Mock
RanVesSender vesSender;
@Mock
EventCustomizer regularEventCustomizer;
@Mock
RanUeHolder ranUeHolder;
@InjectMocks
VnfConfigReader vnfConfigReader;
@BeforeEach
void setUp() {
MockitoAnnotations.initMocks(this);
ReflectionTestUtils.setField(vnfConfigReader, "vnfConfigFile", "src/test/resources/vnf.config");
ThreadPoolTaskScheduler vesPmThreadPoolTaskScheduler = spy(new ThreadPoolTaskScheduler());
vesPmThreadPoolTaskScheduler.initialize();
RanEventCustomizerFactory eventCustomizerFactory = spy(new RanEventCustomizerFactory(regularEventCustomizer, ranUeHolder));
ranCellsHolder = spy(new RanVesHolder(vesPmThreadPoolTaskScheduler, ranFileReadyHolder, vesSender,
vnfConfigReader, eventCustomizerFactory, vesDataProvider, onEventActions));
}
@Test
void getPeriodicEventsCache() {
ranCellsHolder.startSendingVesEvents(TEST_CELL_ID, loadEventFromFile(), 10, ReportingMethodEnum.FILE_READY);
Map<String, RanPeriodicEvent> periodicEventsCache = ranCellsHolder.getPeriodicEventsCache();
assertThat(periodicEventsCache).containsKey(TEST_CELL_ID);
}
@Test
void startSendingVesEvents() {
ResponseEntity<String> response = ranCellsHolder.startSendingVesEvents(TEST_CELL_ID, loadEventFromFile(), 10, ReportingMethodEnum.FILE_READY);
assertThat(response.getStatusCode()).isEqualByComparingTo(HttpStatus.ACCEPTED);
assertThat(response.getBody()).contains("VES Event sending started");
}
@Test
void startSendingFailureVesEvents() {
doReturn(10).when(vesDataProvider).getFailureVesInterval();
ResponseEntity<String> response = ranCellsHolder.startSendingFailureVesEvents(TEST_CELL_ID, loadEventFromFile(), ReportingMethodEnum.FILE_READY);
assertThat(response.getStatusCode()).isEqualByComparingTo(HttpStatus.ACCEPTED);
assertThat(response.getBody()).contains("Failure VES Event sending started");
}
@Test
void stopSendingVesEvents() {
ranCellsHolder.startSendingVesEvents(TEST_CELL_ID, loadEventFromFile(), 10, ReportingMethodEnum.FILE_READY);
Optional<RanPeriodicEvent> response = ranCellsHolder.stopSendingVesEvents(TEST_CELL_ID);
assertThat(response).isPresent();
}
@Test
void getEnabledEventElementIdentifiers() {
ranCellsHolder.startSendingVesEvents(TEST_CELL_ID, loadEventFromFile(), 10, ReportingMethodEnum.VES);
Collection<String> elements = ranCellsHolder.getEnabledEventElementIdentifiers();
assertThat(elements).isNotEmpty();
}
@Test
void isEventEnabled() {
ranCellsHolder.startSendingVesEvents(TEST_CELL_ID, loadEventFromFile(), 10, ReportingMethodEnum.FILE_READY);
boolean enabled = ranCellsHolder.isEventEnabled(TEST_CELL_ID);
assertThat(enabled).isTrue();
}
@Test
void isAnyEventRunning() {
ranCellsHolder.startSendingVesEvents(TEST_CELL_ID, loadEventFromFile(), 10, ReportingMethodEnum.FILE_READY);
boolean isRunning = ranCellsHolder.isAnyEventRunning();
assertThat(isRunning).isTrue();
}
@Test
void getEventStructure() {
VesEvent testedEvent = loadEventFromFile();
ranCellsHolder.startSendingVesEvents(TEST_CELL_ID, testedEvent, 10, ReportingMethodEnum.FILE_READY);
VesEvent event = ranCellsHolder.getEventStructure(TEST_CELL_ID);
assertThat(event).isEqualTo(testedEvent);
}
@Test
void getEventStructureError() {
assertThatExceptionOfType(IllegalArgumentException.class).isThrownBy(() -> ranCellsHolder.getEventStructure(TEST_CELL_ID));
}
}
|