Upgrade to ANR API spec version 0.0.6
[portal/ric-dashboard.git] / webapp-backend / src / main / java / org / oransc / ric / portal / dashboard / config / AnrXappMockConfiguration.java
index 1668eb1..bfaad92 100644 (file)
 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;
 
 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.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,27 @@ public class AnrXappMockConfiguration {
 
        private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
+       private final NeighborCellRelationTable ncrt, ncrtNodeB1, ncrtNodeB2;
+       
        public AnrXappMockConfiguration() {
                logger.info("Configuring mock ANR xApp client");
+               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() {
@@ -73,32 +95,32 @@ public class AnrXappMockConfiguration {
                }).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 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);
-
+               // 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);
                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;
        }