dd0a3dbdc9640d43bb764fb62efd3eb31576fe51
[dcaegen2/services/prh.git] /
1 /*
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
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
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=========================================================
19  */
20
21 package org.onap.dcaegen2.services.prh.configuration;
22
23 import static org.assertj.core.api.Assertions.assertThat;
24
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;
34
35 public class CloudConfigParserTest {
36
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"
62             + "d\": \"admin\"}";
63
64     private static final ImmutableAaiClientConfiguration correctAaiClientConfig =
65         new ImmutableAaiClientConfiguration.Builder()
66             .aaiHost("aai.onap.svc.cluster.local")
67             .aaiPort(8443)
68             .aaiUserName("AAI")
69             .aaiPnfPath("/network/pnfs/pnf")
70             .aaiIgnoreSslCertificateErrors(true)
71             .aaiUserPassword("AAI")
72             .aaiProtocol("https")
73             .aaiBasePath("/aai/v12")
74             .build();
75
76     private static final ImmutableDmaapConsumerConfiguration correctDmaapConsumerConfig =
77         new ImmutableDmaapConsumerConfiguration.Builder()
78             .timeoutMs(-1)
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")
85             .messageLimit(-1)
86             .dmaapProtocol("http")
87             .consumerId("c12")
88             .consumerGroup("OpenDCAE-c12")
89             .build();
90
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")
100             .build();
101
102     private CloudConfigParser cloudConfigParser = new CloudConfigParser(
103         new Gson().fromJson(correctJson, JsonObject.class));
104
105
106     @Test
107     public void shouldCreateAaiConfigurationCorrectly() {
108         // when
109         AaiClientConfiguration aaiClientConfig = cloudConfigParser.getAaiClientConfig();
110
111         // then
112         assertThat(aaiClientConfig).isNotNull();
113         assertThat(aaiClientConfig).isEqualToComparingFieldByField(correctAaiClientConfig);
114     }
115
116
117     @Test
118     public void shouldCreateDmaapConsumerConfigurationCorrectly() {
119         // when
120         DmaapConsumerConfiguration dmaapConsumerConfig = cloudConfigParser.getDmaapConsumerConfig();
121
122         // then
123         assertThat(dmaapConsumerConfig).isNotNull();
124         assertThat(dmaapConsumerConfig).isEqualToComparingFieldByField(correctDmaapConsumerConfig);
125     }
126
127
128     @Test
129     public void shouldCreateDmaapPublisherConfigurationCorrectly() {
130         // when
131         DmaapPublisherConfiguration dmaapPublisherConfig = cloudConfigParser.getDmaapPublisherConfig();
132
133         // then
134         assertThat(dmaapPublisherConfig).isNotNull();
135         assertThat(dmaapPublisherConfig).isEqualToComparingFieldByField(correctDmaapPublisherConfig);
136     }
137 }