8d48a4c32055ff12ae37657e8a1019805c617dee
[sdc.git] /
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 static org.junit.Assert.assertFalse;
24 import static org.junit.Assert.assertTrue;
25
26 import java.io.File;
27 import java.util.ArrayList;
28 import java.util.List;
29
30 import org.junit.Before;
31 import org.junit.Test;
32 import org.openecomp.sdc.be.config.ConfigurationManager;
33 import org.openecomp.sdc.be.config.DistributionEngineConfiguration;
34 import org.openecomp.sdc.be.config.DistributionEngineConfiguration.ComponentArtifactTypesConfig;
35 import org.openecomp.sdc.be.config.DistributionEngineConfiguration.CreateTopicConfig;
36 import org.openecomp.sdc.be.config.DistributionEngineConfiguration.DistributionStatusTopicConfig;
37 import org.openecomp.sdc.common.api.ConfigurationSource;
38 import org.openecomp.sdc.common.impl.ExternalConfiguration;
39 import org.openecomp.sdc.common.impl.FSConfigurationSource;
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<String>();
65                 environments.add("PROD");
66                 deConfiguration.setEnvironments(environments);
67
68                 List<String> servers = new ArrayList<String>();
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 }