Added Controller configuration
[nonrtric.git] / policy-agent / src / test / java / org / oransc / policyagent / configuration / ApplicationConfigParserTest.java
index 5136a70..3303e3f 100644 (file)
@@ -39,6 +39,7 @@ import java.io.InputStreamReader;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
+import java.util.Map;
 import java.util.Properties;
 
 import org.junit.jupiter.api.Test;
@@ -51,12 +52,12 @@ public class ApplicationConfigParserTest {
     ApplicationConfigParser parserUnderTest = new ApplicationConfigParser();
 
     @Test
-    public void whenCorrectDmaapConfig() throws Exception {
+    public void whenCorrectConfig() throws Exception {
         JsonObject jsonRootObject = getJsonRootObject();
 
-        parserUnderTest.parse(jsonRootObject);
+        ApplicationConfigParser.ConfigParserResult result = parserUnderTest.parse(jsonRootObject);
 
-        Properties actualPublisherConfig = parserUnderTest.getDmaapPublisherConfig();
+        Properties actualPublisherConfig = result.dmaapPublisherConfig();
         assertAll("publisherConfig",
             () -> assertEquals("localhost:6845/events", actualPublisherConfig.get("ServiceName"), "Wrong ServiceName"),
             () -> assertEquals("A1-POLICY-AGENT-WRITE", actualPublisherConfig.get("topic"), "Wrong topic"),
@@ -70,7 +71,7 @@ public class ApplicationConfigParserTest {
             () -> assertEquals(15000, actualPublisherConfig.get("timeout"), "Wrong timeout"),
             () -> assertEquals(100, actualPublisherConfig.get("limit"), "Wrong limit"));
 
-        Properties actualConsumerConfig = parserUnderTest.getDmaapConsumerConfig();
+        Properties actualConsumerConfig = result.dmaapConsumerConfig();
         assertAll("consumerConfig",
             () -> assertEquals("localhost:6845/events", actualConsumerConfig.get("ServiceName"), "Wrong ServiceName"),
             () -> assertEquals("A1-POLICY-AGENT-READ", actualConsumerConfig.get("topic"), "Wrong topic"),
@@ -85,6 +86,16 @@ public class ApplicationConfigParserTest {
                 "Wrong TransportType"),
             () -> assertEquals(15000, actualConsumerConfig.get("timeout"), "Wrong timeout"),
             () -> assertEquals(100, actualConsumerConfig.get("limit"), "Wrong limit"));
+
+        Map<String, ControllerConfig> controllers = result.controllerConfigs();
+        assertEquals(1, controllers.size(), "size");
+        ImmutableControllerConfig expectedControllerConfig = ImmutableControllerConfig.builder() //
+            .baseUrl("http://localhost:8083/") //
+            .name("controller1") //
+            .userName("user") //
+            .password("password") //
+            .build(); //
+        assertEquals(expectedControllerConfig, controllers.get("controller1"), "controller contents");
     }
 
     private JsonObject getJsonRootObject() throws JsonIOException, JsonSyntaxException, IOException {
@@ -121,7 +132,8 @@ public class ApplicationConfigParserTest {
         private JsonObject fake_info_object;
 
         public String toString() {
-            return String.format("[dmaap_publisher=%s, fake_info_object=%s]", dmaap_publisher.toString(), fake_info_object.toString());
+            return String.format("[dmaap_publisher=%s, fake_info_object=%s]", dmaap_publisher.toString(),
+                fake_info_object.toString());
         }
     }
 
@@ -147,7 +159,8 @@ public class ApplicationConfigParserTest {
         private JsonObject fake_info_object;
 
         public String toString() {
-            return String.format("[dmaap_subscriber=%s, fake_info_object=%s]", dmaap_subscriber.toString(), fake_info_object.toString());
+            return String.format("[dmaap_subscriber=%s, fake_info_object=%s]", dmaap_subscriber.toString(),
+                fake_info_object.toString());
         }
     }
 
@@ -227,8 +240,8 @@ public class ApplicationConfigParserTest {
             "Wrong error message when the streams publishes' URL has incorrect syntax");
     }
 
-    public JsonObject getDmaapInfo(JsonObject jsonRootObject, String streamsPublishesOrSubscribes, String dmaapPublisherOrSubscriber)
-        throws Exception {
+    public JsonObject getDmaapInfo(JsonObject jsonRootObject, String streamsPublishesOrSubscribes,
+        String dmaapPublisherOrSubscriber) throws Exception {
         return jsonRootObject.getAsJsonObject("config").getAsJsonObject(streamsPublishesOrSubscribes)
             .getAsJsonObject(dmaapPublisherOrSubscriber).getAsJsonObject("dmaap_info");
     }