re base code
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / components / distribution / engine / DistributionEngineConfigTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T 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.openecomp.sdc.be.components.distribution.engine;
22
23 import org.junit.Before;
24 import org.junit.Test;
25 import org.openecomp.sdc.be.config.ConfigurationManager;
26 import org.openecomp.sdc.be.config.DistributionEngineConfiguration;
27 import org.openecomp.sdc.be.config.DistributionEngineConfiguration.ComponentArtifactTypesConfig;
28 import org.openecomp.sdc.be.config.DistributionEngineConfiguration.CreateTopicConfig;
29 import org.openecomp.sdc.be.config.DistributionEngineConfiguration.DistributionStatusTopicConfig;
30 import org.openecomp.sdc.common.api.ConfigurationSource;
31 import org.openecomp.sdc.common.impl.ExternalConfiguration;
32 import org.openecomp.sdc.common.impl.FSConfigurationSource;
33
34 import java.io.File;
35 import java.util.ArrayList;
36 import java.util.List;
37
38 import static org.junit.Assert.assertFalse;
39 import static org.junit.Assert.assertTrue;
40
41 public class DistributionEngineConfigTest {
42
43     @Before
44     public void setup() {
45         ExternalConfiguration.setAppName("catalog-be");
46         ExternalConfiguration.setConfigDir("src/test/resources/config");
47         ExternalConfiguration.listenForChanges();
48
49         ConfigurationSource configurationSource = new FSConfigurationSource(ExternalConfiguration.getChangeListener(), ExternalConfiguration.getConfigDir() + File.separator + ExternalConfiguration.getAppName());
50
51         ConfigurationManager configurationManager = new ConfigurationManager(configurationSource);
52     }
53
54     @Test
55     public void validateMissingEnvironments() {
56
57         DistributionEngineConfiguration deConfiguration = new DistributionEngineConfiguration();
58
59         String uebPublicKey = "uebPublicKey";
60         String uebSecretKey = "uebSecretKey";
61
62         DistributionEngine distributionEngine = new DistributionEngine();
63
64         List<String> environments = new ArrayList<>();
65         environments.add("PROD");
66         deConfiguration.setEnvironments(environments);
67
68         List<String> servers = new ArrayList<>();
69         servers.add("server1:80");
70         servers.add("server2:8080");
71
72         CreateTopicConfig createTopic = new CreateTopicConfig();
73         createTopic.setPartitionCount(1);
74         createTopic.setReplicationCount(1);
75         deConfiguration.setCreateTopic(createTopic);
76
77         ComponentArtifactTypesConfig distribNotifResourceArtifactTypes = new ComponentArtifactTypesConfig();
78         deConfiguration.setDistribNotifResourceArtifactTypes(distribNotifResourceArtifactTypes);
79
80         ComponentArtifactTypesConfig distribNotifServiceArtifactTypes = new ComponentArtifactTypesConfig();
81         deConfiguration.setDistribNotifServiceArtifactTypes(distribNotifServiceArtifactTypes);
82
83         deConfiguration.setDistributionNotifTopicName("distributionNotifTopicName");
84         deConfiguration.setDistributionStatusTopicName("statusTopic");
85
86         DistributionStatusTopicConfig distributionStatusTopic = new DistributionStatusTopicConfig();
87         distributionStatusTopic.setConsumerGroup("asdc-group");
88         distributionStatusTopic.setConsumerId("asdc-id");
89         distributionStatusTopic.setFetchTimeSec(20);
90         distributionStatusTopic.setPollingIntervalSec(20);
91         deConfiguration.setDistributionStatusTopic(distributionStatusTopic);
92
93         deConfiguration.setUebServers(servers);
94         deConfiguration.setUebPublicKey(uebPublicKey);
95         deConfiguration.setUebSecretKey(uebSecretKey);
96         deConfiguration.setInitMaxIntervalSec(8);
97         deConfiguration.setInitRetryIntervalSec(3);
98
99         boolean isValid = distributionEngine.validateConfiguration(deConfiguration);
100         assertTrue("check empty configuration", isValid);
101
102         deConfiguration.setUebServers(null);
103         isValid = distributionEngine.validateConfiguration(deConfiguration);
104         assertFalse("check empty configuration", isValid);
105
106         deConfiguration.setUebServers(servers);
107         isValid = distributionEngine.validateConfiguration(deConfiguration);
108         assertTrue("check empty configuration", isValid);
109
110         deConfiguration.setEnvironments(null);
111         isValid = distributionEngine.validateConfiguration(deConfiguration);
112         assertFalse("check empty configuration", isValid);
113
114         deConfiguration.setEnvironments(environments);
115         isValid = distributionEngine.validateConfiguration(deConfiguration);
116         assertTrue("check empty configuration", isValid);
117
118         deConfiguration.setUebPublicKey(null);
119         isValid = distributionEngine.validateConfiguration(deConfiguration);
120         assertFalse("check empty configuration", isValid);
121
122         deConfiguration.setUebPublicKey(uebPublicKey);
123         isValid = distributionEngine.validateConfiguration(deConfiguration);
124         assertTrue("check empty configuration", isValid);
125
126         deConfiguration.setUebSecretKey(null);
127         isValid = distributionEngine.validateConfiguration(deConfiguration);
128         assertFalse("check empty configuration", isValid);
129
130         deConfiguration.setUebSecretKey(uebPublicKey);
131         isValid = distributionEngine.validateConfiguration(deConfiguration);
132         assertTrue("check empty configuration", isValid);
133
134         deConfiguration.setDistributionNotifTopicName(null);
135         isValid = distributionEngine.validateConfiguration(deConfiguration);
136         assertFalse("check empty configuration", isValid);
137
138         deConfiguration.setDistributionNotifTopicName(uebPublicKey);
139         isValid = distributionEngine.validateConfiguration(deConfiguration);
140         assertTrue("check empty configuration", isValid);
141
142         deConfiguration.setDistributionStatusTopicName(null);
143         isValid = distributionEngine.validateConfiguration(deConfiguration);
144         assertFalse("check empty configuration", isValid);
145
146         deConfiguration.setDistributionStatusTopicName(uebPublicKey);
147         isValid = distributionEngine.validateConfiguration(deConfiguration);
148         assertTrue("check empty configuration", isValid);
149
150         deConfiguration.setInitMaxIntervalSec(null);
151         isValid = distributionEngine.validateConfiguration(deConfiguration);
152         assertFalse("check empty configuration", isValid);
153
154         deConfiguration.setInitMaxIntervalSec(8);
155         isValid = distributionEngine.validateConfiguration(deConfiguration);
156         assertTrue("check empty configuration", isValid);
157
158         deConfiguration.setInitRetryIntervalSec(null);
159         isValid = distributionEngine.validateConfiguration(deConfiguration);
160         assertFalse("check empty configuration", isValid);
161
162         deConfiguration.setInitRetryIntervalSec(8);
163         isValid = distributionEngine.validateConfiguration(deConfiguration);
164         assertTrue("check empty configuration", isValid);
165
166     }
167
168 }