Revise front-end buildPath support
[portal/ric-dashboard.git] / webapp-backend / src / test / java / org / oransc / ric / portal / dashboard / config / A1MediatorMockConfiguration.java
index 2d31c0e..0694fb2 100644 (file)
@@ -42,10 +42,10 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 
 /**
- * Creates a mock implementation of the A1 mediator client API.
+ * Creates a mock implementation of the A1 mediator client builder.
  */
-@Profile("test")
 @Configuration
+@Profile("test")
 public class A1MediatorMockConfiguration {
 
        private static final Logger logger = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -54,13 +54,14 @@ public class A1MediatorMockConfiguration {
        public static final String AC_CONTROL_NAME = "admission_control_policy";
 
        // Simulate remote method delay for UI testing
-       @Value("${mock.config.delay:0}")
-       private int delayMs;
+       private final int delayMs;
 
+       // Mock values
        private final Map<String, String> appPolicyMap;
 
-       public A1MediatorMockConfiguration() {
-               logger.info("Configuring mock A1 Mediator");
+       public A1MediatorMockConfiguration(@Value("${mock.config.delay:0}") int delayMs) {
+               logger.debug("ctor: configured with delay {}", delayMs);
+               this.delayMs = delayMs;
                appPolicyMap = new HashMap<>();
                // Define a mock AC policy
                ObjectMapper mapper = new ObjectMapper();
@@ -80,9 +81,7 @@ public class A1MediatorMockConfiguration {
                return mockClient;
        }
 
-       @Bean
-       // Use the same name as regular configuration
-       public A1MediatorApi a1MediatorApi() {
+       private A1MediatorApi a1MediatorApi(String instanceKey) {
                ApiClient apiClient = apiClient();
                A1MediatorApi mockApi = mock(A1MediatorApi.class);
                when(mockApi.getApiClient()).thenReturn(apiClient);
@@ -107,4 +106,15 @@ public class A1MediatorMockConfiguration {
                return mockApi;
        }
 
+       @Bean
+       // Must use the same name as the non-mock configuration
+       public A1MediatorApiBuilder a1MediatorApiBuilder() {
+               final A1MediatorApiBuilder mockBuilder = mock(A1MediatorApiBuilder.class);
+               for (final String key : RICInstanceMockConfiguration.INSTANCE_KEYS) {
+                       final A1MediatorApi mockApi = a1MediatorApi(key);
+                       when(mockBuilder.getA1MediatorApi(key)).thenReturn(mockApi);
+               }
+               return mockBuilder;
+       }
+
 }