2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved.
4 * ================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 * ============LICENSE_END=========================================================
19 package org.onap.dcaegen2.collectors.datafile.configuration;
22 import static org.assertj.core.api.Assertions.assertThat;
24 import com.google.gson.Gson;
25 import com.google.gson.JsonObject;
26 import org.junit.jupiter.api.Test;
27 import org.onap.dcaegen2.collectors.datafile.config.DmaapConsumerConfiguration;
28 import org.onap.dcaegen2.collectors.datafile.config.DmaapPublisherConfiguration;
29 import org.onap.dcaegen2.collectors.datafile.config.ImmutableDmaapConsumerConfiguration;
30 import org.onap.dcaegen2.collectors.datafile.config.ImmutableDmaapPublisherConfiguration;
32 class CloudConfigParserTest {
34 private static final String CORRECT_JSON =
35 "{\"dmaap.dmaapProducerConfiguration.dmaapTopicName\": \"/events/unauthenticated.VES_NOTIFICATION_OUTPUT\", "
36 + "\"dmaap.dmaapConsumerConfiguration.timeoutMS\": -1,"
37 + " \"dmaap.dmaapConsumerConfiguration.dmaapHostName\": \"message-router.onap.svc.cluster.local\","
38 + "\"dmaap.dmaapConsumerConfiguration.dmaapUserName\": \"admin\", "
39 + "\"dmaap.dmaapProducerConfiguration.dmaapPortNumber\": 3904, "
40 + "\"dmaap.dmaapConsumerConfiguration.dmaapUserPassword\": \"admin\", "
41 + "\"dmaap.dmaapProducerConfiguration.dmaapProtocol\": \"http\", "
42 + "\"dmaap.dmaapProducerConfiguration.dmaapContentType\": \"application/json\", "
43 + "\"dmaap.dmaapConsumerConfiguration.dmaapTopicName\": \"/events/unauthenticated.VES_NOTIFICATION_OUTPUT\", "
44 + "\"dmaap.dmaapConsumerConfiguration.dmaapPortNumber\": 3904, "
45 + "\"dmaap.dmaapConsumerConfiguration.dmaapContentType\": \"application/json\", "
46 + "\"dmaap.dmaapConsumerConfiguration.messageLimit\": -1, "
47 + "\"dmaap.dmaapConsumerConfiguration.dmaapProtocol\": \"http\", "
48 + "\"dmaap.dmaapConsumerConfiguration.consumerId\": \"c12\","
49 + "\"dmaap.dmaapProducerConfiguration.dmaapHostName\": \"message-router.onap.svc.cluster.local\", "
50 + "\"dmaap.dmaapConsumerConfiguration.consumerGroup\": \"OpenDCAE-c12\", "
51 + "\"dmaap.dmaapProducerConfiguration.dmaapUserName\": \"admin\", "
52 + "\"dmaap.dmaapProducerConfiguration.dmaapUserPassword\": \"admin\"}";
54 private static final ImmutableDmaapConsumerConfiguration correctDmaapConsumerConfig =
55 new ImmutableDmaapConsumerConfiguration.Builder()
57 .dmaapHostName("message-router.onap.svc.cluster.local")
58 .dmaapUserName("admin")
59 .dmaapUserPassword("admin")
60 .dmaapTopicName("/events/unauthenticated.VES_NOTIFICATION_OUTPUT")
61 .dmaapPortNumber(3904)
62 .dmaapContentType("application/json")
64 .dmaapProtocol("http")
66 .consumerGroup("OpenDCAE-c12")
69 private static final ImmutableDmaapPublisherConfiguration correctDmaapPublisherConfig =
70 new ImmutableDmaapPublisherConfiguration.Builder()
71 .dmaapTopicName("/events/unauthenticated.VES_NOTIFICATION_OUTPUT")
72 .dmaapUserPassword("admin")
73 .dmaapPortNumber(3904)
74 .dmaapProtocol("http")
75 .dmaapContentType("application/json")
76 .dmaapHostName("message-router.onap.svc.cluster.local")
77 .dmaapUserName("admin")
80 private CloudConfigParser cloudConfigParser = new CloudConfigParser(
81 new Gson().fromJson(CORRECT_JSON, JsonObject.class));
85 public void shouldCreateDmaapConsumerConfigurationCorrectly() {
87 DmaapConsumerConfiguration dmaapConsumerConfig = cloudConfigParser.getDmaapConsumerConfig();
90 assertThat(dmaapConsumerConfig).isNotNull();
91 assertThat(dmaapConsumerConfig).isEqualToComparingFieldByField(correctDmaapConsumerConfig);
96 public void shouldCreateDmaapPublisherConfigurationCorrectly() {
98 DmaapPublisherConfiguration dmaapPublisherConfig = cloudConfigParser.getDmaapPublisherConfig();
101 assertThat(dmaapPublisherConfig).isNotNull();
102 assertThat(dmaapPublisherConfig).isEqualToComparingFieldByField(correctDmaapPublisherConfig);