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;
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"),
() -> 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"),
"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 {
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());
}
}
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());
}
}
"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");
}