package org.oransc.ric.portal.dashboard.config;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.oransc.ric.anrxapp.client.api.HealthApi;
import org.oransc.ric.anrxapp.client.api.NcrtApi;
import org.oransc.ric.anrxapp.client.invoker.ApiClient;
+import org.oransc.ric.anrxapp.client.model.GgNodeBTable;
import org.oransc.ric.anrxapp.client.model.NeighborCellRelation;
-import org.oransc.ric.anrxapp.client.model.NeighborCellRelationDelTable;
-import org.oransc.ric.anrxapp.client.model.NeighborCellRelationModTable;
+import org.oransc.ric.anrxapp.client.model.NeighborCellRelationMod;
import org.oransc.ric.anrxapp.client.model.NeighborCellRelationTable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+ private final NeighborCellRelationTable ncrt, ncrtNodeB1, ncrtNodeB2, ncrtNodeB3;
+ private final GgNodeBTable gNodebTable;
+
+ private static final String gnodeb1 = "GNB:001EF5:0045FE50";
+ private static final String gnodeb2 = "GNB:001EF6:0045FE51";
+ private static final String gnodeb3 = "GNB:001EF7:0045FE52";
+
public AnrXappMockConfiguration() {
+
logger.info("Configuring mock ANR xApp client");
+ gNodebTable = new GgNodeBTable();
+ gNodebTable.addGNodeBIdsItem(gnodeb1).addGNodeBIdsItem(gnodeb2).addGNodeBIdsItem(gnodeb3);
+ ncrtNodeB1 = new NeighborCellRelationTable();
+ ncrtNodeB2 = new NeighborCellRelationTable();
+ ncrtNodeB3 = new NeighborCellRelationTable();
+ ncrt = new NeighborCellRelationTable();
+ String[] neighbors1 = { "1104", "1105", "1106" };
+ for (String n : neighbors1)
+ ncrtNodeB1.addNcrtRelationsItem(
+ new NeighborCellRelation().servingCellNrcgi(gnodeb1 + ":1100").neighborCellNrpci(n)
+ .neighborCellNrcgi(gnodeb1 + ":" + n).flagNoHo(true).flagNoXn(true).flagNoRemove(true));
+ String[] neighbors2 = { "1471", "1472", "1473" };
+ for (String n : neighbors2)
+ ncrtNodeB2.addNcrtRelationsItem(
+ new NeighborCellRelation().servingCellNrcgi(gnodeb2 + ":1400").neighborCellNrpci(n)
+ .neighborCellNrcgi(gnodeb2 + ":" + n).flagNoHo(false).flagNoXn(false).flagNoRemove(false));
+ String[] neighbors3 = { "3601", "3601", "3602" };
+ for (String n : neighbors3)
+ ncrtNodeB3.addNcrtRelationsItem(
+ new NeighborCellRelation().servingCellNrcgi(gnodeb3 + ":3600").neighborCellNrpci(n)
+ .neighborCellNrcgi(gnodeb3 + ":" + n).flagNoHo(true).flagNoXn(true).flagNoRemove(true));
+ for (NeighborCellRelation ncr : ncrtNodeB1.getNcrtRelations())
+ ncrt.addNcrtRelationsItem(ncr);
+ for (NeighborCellRelation ncr : ncrtNodeB2.getNcrtRelations())
+ ncrt.addNcrtRelationsItem(ncr);
+ for (NeighborCellRelation ncr : ncrtNodeB3.getNcrtRelations())
+ ncrt.addNcrtRelationsItem(ncr);
}
private ApiClient apiClient() {
}
@Bean
- public HealthApi anrHealthMockApi() {
- ApiClient mockClient = mock(ApiClient.class);
- when(mockClient.getStatusCode()).thenReturn(HttpStatus.OK);
+ // Use the same name as regular configuration
+ public HealthApi anrHealthApi() {
+ ApiClient apiClient = apiClient();
HealthApi mockApi = mock(HealthApi.class);
- when(mockApi.getApiClient()).thenReturn(mockClient);
+ when(mockApi.getApiClient()).thenReturn(apiClient);
doAnswer(i -> {
return null;
}).when(mockApi).getHealthAlive();
}
@Bean
- public NcrtApi ncrtPapi() {
+ // Use the same name as regular configuration
+ public NcrtApi anrNcrtApi() {
ApiClient apiClient = apiClient();
NcrtApi mockApi = mock(NcrtApi.class);
when(mockApi.getApiClient()).thenReturn(apiClient);
-
- NeighborCellRelation a = new NeighborCellRelation().cellIdentifierNrcgi("A12345")
- .neighborCellIdentifierNrpci("A123456").neighborCellIdentifierNrcgi("A12347").flagNoHo(true)
- .flagNoXn(true).flagNoRemove(true);
- NeighborCellRelation e = new NeighborCellRelation().cellIdentifierNrcgi("E12345")
- .neighborCellIdentifierNrpci("E123456").neighborCellIdentifierNrcgi("E12347").flagNoHo(true)
- .flagNoXn(true).flagNoRemove(true);
- NeighborCellRelationTable ncrt = new NeighborCellRelationTable().addNcrtRelationsItem(a)
- .addNcrtRelationsItem(e);
-
- when(mockApi.getNcrtInfo(any(String.class), any(String.class), any(Integer.class))).thenReturn(ncrt);
- when(mockApi.getCellNcrtInfo(any(String.class), any(String.class), any(Integer.class), any(String.class),
- any(String.class))).thenReturn(ncrt);
-
+ when(mockApi.getgNodeB()).thenReturn(gNodebTable);
+ // Swagger sends nulls; front end sends empty strings
+ when(mockApi.getNcrt((String) isNull(), (String) isNull(), (String) isNull())).thenReturn(ncrt);
+ when(mockApi.getNcrt(eq(""), any(String.class), any(String.class))).thenReturn(ncrt);
+ when(mockApi.getNcrt(eq(gnodeb1), any(String.class), any(String.class))).thenReturn(ncrtNodeB1);
+ when(mockApi.getNcrt(eq(gnodeb2), any(String.class), any(String.class))).thenReturn(ncrtNodeB2);
+ when(mockApi.getNcrt(eq(gnodeb3), any(String.class), any(String.class))).thenReturn(ncrtNodeB3);
doAnswer(i -> {
return null;
- }).when(mockApi).deleteNcrt(any(String.class), any(NeighborCellRelationDelTable.class), any(String.class),
- any(Integer.class), any(String.class), any(String.class));
-
+ }).when(mockApi).deleteNcrt(any(String.class), any(String.class));
doAnswer(i -> {
return null;
- }).when(mockApi).modifyNCRT(any(String.class), any(NeighborCellRelationModTable.class), any(String.class),
- any(Integer.class), any(String.class), any(String.class));
-
+ }).when(mockApi).modifyNcrt(any(String.class), any(String.class), any(NeighborCellRelationMod.class));
return mockApi;
}