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.common.test;
23 import static org.junit.Assert.assertNotNull;
24 import static org.junit.Assert.assertNull;
25 import org.junit.Before;
26 import org.junit.Test;
27 import org.openecomp.sdc.be.config.DistributionEngineConfiguration;
28 import org.openecomp.sdc.common.api.BasicConfiguration;
29 import org.openecomp.sdc.common.api.ConfigurationListener;
30 import org.openecomp.sdc.common.api.ConfigurationSource;
31 import org.openecomp.sdc.common.api.FileChangeCallback;
32 import org.openecomp.sdc.common.impl.ExternalConfiguration;
33 import org.openecomp.sdc.common.impl.FSConfigurationSource;
34 import org.openecomp.sdc.common.test.config.TestConfiguration;
35 import org.openecomp.sdc.common.test.config.TestNotExistConfiguration;
36 import org.slf4j.Logger;
37 import org.slf4j.LoggerFactory;
40 import java.util.ArrayList;
41 import java.util.List;
43 import static org.junit.Assert.assertEquals;
44 import static org.junit.Assert.assertTrue;
46 public class TestExternalConfiguration {
48 private static Logger log = LoggerFactory.getLogger(TestExternalConfiguration.class.getName());
49 private static final String NEW_LINE = System.getProperty("line.separator");
50 ConfigurationSource configurationSource = null;
55 ExternalConfiguration.setAppName("common");
56 ExternalConfiguration.setConfigDir("src/test/resources/config");
57 ExternalConfiguration.listenForChanges();
59 configurationSource = new FSConfigurationSource(ExternalConfiguration.getChangeListener(),
60 ExternalConfiguration.getConfigDir() + File.separator + ExternalConfiguration.getAppName());
65 public void testReadConfigurationFile() {
67 ConfigurationListener configurationListener = new ConfigurationListener(TestConfiguration.class,
68 new FileChangeCallback() {
70 public void reconfigure(BasicConfiguration obj) {
71 // TODO Auto-generated method stub
72 log.debug("In reconfigure of {}", obj);
77 TestConfiguration testConfiguration = configurationSource.getAndWatchConfiguration(TestConfiguration.class,
78 configurationListener);
80 assertNotNull(testConfiguration);
81 log.debug("{}", testConfiguration);
82 assertEquals(testConfiguration.getBeHost(), "172.20.37.245");
83 assertEquals(testConfiguration.getBeProtocol(), "http");
84 assertEquals(testConfiguration.getBeContext(), "/sdc/rest/config/get");
89 public void testNotExistConfigurationFile() {
91 ConfigurationListener configurationListener = new ConfigurationListener(TestConfiguration.class,
92 new FileChangeCallback() {
94 public void reconfigure(BasicConfiguration obj) {
95 // TODO Auto-generated method stub
96 log.debug("In reconfigure of {}", obj);
101 TestNotExistConfiguration testConfiguration = configurationSource
102 .getAndWatchConfiguration(TestNotExistConfiguration.class, configurationListener);
104 assertNull(testConfiguration);
109 public void testUpdateConfigurationFile() {
111 ConfigurationListener configurationListener = new ConfigurationListener(TestConfiguration.class,
112 new FileChangeCallback() {
114 public void reconfigure(BasicConfiguration obj) {
115 // TODO Auto-generated method stub
116 log.debug("In reconfigure of {}", obj);
117 // assertEquals(((TestConfiguration)obj).getBeSslPort(),
120 // assertTrue(((TestConfiguration)obj).getBeSslPort() ==
126 TestConfiguration testConfiguration = configurationSource.getAndWatchConfiguration(TestConfiguration.class,
127 configurationListener);
129 assertNotNull(testConfiguration);
130 log.debug("{}", testConfiguration);
131 assertEquals(testConfiguration.getBeHost(), "172.20.37.245");
132 assertEquals(testConfiguration.getBeProtocol(), "http");
133 assertEquals(testConfiguration.getBeContext(), "/sdc/rest/config/get");
135 // updateFileContent();
139 private void updateFileContent() {
140 File file = new File(ExternalConfiguration.getConfigDir() + File.separator + ExternalConfiguration.getAppName()
141 + File.separator + "test-configuration.yaml");
146 } catch (InterruptedException e) {
151 public void replaceFile(File f1) {
152 FileReader fr = null;
153 BufferedReader br = null;
154 FileWriter fw = null;
155 BufferedWriter out = null;
157 List<String> lines = new ArrayList<>();
159 fr = new FileReader(f1);
160 br = new BufferedReader(fr);
161 while ((line = br.readLine()) != null) {
162 if (line.contains("beSslPort: 8443"))
163 line = line.replace("8443", "8444");
167 fw = new FileWriter(f1);
168 out = new BufferedWriter(fw);
169 for (String s : lines)
170 out.write(s + NEW_LINE);
172 } catch (Exception ex) {
173 ex.printStackTrace();
179 } catch (IOException e) {
186 } catch (IOException e) {
193 } catch (IOException e) {
200 } catch (IOException e) {
208 public void testReadDistributionEngineConfigurationFile() {
210 ConfigurationListener configurationListener = new ConfigurationListener(TestConfiguration.class,
211 new FileChangeCallback() {
213 public void reconfigure(BasicConfiguration obj) {
214 // TODO Auto-generated method stub
215 log.debug("In reconfigure of ", obj);
220 DistributionEngineConfiguration deConfiguration = configurationSource
221 .getAndWatchConfiguration(DistributionEngineConfiguration.class, configurationListener);
223 assertNotNull(deConfiguration);
224 log.debug("{}", deConfiguration);
225 assertEquals(deConfiguration.getDistributionNotifTopicName(), "ASDC-DISTR-NOTIF-TOPIC");
226 assertEquals(deConfiguration.getDistributionStatusTopicName(), "ASDC-DISTR-STATUS-TOPIC");
228 assertEquals(deConfiguration.getDistributionStatusTopic().getConsumerGroup(), "asdc");
229 assertEquals(deConfiguration.getDistributionStatusTopic().getConsumerGroup(), "asdc");
230 assertEquals(deConfiguration.getDistributionStatusTopic().getFetchTimeSec().intValue(), 15);
231 assertEquals(deConfiguration.getDistributionStatusTopic().getPollingIntervalSec().intValue(), 60);
233 assertEquals(deConfiguration.getEnvironments().size(), 1);
234 assertEquals(deConfiguration.getEnvironments().iterator().next(), "PROD");
236 assertNull(deConfiguration.getDistribNotifResourceArtifactTypes().getInfo());
237 assertEquals(deConfiguration.getDistribNotifResourceArtifactTypes().getLifecycle().size(), 2);
238 assertTrue(deConfiguration.getDistribNotifResourceArtifactTypes().getLifecycle().contains("HEAT"));
239 assertTrue(deConfiguration.getDistribNotifResourceArtifactTypes().getLifecycle().contains("DG_XML"));
241 assertNull(deConfiguration.getDistribNotifServiceArtifactTypes().getLifecycle());
242 assertEquals(deConfiguration.getDistribNotifServiceArtifactTypes().getInfo().size(), 1);
243 assertTrue(deConfiguration.getDistribNotifServiceArtifactTypes().getInfo().contains("MURANO-PKG"));
245 assertEquals(deConfiguration.getUebPublicKey(), "fff");
246 assertEquals(deConfiguration.getUebSecretKey(), "ffff");
247 assertEquals(deConfiguration.getUebServers().size(), 3);
248 assertEquals(deConfiguration.getInitRetryIntervalSec().intValue(), 5);