2 * ============LICENSE_START=======================================================
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
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.openecomp.sdc.be.components.distribution.engine;
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;
35 import java.util.ArrayList;
36 import java.util.List;
38 import static org.junit.Assert.assertFalse;
39 import static org.junit.Assert.assertTrue;
41 public class DistributionEngineConfigTest {
45 ExternalConfiguration.setAppName("catalog-be");
46 ExternalConfiguration.setConfigDir("src/test/resources/config");
47 ExternalConfiguration.listenForChanges();
49 ConfigurationSource configurationSource = new FSConfigurationSource(ExternalConfiguration.getChangeListener(), ExternalConfiguration.getConfigDir() + File.separator + ExternalConfiguration.getAppName());
51 ConfigurationManager configurationManager = new ConfigurationManager(configurationSource);
55 public void validateMissingEnvironments() {
57 DistributionEngineConfiguration deConfiguration = new DistributionEngineConfiguration();
59 String uebPublicKey = "uebPublicKey";
60 String uebSecretKey = "uebSecretKey";
62 DistributionEngine distributionEngine = new DistributionEngine();
64 List<String> environments = new ArrayList<>();
65 environments.add("PROD");
66 deConfiguration.setEnvironments(environments);
68 List<String> servers = new ArrayList<>();
69 servers.add("server1:80");
70 servers.add("server2:8080");
72 CreateTopicConfig createTopic = new CreateTopicConfig();
73 createTopic.setPartitionCount(1);
74 createTopic.setReplicationCount(1);
75 deConfiguration.setCreateTopic(createTopic);
77 ComponentArtifactTypesConfig distribNotifResourceArtifactTypes = new ComponentArtifactTypesConfig();
78 deConfiguration.setDistribNotifResourceArtifactTypes(distribNotifResourceArtifactTypes);
80 ComponentArtifactTypesConfig distribNotifServiceArtifactTypes = new ComponentArtifactTypesConfig();
81 deConfiguration.setDistribNotifServiceArtifactTypes(distribNotifServiceArtifactTypes);
83 deConfiguration.setDistributionNotifTopicName("distributionNotifTopicName");
84 deConfiguration.setDistributionStatusTopicName("statusTopic");
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);
93 deConfiguration.setUebServers(servers);
94 deConfiguration.setUebPublicKey(uebPublicKey);
95 deConfiguration.setUebSecretKey(uebSecretKey);
96 deConfiguration.setInitMaxIntervalSec(8);
97 deConfiguration.setInitRetryIntervalSec(3);
99 boolean isValid = distributionEngine.validateConfiguration(deConfiguration);
100 assertTrue("check empty configuration", isValid);
102 deConfiguration.setUebServers(null);
103 isValid = distributionEngine.validateConfiguration(deConfiguration);
104 assertFalse("check empty configuration", isValid);
106 deConfiguration.setUebServers(servers);
107 isValid = distributionEngine.validateConfiguration(deConfiguration);
108 assertTrue("check empty configuration", isValid);
110 deConfiguration.setEnvironments(null);
111 isValid = distributionEngine.validateConfiguration(deConfiguration);
112 assertFalse("check empty configuration", isValid);
114 deConfiguration.setEnvironments(environments);
115 isValid = distributionEngine.validateConfiguration(deConfiguration);
116 assertTrue("check empty configuration", isValid);
118 deConfiguration.setUebPublicKey(null);
119 isValid = distributionEngine.validateConfiguration(deConfiguration);
120 assertFalse("check empty configuration", isValid);
122 deConfiguration.setUebPublicKey(uebPublicKey);
123 isValid = distributionEngine.validateConfiguration(deConfiguration);
124 assertTrue("check empty configuration", isValid);
126 deConfiguration.setUebSecretKey(null);
127 isValid = distributionEngine.validateConfiguration(deConfiguration);
128 assertFalse("check empty configuration", isValid);
130 deConfiguration.setUebSecretKey(uebPublicKey);
131 isValid = distributionEngine.validateConfiguration(deConfiguration);
132 assertTrue("check empty configuration", isValid);
134 deConfiguration.setDistributionNotifTopicName(null);
135 isValid = distributionEngine.validateConfiguration(deConfiguration);
136 assertFalse("check empty configuration", isValid);
138 deConfiguration.setDistributionNotifTopicName(uebPublicKey);
139 isValid = distributionEngine.validateConfiguration(deConfiguration);
140 assertTrue("check empty configuration", isValid);
142 deConfiguration.setDistributionStatusTopicName(null);
143 isValid = distributionEngine.validateConfiguration(deConfiguration);
144 assertFalse("check empty configuration", isValid);
146 deConfiguration.setDistributionStatusTopicName(uebPublicKey);
147 isValid = distributionEngine.validateConfiguration(deConfiguration);
148 assertTrue("check empty configuration", isValid);
150 deConfiguration.setInitMaxIntervalSec(null);
151 isValid = distributionEngine.validateConfiguration(deConfiguration);
152 assertFalse("check empty configuration", isValid);
154 deConfiguration.setInitMaxIntervalSec(8);
155 isValid = distributionEngine.validateConfiguration(deConfiguration);
156 assertTrue("check empty configuration", isValid);
158 deConfiguration.setInitRetryIntervalSec(null);
159 isValid = distributionEngine.validateConfiguration(deConfiguration);
160 assertFalse("check empty configuration", isValid);
162 deConfiguration.setInitRetryIntervalSec(8);
163 isValid = distributionEngine.validateConfiguration(deConfiguration);
164 assertTrue("check empty configuration", isValid);