Add table with automatic neighbor relation data
[portal/ric-dashboard.git] / webapp-backend / src / main / java / org / oransc / ric / portal / dashboard / config / AnrXappMockConfiguration.java
index 1668eb1..550963b 100644 (file)
@@ -20,6 +20,9 @@
 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.ArgumentMatchers.startsWith;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -29,9 +32,9 @@ import java.lang.invoke.MethodHandles;
 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;
@@ -49,8 +52,30 @@ public class AnrXappMockConfiguration {
 
        private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
+       private final NeighborCellRelationTable ncrt, ncrtNodeB1, ncrtNodeB2;
+       private final GgNodeBTable gNodebTable;
+
        public AnrXappMockConfiguration() {
                logger.info("Configuring mock ANR xApp client");
+               gNodebTable = new GgNodeBTable();
+               gNodebTable.addGNodeBIdsItem("A").addGNodeBIdsItem("B");
+               ncrtNodeB1 = new NeighborCellRelationTable();
+               ncrtNodeB2 = new NeighborCellRelationTable();
+               ncrt = new NeighborCellRelationTable();
+               String[] cells1 = { "A", "B", "C", "D" };
+               for (String s : cells1)
+                       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)
+                       ncrtNodeB2.addNcrtRelationsItem(
+                                       new NeighborCellRelation().servingCellNrcgi(s + "12345").neighborCellNrpci(s + "12346")
+                                                       .neighborCellNrcgi(s + "12347").flagNoHo(true).flagNoXn(true).flagNoRemove(true));
+               for (NeighborCellRelation ncr : ncrtNodeB1.getNcrtRelations())
+                       ncrt.addNcrtRelationsItem(ncr);
+               for (NeighborCellRelation ncr : ncrtNodeB2.getNcrtRelations())
+                       ncrt.addNcrtRelationsItem(ncr);
        }
 
        private ApiClient apiClient() {
@@ -60,11 +85,10 @@ public class AnrXappMockConfiguration {
        }
 
        @Bean
-       public HealthApi anrHealthMockApi() {
-               ApiClient mockClient = mock(ApiClient.class);
-               when(mockClient.getStatusCode()).thenReturn(HttpStatus.OK);
+       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();
@@ -75,30 +99,22 @@ public class AnrXappMockConfiguration {
        }
 
        @Bean
-       public NcrtApi ncrtPapi() {
+       public NcrtApi ncrtMockApi() {
                ApiClient apiClient = apiClient();
                NcrtApi mockApi = mock(NcrtApi.class);
                when(mockApi.getApiClient()).thenReturn(apiClient);
-
-               NeighborCellRelation a = new NeighborCellRelation().cellIdentifierNrcgi("A12345").neighborCellNrpci("A123456")
-                               .neighborCellNrcgi("A12347").flagNoHo(true).flagNoXn(true).flagNoRemove(true);
-               NeighborCellRelation e = new NeighborCellRelation().cellIdentifierNrcgi("E12345").neighborCellNrpci("E123456")
-                               .neighborCellNrcgi("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(startsWith("A"), any(String.class), any(String.class))).thenReturn(ncrtNodeB1);
+               when(mockApi.getNcrt(startsWith("B"), any(String.class), any(String.class))).thenReturn(ncrtNodeB2);
                doAnswer(i -> {
                        return null;
-               }).when(mockApi).deleteNcrt(any(String.class), any(NeighborCellRelationDelTable.class));
-
+               }).when(mockApi).deleteNcrt(any(String.class), any(String.class));
                doAnswer(i -> {
                        return null;
-               }).when(mockApi).modifyNcrt(any(String.class), any(NeighborCellRelationModTable.class));
-
+               }).when(mockApi).modifyNcrt(any(String.class), any(String.class), any(NeighborCellRelationMod.class));
                return mockApi;
        }