2 * ============LICENSE_START======================================================================
3 * Copyright (C) 2018 NOKIA Intellectual Property, 2018 Nordix Foundation. All rights reserved.
4 * ===============================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
6 * in compliance with the License. You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software distributed under the License
11 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12 * or implied. See the License for the specific language governing permissions and limitations under
14 * ============LICENSE_END========================================================================
17 package org.onap.dcaegen2.collectors.datafile.configuration;
19 import static org.assertj.core.api.Assertions.assertThat;
21 import com.google.gson.JsonObject;
23 import org.junit.jupiter.api.Test;
24 import org.onap.dcaegen2.collectors.datafile.config.DmaapConsumerConfiguration;
25 import org.onap.dcaegen2.collectors.datafile.config.DmaapPublisherConfiguration;
26 import org.onap.dcaegen2.collectors.datafile.config.ImmutableDmaapConsumerConfiguration;
27 import org.onap.dcaegen2.collectors.datafile.config.ImmutableDmaapPublisherConfiguration;
29 class CloudConfigParserTest {
31 private static final ImmutableDmaapConsumerConfiguration CORRECT_DMAAP_CONSUMER_CONFIG =
32 new ImmutableDmaapConsumerConfiguration.Builder().timeoutMS(-1)
33 .dmaapHostName("message-router.onap.svc.cluster.local").dmaapUserName("admin")
34 .dmaapUserPassword("admin").dmaapTopicName("/events/unauthenticated.VES_NOTIFICATION_OUTPUT")
35 .dmaapPortNumber(2222).dmaapContentType("application/json").messageLimit(-1).dmaapProtocol("http")
36 .consumerId("C12").consumerGroup("OpenDCAE-c12").build();
38 private static final ImmutableDmaapPublisherConfiguration CORRECT_DMAAP_PUBLISHER_CONFIG =
39 new ImmutableDmaapPublisherConfiguration.Builder().dmaapTopicName("publish").dmaapUserPassword("dradmin")
40 .dmaapPortNumber(3907).dmaapProtocol("https").dmaapContentType("application/json")
41 .dmaapHostName("message-router.onap.svc.cluster.local").dmaapUserName("dradmin").build();
43 private static final ImmutableFtpesConfig CORRECT_FTPES_CONFIGURATION =
44 new ImmutableFtpesConfig.Builder().keyCert("/config/ftpKey.jks").keyPassword("secret")
45 .trustedCA("config/cacerts").trustedCAPassword("secret").build();
47 private CloudConfigParser cloudConfigParser = new CloudConfigParser(getCloudConfigJsonObject());
50 public void shouldCreateDmaapConsumerConfigurationCorrectly() {
51 DmaapConsumerConfiguration dmaapConsumerConfig = cloudConfigParser.getDmaapConsumerConfig();
53 assertThat(dmaapConsumerConfig).isNotNull();
54 assertThat(dmaapConsumerConfig).isEqualToComparingFieldByField(CORRECT_DMAAP_CONSUMER_CONFIG);
58 public void shouldCreateDmaapPublisherConfigurationCorrectly() {
59 DmaapPublisherConfiguration dmaapPublisherConfig = cloudConfigParser.getDmaapPublisherConfig();
61 assertThat(dmaapPublisherConfig).isNotNull();
62 assertThat(dmaapPublisherConfig).isEqualToComparingFieldByField(CORRECT_DMAAP_PUBLISHER_CONFIG);
66 public void shouldCreateFtpesConfigurationCorrectly() {
67 FtpesConfig ftpesConfig = cloudConfigParser.getFtpesConfig();
69 assertThat(ftpesConfig).isNotNull();
70 assertThat(ftpesConfig).isEqualToComparingFieldByField(CORRECT_FTPES_CONFIGURATION);
73 public JsonObject getCloudConfigJsonObject() {
74 JsonObject config = new JsonObject();
75 config.addProperty("dmaap.dmaapConsumerConfiguration.timeoutMS", -1);
76 config.addProperty("dmaap.dmaapConsumerConfiguration.dmaapHostName", "message-router.onap.svc.cluster.local");
77 config.addProperty("dmaap.dmaapConsumerConfiguration.dmaapUserName", "admin");
78 config.addProperty("dmaap.dmaapConsumerConfiguration.dmaapUserPassword", "admin");
79 config.addProperty("dmaap.dmaapConsumerConfiguration.dmaapTopicName",
80 "/events/unauthenticated.VES_NOTIFICATION_OUTPUT");
81 config.addProperty("dmaap.dmaapConsumerConfiguration.dmaapPortNumber", 2222);
82 config.addProperty("dmaap.dmaapConsumerConfiguration.dmaapContentType", "application/json");
83 config.addProperty("dmaap.dmaapConsumerConfiguration.messageLimit", -1);
84 config.addProperty("dmaap.dmaapConsumerConfiguration.dmaapProtocol", "http");
85 config.addProperty("dmaap.dmaapConsumerConfiguration.consumerId", "C12");
86 config.addProperty("dmaap.dmaapConsumerConfiguration.consumerGroup", "OpenDCAE-c12");
87 config.addProperty("dmaap.dmaapProducerConfiguration.dmaapTopicName", "publish");
88 config.addProperty("dmaap.dmaapProducerConfiguration.dmaapProtocol", "https");
89 config.addProperty("dmaap.dmaapProducerConfiguration.dmaapContentType", "application/json");
90 config.addProperty("dmaap.dmaapProducerConfiguration.dmaapHostName", "message-router.onap.svc.cluster.local");
91 config.addProperty("dmaap.dmaapProducerConfiguration.dmaapPortNumber", 3907);
92 config.addProperty("dmaap.dmaapProducerConfiguration.dmaapUserName", "dradmin");
93 config.addProperty("dmaap.dmaapProducerConfiguration.dmaapUserPassword", "dradmin");
94 config.addProperty("dmaap.ftpesConfig.keyCert", "/config/ftpKey.jks");
95 config.addProperty("dmaap.ftpesConfig.keyPassword", "secret");
96 config.addProperty("dmaap.ftpesConfig.trustedCA", "config/cacerts");
97 config.addProperty("dmaap.ftpesConfig.trustedCAPassword", "secret");