6d74771dd17e88efe88c9c6fc5c5a3cdac01e350
[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 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.*;
27
28 import static org.assertj.core.api.Assertions.assertThat;
29
30 public class CloudConfigParserTest {
31
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"
57             + "d\": \"admin\"}";
58
59     private static final ImmutableAaiClientConfiguration correctAaiClientConfig =
60         new ImmutableAaiClientConfiguration.Builder()
61         .aaiHost("aai.onap.svc.cluster.local")
62         .aaiPort(8443)
63         .aaiUserName("AAI")
64         .aaiPnfPath("/network/pnfs/pnf")
65         .aaiIgnoreSslCertificateErrors(true)
66         .aaiUserPassword("AAI")
67         .aaiProtocol("https")
68         .aaiBasePath("/aai/v12")
69         .build();
70
71     private static final ImmutableDmaapConsumerConfiguration correctDmaapConsumerConfig =
72         new ImmutableDmaapConsumerConfiguration.Builder()
73         .timeoutMs(-1)
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")
80         .messageLimit(-1)
81         .dmaapProtocol("http")
82         .consumerId("c12")
83         .consumerGroup("OpenDCAE-c12")
84         .build();
85
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")
95         .build();
96
97     private CloudConfigParser cloudConfigParser = new CloudConfigParser(new Gson().fromJson(correctJson, JsonObject.class));
98
99
100     @Test
101     public void shouldCreateAaiConfigurationCorrectly(){
102         // when
103         AaiClientConfiguration aaiClientConfig = cloudConfigParser.getAaiClientConfig();
104
105         // then
106         assertThat(aaiClientConfig).isNotNull();
107         assertThat(aaiClientConfig).isEqualToComparingFieldByField(correctAaiClientConfig);
108     }
109
110
111     @Test
112     public void shouldCreateDmaapConsumerConfigurationCorrectly(){
113         // when
114         DmaapConsumerConfiguration dmaapConsumerConfig = cloudConfigParser.getDmaapConsumerConfig();
115
116         // then
117         assertThat(dmaapConsumerConfig).isNotNull();
118         assertThat(dmaapConsumerConfig).isEqualToComparingFieldByField(correctDmaapConsumerConfig);
119     }
120
121
122     @Test
123     public void shouldCreateDmaapPublisherConfigurationCorrectly(){
124         // when
125         DmaapPublisherConfiguration dmaapPublisherConfig = cloudConfigParser.getDmaapPublisherConfig();
126
127         // then
128         assertThat(dmaapPublisherConfig).isNotNull();
129         assertThat(dmaapPublisherConfig).isEqualToComparingFieldByField(correctDmaapPublisherConfig);
130     }
131 }