2 * ============LICENSE_START=======================================================
3 * PNF-REGISTRATION-HANDLER
4 * ================================================================================
5 * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.dcaegen2.services.prh.configuration;
23 import static org.assertj.core.api.Assertions.assertThat;
25 import com.google.gson.Gson;
26 import com.google.gson.JsonObject;
27 import org.junit.jupiter.api.Test;
28 import org.onap.dcaegen2.services.prh.config.AaiClientConfiguration;
29 import org.onap.dcaegen2.services.prh.config.DmaapConsumerConfiguration;
30 import org.onap.dcaegen2.services.prh.config.DmaapPublisherConfiguration;
31 import org.onap.dcaegen2.services.prh.config.ImmutableAaiClientConfiguration;
32 import org.onap.dcaegen2.services.prh.config.ImmutableDmaapConsumerConfiguration;
33 import org.onap.dcaegen2.services.prh.config.ImmutableDmaapPublisherConfiguration;
35 public class CloudConfigParserTest {
37 private static final String correctJson =
38 "{\"aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors\": true, "
39 + "\"dmaap.dmaapProducerConfiguration.dmaapTopicName\": \"/events/unauthenticated.PNF_READY\", "
40 + "\"dmaap.dmaapConsumerCon"
41 + "figuration.timeoutMs\": -1, \"dmaap.dmaapConsumerConfiguration.dmaapHostName\": "
42 + "\"message-router.onap.svc.cluster.local\", \"aai.aaiClientConfiguration.aaiPnfPath\": "
43 + "\"/network/pnfs/pnf\", \"aai.aaiClientConfiguration.aai"
44 + "UserPassword\": \"AAI\", \"dmaap.dmaapConsumerConfiguration.dmaapUserName\": \"admin\", "
45 + "\"aai.aaiClientConfiguration.aaiBasePath\": \"/aai/v12\", "
46 + "\"dmaap.dmaapProducerConfiguration.dmaapPortNumber\": 3904, \"aai.aaiClientConf"
47 + "iguration.aaiHost\": \"aai.onap.svc.cluster.local\", "
48 + "\"dmaap.dmaapConsumerConfiguration.dmaapUserPassword\": \"admin\", "
49 + "\"dmaap.dmaapProducerConfiguration.dmaapProtocol\": \"http\", \"dmaap.dmaapProducerConfiguration.dmaapC"
50 + "ontentType\": \"application/json\", "
51 + "\"dmaap.dmaapConsumerConfiguration.dmaapTopicName\": \"/events/unauthenticated.SEC_OTHER_OUTPUT\", "
52 + "\"dmaap.dmaapConsumerConfiguration.dmaapPortNumber\": 3904, \"dmaap.dmaapConsumerConfi"
53 + "guration.dmaapContentType\": \"application/json\", \"dmaap.dmaapConsumerConfiguration.messageLimit\": "
54 + "-1, \"dmaap.dmaapConsumerConfiguration.dmaapProtocol\": \"http\", "
55 + "\"aai.aaiClientConfiguration.aaiUserName\": \"AAI\", \"dm"
56 + "aap.dmaapConsumerConfiguration.consumerId\": \"c12\", \"dmaap.dmaapProducerConfiguration.dmaapHostName\""
57 + ": \"message-router.onap.svc.cluster.local\", \"aai.aaiClientConfiguration.aaiHostPortNumber\": "
58 + "8443, \"dmaap.dmaapConsumerConfiguration.consumerGroup\": \"OpenDCAE-c12\", "
59 + "\"aai.aaiClientConfiguration.aaiProtocol\": \"https\", "
60 + "\"dmaap.dmaapProducerConfiguration.dmaapUserName\": \"admin\", "
61 + "\"dmaap.dmaapProducerConfiguration.dmaapUserPasswor"
64 private static final ImmutableAaiClientConfiguration correctAaiClientConfig =
65 new ImmutableAaiClientConfiguration.Builder()
66 .aaiHost("aai.onap.svc.cluster.local")
69 .aaiPnfPath("/network/pnfs/pnf")
70 .aaiIgnoreSslCertificateErrors(true)
71 .aaiUserPassword("AAI")
73 .aaiBasePath("/aai/v12")
76 private static final ImmutableDmaapConsumerConfiguration correctDmaapConsumerConfig =
77 new ImmutableDmaapConsumerConfiguration.Builder()
79 .dmaapHostName("message-router.onap.svc.cluster.local")
80 .dmaapUserName("admin")
81 .dmaapUserPassword("admin")
82 .dmaapTopicName("/events/unauthenticated.SEC_OTHER_OUTPUT")
83 .dmaapPortNumber(3904)
84 .dmaapContentType("application/json")
86 .dmaapProtocol("http")
88 .consumerGroup("OpenDCAE-c12")
91 private static final ImmutableDmaapPublisherConfiguration correctDmaapPublisherConfig =
92 new ImmutableDmaapPublisherConfiguration.Builder()
93 .dmaapTopicName("/events/unauthenticated.PNF_READY")
94 .dmaapUserPassword("admin")
95 .dmaapPortNumber(3904)
96 .dmaapProtocol("http")
97 .dmaapContentType("application/json")
98 .dmaapHostName("message-router.onap.svc.cluster.local")
99 .dmaapUserName("admin")
102 private CloudConfigParser cloudConfigParser = new CloudConfigParser(
103 new Gson().fromJson(correctJson, JsonObject.class));
107 public void shouldCreateAaiConfigurationCorrectly() {
109 AaiClientConfiguration aaiClientConfig = cloudConfigParser.getAaiClientConfig();
112 assertThat(aaiClientConfig).isNotNull();
113 assertThat(aaiClientConfig).isEqualToComparingFieldByField(correctAaiClientConfig);
118 public void shouldCreateDmaapConsumerConfigurationCorrectly() {
120 DmaapConsumerConfiguration dmaapConsumerConfig = cloudConfigParser.getDmaapConsumerConfig();
123 assertThat(dmaapConsumerConfig).isNotNull();
124 assertThat(dmaapConsumerConfig).isEqualToComparingFieldByField(correctDmaapConsumerConfig);
129 public void shouldCreateDmaapPublisherConfigurationCorrectly() {
131 DmaapPublisherConfiguration dmaapPublisherConfig = cloudConfigParser.getDmaapPublisherConfig();
134 assertThat(dmaapPublisherConfig).isNotNull();
135 assertThat(dmaapPublisherConfig).isEqualToComparingFieldByField(correctDmaapPublisherConfig);