X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-backend%2Fsrc%2Fmain%2Fjava%2Forg%2Foransc%2Fric%2Fportal%2Fdashboard%2Fconfig%2FAnrXappMockConfiguration.java;h=65960b913e3b2a2d4f9db160c79a117a3efd494e;hb=fa50e55b6e8977ad0a6a28096fe58fb54924ca2b;hp=4d80d4f3738c190c0d56f41275d3f144136d85b2;hpb=9d33149c7bdc8566d0135406b601fc1a901ff2f5;p=portal%2Fric-dashboard.git diff --git a/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/config/AnrXappMockConfiguration.java b/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/config/AnrXappMockConfiguration.java index 4d80d4f3..65960b91 100644 --- a/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/config/AnrXappMockConfiguration.java +++ b/webapp-backend/src/main/java/org/oransc/ric/portal/dashboard/config/AnrXappMockConfiguration.java @@ -51,18 +51,22 @@ public class AnrXappMockConfiguration { private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); - private final NeighborCellRelationTable ncrt, ncrtNodeB1, ncrtNodeB2, ncrtNodeB3; + private static final String GNODEB1 = "001EF5:0045FE50"; + private static final String GNODEB2 = "001EF6:0045FE51"; + private static final String GNODEB3 = "001EF7:0045FE52"; + // Sonar wants separate declarations + private final NeighborCellRelationTable ncrt; + private final NeighborCellRelationTable ncrtNodeB1; + private final NeighborCellRelationTable ncrtNodeB2; + private final NeighborCellRelationTable 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"; + // Simulate remote method delay for UI testing + private final int delayMs = 500; public AnrXappMockConfiguration() { - logger.info("Configuring mock ANR xApp client"); gNodebTable = new GgNodeBTable(); - gNodebTable.addGNodeBIdsItem(gnodeb1).addGNodeBIdsItem(gnodeb2).addGNodeBIdsItem(gnodeb3); + gNodebTable.addGNodeBIdsItem(GNODEB1).addGNodeBIdsItem(GNODEB2).addGNodeBIdsItem(GNODEB3); ncrtNodeB1 = new NeighborCellRelationTable(); ncrtNodeB2 = new NeighborCellRelationTable(); ncrtNodeB3 = new NeighborCellRelationTable(); @@ -70,18 +74,18 @@ public class AnrXappMockConfiguration { 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)); + 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)); + 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)); + 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()) @@ -97,35 +101,61 @@ public class AnrXappMockConfiguration { } @Bean + // Use the same name as regular configuration public HealthApi anrHealthApi() { ApiClient apiClient = apiClient(); HealthApi mockApi = mock(HealthApi.class); when(mockApi.getApiClient()).thenReturn(apiClient); - doAnswer(i -> { - return null; - }).when(mockApi).getHealthAlive(); - doAnswer(i -> { - return null; - }).when(mockApi).getHealthReady(); + doAnswer(i -> null).when(mockApi).getHealthAlive(); + doAnswer(i -> null).when(mockApi).getHealthReady(); 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); + doAnswer(inv -> { + logger.debug("getgNodeB sleeping {}", delayMs); + Thread.sleep(delayMs); + return gNodebTable; + }).when(mockApi).getgNodeB(); // 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 -> { + doAnswer(inv -> { + logger.debug("getNcrt (1) sleeping {}", delayMs); + Thread.sleep(delayMs); + return ncrt; + }).when(mockApi).getNcrt((String) isNull(), (String) isNull(), (String) isNull()); + doAnswer(inv -> { + logger.debug("getNcrt (2) sleeping {}", delayMs); + Thread.sleep(delayMs); + return ncrt; + }).when(mockApi).getNcrt(eq(""), any(String.class), any(String.class)); + doAnswer(inv -> { + logger.debug("getNcrt (3) sleeping {}", delayMs); + Thread.sleep(delayMs); + return ncrtNodeB1; + }).when(mockApi).getNcrt(eq(GNODEB1), any(String.class), any(String.class)); + doAnswer(inv -> { + logger.debug("getNcrt (4) sleeping {}", delayMs); + Thread.sleep(delayMs); + return ncrtNodeB2; + }).when(mockApi).getNcrt(eq(GNODEB2), any(String.class), any(String.class)); + doAnswer(inv -> { + logger.debug("getNcrt (5) sleeping {}", delayMs); + Thread.sleep(delayMs); + return ncrtNodeB3; + }).when(mockApi).getNcrt(eq(GNODEB3), any(String.class), any(String.class)); + doAnswer(inv -> { + logger.debug("deleteNcrt sleeping {}", delayMs); + Thread.sleep(delayMs); return null; }).when(mockApi).deleteNcrt(any(String.class), any(String.class)); - doAnswer(i -> { + doAnswer(inv -> { + logger.debug("modifyNcrt sleeping {}", delayMs); + Thread.sleep(delayMs); return null; }).when(mockApi).modifyNcrt(any(String.class), any(String.class), any(NeighborCellRelationMod.class)); return mockApi;