119224b4bc916edc7f92c87877a171fde610f157
[dcaegen2/collectors/datafile.git] /
1 /*
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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
13  * the License.
14  * ============LICENSE_END========================================================================
15  */
16
17 package org.onap.dcaegen2.collectors.datafile.configuration;
18
19 import static org.assertj.core.api.Assertions.assertThat;
20
21 import com.google.gson.JsonObject;
22
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;
28
29 class CloudConfigParserTest {
30
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();
37
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();
42
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();
46
47     private CloudConfigParser cloudConfigParser = new CloudConfigParser(getCloudConfigJsonObject());
48
49     @Test
50     public void shouldCreateDmaapConsumerConfigurationCorrectly() {
51         DmaapConsumerConfiguration dmaapConsumerConfig = cloudConfigParser.getDmaapConsumerConfig();
52
53         assertThat(dmaapConsumerConfig).isNotNull();
54         assertThat(dmaapConsumerConfig).isEqualToComparingFieldByField(CORRECT_DMAAP_CONSUMER_CONFIG);
55     }
56
57     @Test
58     public void shouldCreateDmaapPublisherConfigurationCorrectly() {
59         DmaapPublisherConfiguration dmaapPublisherConfig = cloudConfigParser.getDmaapPublisherConfig();
60
61         assertThat(dmaapPublisherConfig).isNotNull();
62         assertThat(dmaapPublisherConfig).isEqualToComparingFieldByField(CORRECT_DMAAP_PUBLISHER_CONFIG);
63     }
64
65     @Test
66     public void shouldCreateFtpesConfigurationCorrectly() {
67         FtpesConfig ftpesConfig = cloudConfigParser.getFtpesConfig();
68
69         assertThat(ftpesConfig).isNotNull();
70         assertThat(ftpesConfig).isEqualToComparingFieldByField(CORRECT_FTPES_CONFIGURATION);
71     }
72
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");
98
99         return config;
100     }
101 }