X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-backend%2Fsrc%2Ftest%2Fjava%2Forg%2Foransc%2Fric%2Fportal%2Fdashboard%2Fconfig%2FE2ManagerMockConfiguration.java;h=16d248614915f411caed1e2593e2248c14b78bc6;hb=c1c667f0a1aa289655b5309aff4c1c748733f4d2;hp=b3b4c9c1ae1a50e664f281b46a09df4308615757;hpb=50fb3b40ec45a65ba7c687e290a3d7f491484b49;p=portal%2Fric-dashboard.git diff --git a/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/config/E2ManagerMockConfiguration.java b/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/config/E2ManagerMockConfiguration.java index b3b4c9c1..16d24861 100644 --- a/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/config/E2ManagerMockConfiguration.java +++ b/webapp-backend/src/test/java/org/oransc/ric/portal/dashboard/config/E2ManagerMockConfiguration.java @@ -40,6 +40,7 @@ import org.oransc.ric.e2mgr.client.model.ResetRequest; import org.oransc.ric.e2mgr.client.model.SetupRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -55,34 +56,16 @@ public class E2ManagerMockConfiguration { private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); + public static final String RAN_NAME_1 = "Connected-RAN"; + public static final String RAN_NAME_2 = "Unknown-RAN"; + // Simulate remote method delay for UI testing - @Value("${mock.config.delay:0}") private int delayMs; - public static final String RAN_NAME_1 = "Connected RAN"; - public static final String RAN_NAME_2 = "Unknown RAN"; - - private final List nodebIdList; - private final Map nodebResponseMap; - private final NodebIdentityGlobalNbId globalNbId; - - public E2ManagerMockConfiguration() { - logger.info("Configuring mock E2 Manager"); - globalNbId = new NodebIdentityGlobalNbId().nbId("mockNbId").plmnId("mockPlmId"); - nodebIdList = new ArrayList<>(); - nodebResponseMap = new HashMap<>(); - // Complete entry - nodebIdList.add(new NodebIdentity().inventoryName(RAN_NAME_1).globalNbId(globalNbId)); - nodebResponseMap.put(RAN_NAME_1, new GetNodebResponse().connectionStatus("CONNECTED").failureType("") - .ip("127.0.0.1").nodeType("mockNodeType").port(123).ranName(RAN_NAME_1)); - // Partial entry - // [{"nodebIdentity":{"globalNbId":null,"inventoryName":"AAAA123456"}, - // "nodebStatus":{"connectionStatus":"CONNECTING","enb":null,"failureType":null, - // "globalNbId":null,"gnb":null,"ip":"10.2.0.6","nodeType":null,"port":36444, - // "ranName":"AAAA123456","setupFailure":null}}] - nodebIdList.add(new NodebIdentity().inventoryName(RAN_NAME_2)); - nodebResponseMap.put(RAN_NAME_2, - new GetNodebResponse().connectionStatus("CONNECTING").ip("127.0.0.2").port(456).ranName(RAN_NAME_2)); + @Autowired + public E2ManagerMockConfiguration(@Value("${mock.config.delay:0}") int delayMs) { + logger.debug("ctor: configured with delay {}", delayMs); + this.delayMs = delayMs; } private ApiClient apiClient() { @@ -91,9 +74,7 @@ public class E2ManagerMockConfiguration { return mockClient; } - @Bean - // Use the same name as regular configuration - public HealthCheckApi e2MgrHealthCheckApi() { + private HealthCheckApi healthCheckApi() { ApiClient apiClient = apiClient(); HealthCheckApi mockApi = mock(HealthCheckApi.class); when(mockApi.getApiClient()).thenReturn(apiClient); @@ -101,9 +82,32 @@ public class E2ManagerMockConfiguration { return mockApi; } - @Bean - // Use the same name as regular configuration - public NodebApi e2MgrNodebApi() { + /** + * Builds a mock NodebApi object. + * + * @param instanceKey + * RIC instance + * @return Object that returns instance-specific results + */ + private NodebApi nodebApi(String instanceKey) { + + final NodebIdentityGlobalNbId globalNbId = new NodebIdentityGlobalNbId().nbId("mockNbId-" + instanceKey) + .plmnId("mockPlmId"); + final List nodebIdList = new ArrayList<>(); + final Map nodebResponseMap = new HashMap<>(); + // Complete entry + nodebIdList.add(new NodebIdentity().inventoryName(RAN_NAME_1).globalNbId(globalNbId)); + nodebResponseMap.put(RAN_NAME_1, new GetNodebResponse().connectionStatus("CONNECTED").failureType("") + .ip("127.0.0.1").nodeType("mockNodeType").port(123).ranName(RAN_NAME_1)); + // Partial entry + // [{"nodebIdentity":{"globalNbId":null,"inventoryName":"AAAA123456"}, + // "nodebStatus":{"connectionStatus":"CONNECTING","enb":null,"failureType":null, + // "globalNbId":null,"gnb":null,"ip":"10.2.0.6","nodeType":null,"port":36444, + // "ranName":"AAAA123456","setupFailure":null}}] + nodebIdList.add(new NodebIdentity().inventoryName(RAN_NAME_2)); + nodebResponseMap.put(RAN_NAME_2, + new GetNodebResponse().connectionStatus("CONNECTING").ip("127.0.0.2").port(456).ranName(RAN_NAME_2)); + ApiClient apiClient = apiClient(); NodebApi mockApi = mock(NodebApi.class); when(mockApi.getApiClient()).thenReturn(apiClient); @@ -164,4 +168,17 @@ public class E2ManagerMockConfiguration { return mockApi; } + @Bean + // Must use the same name as the non-mock configuration + public E2ManagerApiBuilder e2ManagerApiBuilder() { + final E2ManagerApiBuilder mockBuilder = mock(E2ManagerApiBuilder.class); + final HealthCheckApi mockHealthCheckApi = healthCheckApi(); + when(mockBuilder.getHealthCheckApi(any(String.class))).thenReturn(mockHealthCheckApi); + for (final String key : RICInstanceMockConfiguration.INSTANCE_KEYS) { + final NodebApi mockNodebApi = nodebApi(key); + when(mockBuilder.getNodebApi(key)).thenReturn(mockNodebApi); + } + return mockBuilder; + } + }