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 com.google.gson.Gson;
24 import com.google.gson.JsonObject;
25 import org.junit.jupiter.api.Test;
26 import org.onap.dcaegen2.services.prh.config.*;
28 import static org.assertj.core.api.Assertions.assertThat;
30 public class CloudConfigParserTest {
32 private static final String correctJson =
33 "{\"aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors\": true, "
34 + "\"dmaap.dmaapProducerConfiguration.dmaapTopicName\": \"/events/unauthenticated.PNF_READY\", "
35 + "\"dmaap.dmaapConsumerCon"
36 + "figuration.timeoutMs\": -1, \"dmaap.dmaapConsumerConfiguration.dmaapHostName\": "
37 + "\"message-router.onap.svc.cluster.local\", \"aai.aaiClientConfiguration.aaiPnfPath\": "
38 + "\"/network/pnfs/pnf\", \"aai.aaiClientConfiguration.aai"
39 + "UserPassword\": \"AAI\", \"dmaap.dmaapConsumerConfiguration.dmaapUserName\": \"admin\", "
40 + "\"aai.aaiClientConfiguration.aaiBasePath\": \"/aai/v12\", "
41 + "\"dmaap.dmaapProducerConfiguration.dmaapPortNumber\": 3904, \"aai.aaiClientConf"
42 + "iguration.aaiHost\": \"aai.onap.svc.cluster.local\", "
43 + "\"dmaap.dmaapConsumerConfiguration.dmaapUserPassword\": \"admin\", "
44 + "\"dmaap.dmaapProducerConfiguration.dmaapProtocol\": \"http\", \"dmaap.dmaapProducerConfiguration.dmaapC"
45 + "ontentType\": \"application/json\", "
46 + "\"dmaap.dmaapConsumerConfiguration.dmaapTopicName\": \"/events/unauthenticated.SEC_OTHER_OUTPUT\", "
47 + "\"dmaap.dmaapConsumerConfiguration.dmaapPortNumber\": 3904, \"dmaap.dmaapConsumerConfi"
48 + "guration.dmaapContentType\": \"application/json\", \"dmaap.dmaapConsumerConfiguration.messageLimit\": "
49 + "-1, \"dmaap.dmaapConsumerConfiguration.dmaapProtocol\": \"http\", "
50 + "\"aai.aaiClientConfiguration.aaiUserName\": \"AAI\", \"dm"
51 + "aap.dmaapConsumerConfiguration.consumerId\": \"c12\", \"dmaap.dmaapProducerConfiguration.dmaapHostName\""
52 + ": \"message-router.onap.svc.cluster.local\", \"aai.aaiClientConfiguration.aaiHostPortNumber\": "
53 + "8443, \"dmaap.dmaapConsumerConfiguration.consumerGroup\": \"OpenDCAE-c12\", "
54 + "\"aai.aaiClientConfiguration.aaiProtocol\": \"https\", "
55 + "\"dmaap.dmaapProducerConfiguration.dmaapUserName\": \"admin\", "
56 + "\"dmaap.dmaapProducerConfiguration.dmaapUserPasswor"
59 private static final ImmutableAaiClientConfiguration correctAaiClientConfig =
60 new ImmutableAaiClientConfiguration.Builder()
61 .aaiHost("aai.onap.svc.cluster.local")
64 .aaiPnfPath("/network/pnfs/pnf")
65 .aaiIgnoreSslCertificateErrors(true)
66 .aaiUserPassword("AAI")
68 .aaiBasePath("/aai/v12")
71 private static final ImmutableDmaapConsumerConfiguration correctDmaapConsumerConfig =
72 new ImmutableDmaapConsumerConfiguration.Builder()
74 .dmaapHostName("message-router.onap.svc.cluster.local")
75 .dmaapUserName("admin")
76 .dmaapUserPassword("admin")
77 .dmaapTopicName("/events/unauthenticated.SEC_OTHER_OUTPUT")
78 .dmaapPortNumber(3904)
79 .dmaapContentType("application/json")
81 .dmaapProtocol("http")
83 .consumerGroup("OpenDCAE-c12")
86 private static final ImmutableDmaapPublisherConfiguration correctDmaapPublisherConfig =
87 new ImmutableDmaapPublisherConfiguration.Builder()
88 .dmaapTopicName("/events/unauthenticated.PNF_READY")
89 .dmaapUserPassword("admin")
90 .dmaapPortNumber(3904)
91 .dmaapProtocol("http")
92 .dmaapContentType("application/json")
93 .dmaapHostName("message-router.onap.svc.cluster.local")
94 .dmaapUserName("admin")
97 private CloudConfigParser cloudConfigParser = new CloudConfigParser(new Gson().fromJson(correctJson, JsonObject.class));
101 public void shouldCreateAaiConfigurationCorrectly(){
103 AaiClientConfiguration aaiClientConfig = cloudConfigParser.getAaiClientConfig();
106 assertThat(aaiClientConfig).isNotNull();
107 assertThat(aaiClientConfig).isEqualToComparingFieldByField(correctAaiClientConfig);
112 public void shouldCreateDmaapConsumerConfigurationCorrectly(){
114 DmaapConsumerConfiguration dmaapConsumerConfig = cloudConfigParser.getDmaapConsumerConfig();
117 assertThat(dmaapConsumerConfig).isNotNull();
118 assertThat(dmaapConsumerConfig).isEqualToComparingFieldByField(correctDmaapConsumerConfig);
123 public void shouldCreateDmaapPublisherConfigurationCorrectly(){
125 DmaapPublisherConfiguration dmaapPublisherConfig = cloudConfigParser.getDmaapPublisherConfig();
128 assertThat(dmaapPublisherConfig).isNotNull();
129 assertThat(dmaapPublisherConfig).isEqualToComparingFieldByField(correctDmaapPublisherConfig);