import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.ArgumentMatchers.isNull;
-import static org.mockito.ArgumentMatchers.startsWith;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.lang.invoke.MethodHandles;
-import org.oransc.ric.anrxapp.client.api.GnodebsApi;
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.NeighborCellRelationMod;
import org.oransc.ric.anrxapp.client.model.NeighborCellRelationTable;
private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
- private final NeighborCellRelationTable ncrt, ncrtNodeB1, ncrtNodeB2;
-
+ private final NeighborCellRelationTable ncrt, ncrtNodeB1, ncrtNodeB2, ncrtNodeB3;
+ private final GgNodeBTable gNodebTable;
+
+ private static final String gnodeb1 = "001EF5:0045FE50";
+ private static final String gnodeb2 = "001EF6:0045FE51";
+ private static final String gnodeb3 = "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[] cells1 = { "A", "B", "C", "D" };
- for (String s : cells1)
+ String[] neighbors1 = { "1104", "1105", "1106" };
+ for (String n : neighbors1)
ncrtNodeB1.addNcrtRelationsItem(
- new NeighborCellRelation().servingCellNrcgi(s + "12345").neighborCellNrpci(s + "12346")
- .neighborCellNrcgi(s + "12347").flagNoHo(true).flagNoXn(true).flagNoRemove(true));
- String[] cells2 = { "E", "F", "G", "H" };
- for (String s : cells2)
+ 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(s + "12345").neighborCellNrpci(s + "12346")
- .neighborCellNrcgi(s + "12347").flagNoHo(true).flagNoXn(true).flagNoRemove(true));
+ 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();
}).when(mockApi).getHealthReady();
return mockApi;
}
-
- @Bean
- public GnodebsApi anrGnodebsMockApi() {
- ApiClient mockClient = mock(ApiClient.class);
- when(mockClient.getStatusCode()).thenReturn(HttpStatus.OK);
- GnodebsApi mockApi = mock(GnodebsApi.class);
-
- return mockApi;
- }
@Bean
- public NcrtApi ncrtMockApi() {
+ // Use the same name as regular configuration
+ public NcrtApi anrNcrtApi() {
ApiClient apiClient = apiClient();
NcrtApi mockApi = mock(NcrtApi.class);
when(mockApi.getApiClient()).thenReturn(apiClient);
+ when(mockApi.getgNodeB()).thenReturn(gNodebTable);
// Swagger sends nulls; front end sends empty strings
- when(mockApi.getNcrtInfo((String) isNull(), (String) isNull(), (String) isNull())).thenReturn(ncrt);
- when(mockApi.getNcrtInfo(eq(""), any(String.class), any(String.class))).thenReturn(ncrt);
- when(mockApi.getNcrtInfo(startsWith("A"), any(String.class), any(String.class))).thenReturn(ncrtNodeB1);
- when(mockApi.getNcrtInfo(startsWith("B"), any(String.class), any(String.class))).thenReturn(ncrtNodeB2);
+ 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(String.class));