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.ci.tests.config;
24 import java.io.IOException;
25 import java.io.InputStream;
26 import java.nio.file.Files;
27 import java.nio.file.Paths;
28 import java.util.List;
30 import org.yaml.snakeyaml.Yaml;
34 private static String WINDOWS_CONFIG_FILE = "src/main/resources/ci/conf/attsdc.yaml";
35 private boolean systemUnderDebug;
36 private boolean rerun;
37 private String reportDBhost;
38 private int reportDBport;
40 private String browser;
41 private String catalogBeHost;
42 private String esHost;
43 private String esPort;
44 private String neoHost;
45 private String neoPort;
46 private String disributionClientHost;
47 private String disributionClientPort;
48 private boolean isDistributionClientRunning;
51 private String errorConfigurationFile;
52 private String resourceConfigDir;
53 private String componentsConfigDir;
54 private String importResourceConfigDir;
55 private String importResourceTestsConfigDir;
56 private String importTypesConfigDir;
58 private String testSuites;
60 private String catalogFeHost;
61 private String catalogFePort;
62 private String catalogBePort;
63 private String catalogBeTlsPort;
65 private String onboardingBeHost;
66 private String onboardingBePort;
68 private String neoDBusername;
69 private String neoDBpassword;
71 private String titanPropertiesFile;
72 private List<String> packages;
73 private List<String> bugs;
74 private List<String> resourcesNotToDelete;
75 private List<String> resourceCategoriesNotToDelete;
76 private List<String> serviceCategoriesNotToDelete;
77 private boolean stopOnClassFailure = false;
79 private String outputFolder;
80 private String reportName;
82 private String remoteTestingMachineIP;
83 private String remoteTestingMachinePort;
84 private boolean remoteTesting;
86 private String cassandraHost;
87 private String cassandraAuditKeySpace;
88 private String cassandraArtifactKeySpace;
89 private boolean cassandraAuthenticate;
90 private String cassandraUsername;
91 private String cassandraPassword;
92 private boolean cassandraSsl;
93 private String cassandraTruststorePath;
94 private String cassandraTruststorePassword;
95 private String windowsDownloadDirectory;
96 private boolean captureTraffic;
97 private boolean useBrowserMobProxy;
98 private String sdcHttpMethod;
99 private String localDataCenter;
100 private boolean uiSimulator;
102 public String getLocalDataCenter() {
103 return localDataCenter;
106 public void setLocalDataCenter(String localDataCenter) {
107 this.localDataCenter = localDataCenter;
110 private static Config configIt = null;
112 private static Yaml yaml = new Yaml();
119 public String getOnboardingBePort() {
120 return onboardingBePort;
123 public void setOnboardingBePort(String onboardingBePort) {
124 this.onboardingBePort = onboardingBePort;
127 public String getOnboardingBeHost() {
128 return onboardingBeHost;
131 public void setOnboardingBeHost(String onboardingBeHost) {
132 this.onboardingBeHost = onboardingBeHost;
135 public static class TestPackages {
137 List<String> packages;
140 public List<String> getPackages() {
144 public void setPackages(List<String> packages) {
145 this.packages = packages;
148 public List<String> getBugs() {
152 public void setBugs(List<String> bugs) {
157 public String toString() {
158 return "TestPackages [packages=" + packages + ", bugs=" + bugs + "]";
163 public synchronized static Config instance() {
164 if (configIt == null) {
167 } catch (IOException e) {
175 private static Config init() throws IOException {
177 Config config = null;
179 String configFile = System.getProperty("config.resource");
180 if (configFile == null) {
181 if (System.getProperty("os.name").contains("Windows")) {
182 configFile = WINDOWS_CONFIG_FILE;
183 } else if (System.getProperty("os.name").contains("Mac")) {
184 configFile = WINDOWS_CONFIG_FILE;
186 throw new RuntimeException("Please Add Jvm Argument config.resource");
190 File file = new File(configFile);
191 if (false == file.exists()) {
192 throw new RuntimeException("The config file " + configFile + " cannot be found.");
195 InputStream in = null;
198 in = Files.newInputStream(Paths.get(configFile));
200 config = yaml.loadAs(in, Config.class);
202 setPackagesAndBugs(configFile, config);
208 } catch (IOException e) {
214 // JsonReader jsonReader = new JsonReader(new FileReader(configFile));
215 // Config configAttOdlIt = new Gson().fromJson(jsonReader,
221 public boolean isUiSimulator() {
225 public void setUiSimulator(boolean uiSimulator) {
226 this.uiSimulator = uiSimulator;
229 private static void setPackagesAndBugs(String path, Config config) throws IOException {
231 int separator = Math.max(path.lastIndexOf("\\"), path.lastIndexOf("/"));
232 String dirPath = path.substring(0, separator + 1);
233 String packagesFile = dirPath + File.separator + "attsdc-packages.yaml";
234 File file = new File(packagesFile);
235 if (false == file.exists()) {
236 throw new RuntimeException("The config file " + packagesFile + " cannot be found.");
239 TestPackages testPackages = null;
240 InputStream in = null;
243 in = Files.newInputStream(Paths.get(packagesFile));
245 testPackages = yaml.loadAs(in, TestPackages.class);
247 List<String> bugs = testPackages.getBugs();
248 List<String> packages = testPackages.getPackages();
250 config.setBugs(bugs);
251 config.setPackages(packages);
257 } catch (IOException e) {
265 // public Config(String catalogBeHost, String esHost, String esPort, String
266 // resourceConfigDir, String componentsConfigDir, String catalogFeHost,
267 // String catalogFePort, String catalogBePort) {
269 // this.catalogBeHost = catalogBeHost;
270 // this.esHost = esHost;
271 // this.esPort = esPort;
272 // this.resourceConfigDir = resourceConfigDir;
273 // this.componentsConfigDir = componentsConfigDir;
274 // this.catalogFeHost = catalogFeHost;
275 // this.catalogFePort = catalogFePort;
276 // this.catalogBePort = catalogBePort;
279 String configurationFile;
281 public boolean getSystemUnderDebug() {
282 return systemUnderDebug;
285 public void setSystemUnderDebug(boolean systemUnderDebug) {
286 this.systemUnderDebug = systemUnderDebug;
289 public String getSdcHttpMethod() {
290 return sdcHttpMethod;
293 public void setSdcHttpMethod(String sdcHttpMethod) {
294 this.sdcHttpMethod = sdcHttpMethod;
297 public boolean getRerun() {
301 public void setRerun(boolean rerun) {
305 public String getReportDBhost() {
309 public void setReportDBhost(String reportDBhost) {
310 this.reportDBhost = reportDBhost;
313 public int getReportDBport() {
317 public void setReportDBport(int reportDBport) {
318 this.reportDBport = reportDBport;
320 // public boolean isUsingBrowserMobProxy() {
321 // return useBrowserMobProxy;
324 // public void setUsingBrowserMobProxy(boolean usingBrowserMobProxy) {
325 // this.useBrowserMobProxy = usingBrowserMobProxy;
331 public String getBrowser() {
335 public boolean getUseBrowserMobProxy() {
336 return useBrowserMobProxy;
339 public void setUseBrowserMobProxy(boolean useBrowserMobProxy) {
340 this.useBrowserMobProxy = useBrowserMobProxy;
345 public boolean getCaptureTraffic() {
346 return captureTraffic;
349 public void setCaptureTraffic(boolean captureTraffic) {
350 this.captureTraffic = captureTraffic;
353 public void setBrowser(String browser) {
354 this.browser = browser;
357 public String getConfigurationFile() {
358 return configurationFile;
361 public void setConfigurationFile(String configurationFile) {
362 this.configurationFile = configurationFile;
365 public boolean getIsDistributionClientRunning() {
366 return isDistributionClientRunning;
369 public void setIsDistributionClientRunning(boolean isDistributionClientRunning) {
370 this.isDistributionClientRunning = isDistributionClientRunning;
373 public String getCatalogBePort() {
374 return catalogBePort;
377 public String getDisributionClientHost() {
378 return disributionClientHost;
381 public void setDisributionClientHost(String disributionClientHost) {
382 this.disributionClientHost = disributionClientHost;
385 public String getDisributionClientPort() {
386 return disributionClientPort;
389 public void setDisributionClientPort(String disributionClientPort) {
390 this.disributionClientPort = disributionClientPort;
393 public void setCatalogBePort(String catalogBePort) {
394 this.catalogBePort = catalogBePort;
397 public String getCatalogFeHost() {
398 return catalogFeHost;
401 public void setCatalogFeHost(String catalogFeHost) {
402 this.catalogFeHost = catalogFeHost;
405 public String getCatalogFePort() {
406 return catalogFePort;
409 public void setCatalogFePort(String catalogFePort) {
410 this.catalogFePort = catalogFePort;
413 public String getCatalogBeHost() {
414 return catalogBeHost;
417 public void setCatalogBeHost(String catalogBeHost) {
418 this.catalogBeHost = catalogBeHost;
421 public String getEsHost() {
425 public void setEsHost(String esHost) {
426 this.esHost = esHost;
429 public String getEsPort() {
433 public void setEsPort(String esPort) {
434 this.esPort = esPort;
437 public String getResourceConfigDir() {
438 return resourceConfigDir;
441 public void setResourceConfigDir(String resourceConfigDir) {
442 this.resourceConfigDir = resourceConfigDir;
445 public String getComponentsConfigDir() {
446 return componentsConfigDir;
449 public void setComponentsConfigDir(String componentsConfigDir) {
450 this.componentsConfigDir = componentsConfigDir;
453 public String getOutputFolder() {
457 public void setOutputFolder(String outputFolder) {
458 this.outputFolder = outputFolder;
461 public String getReportName() {
465 public void setReportName(String reportName) {
466 this.reportName = reportName;
469 public String getNeoPort() {
473 public void setNeoPort(String neoPort) {
474 this.neoPort = neoPort;
477 public String getNeoHost() {
481 public void setNeoHost(String neoHost) {
482 this.neoHost = neoHost;
485 public String getNeoDBpassword() {
486 return neoDBpassword;
489 public String getNeoDBusername() {
490 return neoDBusername;
493 public void setNeoDBusername(String neoDBusername) {
494 this.neoDBusername = neoDBusername;
497 public void setNeoDBpassword(String neoDBpassword) {
498 this.neoDBpassword = neoDBpassword;
501 public String getTitanPropertiesFile() {
502 return titanPropertiesFile;
505 public void setTitanPropertiesFile(String titanPropertiesFile) {
506 this.titanPropertiesFile = titanPropertiesFile;
509 public List<String> getPackages() {
513 public void setPackages(List<String> packages) {
514 this.packages = packages;
517 public List<String> getBugs() {
521 public void setBugs(List<String> bugs) {
525 public boolean isStopOnClassFailure() {
526 return stopOnClassFailure;
529 public void setStopOnClassFailure(boolean stopOnClassFailure) {
530 this.stopOnClassFailure = stopOnClassFailure;
533 public String getImportResourceConfigDir() {
534 return importResourceConfigDir;
537 public void setImportResourceConfigDir(String importResourceConfigDir) {
538 this.importResourceConfigDir = importResourceConfigDir;
541 public String getImportResourceTestsConfigDir() {
542 return importResourceTestsConfigDir;
545 public void setImportResourceTestsConfigDir(String importResourceTestsConfigDir) {
546 this.importResourceTestsConfigDir = importResourceTestsConfigDir;
549 public String getErrorConfigurationFile() {
550 return errorConfigurationFile;
553 public void setErrorConfigurationFile(String errorConfigurationFile) {
554 this.errorConfigurationFile = errorConfigurationFile;
557 public String getCatalogBeTlsPort() {
558 return catalogBeTlsPort;
561 public void setCatalogBeTlsPort(String catalogBeTlsPort) {
562 this.catalogBeTlsPort = catalogBeTlsPort;
565 public List<String> getResourcesNotToDelete() {
566 return resourcesNotToDelete;
569 public void setResourcesNotToDelete(List<String> resourcesNotToDelete) {
570 this.resourcesNotToDelete = resourcesNotToDelete;
573 public List<String> getResourceCategoriesNotToDelete() {
574 return resourceCategoriesNotToDelete;
577 public void setResourceCategoriesNotToDelete(List<String> resourceCategoriesNotToDelete) {
578 this.resourceCategoriesNotToDelete = resourceCategoriesNotToDelete;
581 public List<String> getServiceCategoriesNotToDelete() {
582 return serviceCategoriesNotToDelete;
585 public void setServiceCategoriesNotToDelete(List<String> serviceCategoriesNotToDelete) {
586 this.serviceCategoriesNotToDelete = serviceCategoriesNotToDelete;
589 public String getImportTypesConfigDir() {
590 return importTypesConfigDir;
593 public void setImportTypesConfigDir(String importTypesConfigDir) {
594 this.importTypesConfigDir = importTypesConfigDir;
597 public String getCassandraHost() {
598 return cassandraHost;
601 public void setCassandraHost(String cassandraHost) {
602 this.cassandraHost = cassandraHost;
605 public String getCassandraAuditKeySpace() {
606 return cassandraAuditKeySpace;
609 public void setCassandraAuditKeySpace(String cassandraAuditKeySpace) {
610 this.cassandraAuditKeySpace = cassandraAuditKeySpace;
613 public String getCassandraArtifactKeySpace() {
614 return cassandraArtifactKeySpace;
617 public void setCassandraArtifactKeySpace(String cassandraArtifactKeySpace) {
618 this.cassandraArtifactKeySpace = cassandraArtifactKeySpace;
622 public String getWindowsDownloadDirectory() {
623 return windowsDownloadDirectory;
626 public void setWindowsDownloadDirectory(String windowsDownloadDirectory) {
627 this.windowsDownloadDirectory = windowsDownloadDirectory;
631 public String toString() {
632 return "Config [systemUnderDebug=" + systemUnderDebug + ", rerun=" + rerun + ", reportDBhost=" + reportDBhost
633 + ", reportDBport=" + reportDBport + ", browser=" + browser + ", catalogBeHost=" + catalogBeHost
634 + ", esHost=" + esHost + ", esPort=" + esPort + ", neoHost=" + neoHost + ", neoPort=" + neoPort
635 + ", disributionClientHost=" + disributionClientHost + ", disributionClientPort="
636 + disributionClientPort + ", isDistributionClientRunning=" + isDistributionClientRunning
637 + ", errorConfigurationFile=" + errorConfigurationFile + ", resourceConfigDir=" + resourceConfigDir
638 + ", componentsConfigDir=" + componentsConfigDir + ", importResourceConfigDir="
639 + importResourceConfigDir + ", importResourceTestsConfigDir=" + importResourceTestsConfigDir
640 + ", importTypesConfigDir=" + importTypesConfigDir + ", testSuites=" + testSuites + ", catalogFeHost="
641 + catalogFeHost + ", catalogFePort=" + catalogFePort + ", catalogBePort=" + catalogBePort
642 + ", catalogBeTlsPort=" + catalogBeTlsPort + ", neoDBusername=" + neoDBusername + ", neoDBpassword="
643 + neoDBpassword + ", titanPropertiesFile=" + titanPropertiesFile + ", packages=" + packages + ", bugs="
644 + bugs + ", resourcesNotToDelete=" + resourcesNotToDelete + ", resourceCategoriesNotToDelete="
645 + resourceCategoriesNotToDelete + ", serviceCategoriesNotToDelete=" + serviceCategoriesNotToDelete
646 + ", stopOnClassFailure=" + stopOnClassFailure + ", outputFolder=" + outputFolder + ", reportName="
647 + reportName + ", url=" + url + ", remoteTestingMachineIP=" + remoteTestingMachineIP
648 + ", remoteTestingMachinePort=" + remoteTestingMachinePort + ", remoteTesting=" + remoteTesting
649 + ", cassandraHost=" + cassandraHost + ", cassandraAuditKeySpace=" + cassandraAuditKeySpace
650 + ", cassandraArtifactKeySpace=" + cassandraArtifactKeySpace + ", cassandraAuthenticate="
651 + cassandraAuthenticate + ", cassandraUsername=" + cassandraUsername + ", cassandraPassword="
652 + cassandraPassword + ", cassandraSsl=" + cassandraSsl + ", cassandraTruststorePath="
653 + cassandraTruststorePath + ", cassandraTruststorePassword=" + cassandraTruststorePassword
654 + ", windowsDownloadDirectory=" + windowsDownloadDirectory + ", captureTraffic=" + captureTraffic
655 + ", useBrowserMobProxy=" + useBrowserMobProxy + ", configurationFile=" + configurationFile + "]";
658 public boolean isRemoteTesting() {
659 return remoteTesting;
662 public void setRemoteTesting(boolean remoteTesting) {
663 this.remoteTesting = remoteTesting;
666 public String getUrl() {
669 } catch (Exception e) {
674 public void setUrl(String url) {
678 public String getRemoteTestingMachineIP() {
679 return remoteTestingMachineIP;
682 public void setRemoteTestingMachineIP(String remoteTestingMachineIP) {
683 this.remoteTestingMachineIP = remoteTestingMachineIP;
686 public String getRemoteTestingMachinePort() {
687 return remoteTestingMachinePort;
690 public void setRemoteTestingMachinePort(String remoteTestingMachinePort) {
691 this.remoteTestingMachinePort = remoteTestingMachinePort;
694 public boolean getCassandraAuthenticate() {
695 return cassandraAuthenticate;
698 public void setCassandraAuthenticate(boolean cassandraAuthenticate) {
699 this.cassandraAuthenticate = cassandraAuthenticate;
702 public String getCassandraUsername() {
703 return cassandraUsername;
706 public void setCassandraUsername(String cassandraUsername) {
707 this.cassandraUsername = cassandraUsername;
710 public String getCassandraPassword() {
711 return cassandraPassword;
714 public void setCassandraPassword(String cassandraPassword) {
715 this.cassandraPassword = cassandraPassword;
718 public boolean getCassandraSsl() {
722 public void setCassandraSsl(boolean cassandraSsl) {
723 this.cassandraSsl = cassandraSsl;
726 public String getCassandraTruststorePath() {
727 return cassandraTruststorePath;
730 public void setCassandraTruststorePath(String cassandraTruststorePath) {
731 this.cassandraTruststorePath = cassandraTruststorePath;
734 public String getCassandraTruststorePassword() {
735 return cassandraTruststorePassword;
738 public void setCassandraTruststorePassword(String cassandraTruststorePassword) {
739 this.cassandraTruststorePassword = cassandraTruststorePassword;