1 package org.openecomp.sparky.dal.aai.config;
4 import static org.junit.Assert.assertEquals;
5 import static org.junit.Assert.assertNotNull;
6 import static org.junit.Assert.assertNull;
7 import static org.junit.Assert.assertTrue;
9 import java.util.Properties;
11 import org.junit.Before;
12 import org.junit.Test;
13 import org.openecomp.sparky.dal.aai.enums.RestAuthenticationMode;
14 import org.openecomp.sparky.synchronizer.config.TaskProcessorConfig;
16 public class ActiveInventoryConfigTest {
19 * Test case initialization
21 * @throws Exception the exception
24 public void init() throws Exception {}
27 public void validateBasicConstruction_emptyProperties() throws Exception {
29 ActiveInventoryConfig config = new ActiveInventoryConfig(getTestProperties());
31 assertNotNull(config);
35 private Properties getTestProperties() {
37 Properties props = new Properties();
39 props.put("aai.rest.host","aai-host");
40 props.put("aai.rest.port","8443");
41 props.put("aai.rest.resourceBasePath","/aai/v10");
42 props.put("aai.rest.connectTimeoutInMs","30000");
43 props.put("aai.rest.readTimeoutInMs","60000");
44 props.put("aai.rest.numRequestRetries","5");
45 props.put("aai.rest.numResolverWorkers","15");
47 props.put("aai.rest.cache.enabled","false");
48 props.put("aai.rest.cache.numWorkers","10");
49 props.put("aai.rest.cache.cacheFailures","false");
50 props.put("aai.rest.cache.useCacheOnly","false");
51 props.put("aai.rest.cache.storageFolderOverride","");
52 props.put("aai.rest.cache.maxTimeToLiveInMs","-1");
54 props.put("aai.rest.shallowEntities","cloud-region,complex,vnf-image,att-aic,image");
56 props.put("aai.ssl.truststore.filename","synchronizer.jks");
57 props.put("aai.ssl.truststore.type","jks");
59 props.put("aai.ssl.keystore.filename","aai-client-cert.p12");
60 props.put("aai.ssl.keystore.pass","70c87528c88dcd9f9c2558d30e817868");
61 props.put("aai.ssl.keystore.type","pkcs12");
63 props.put("aai.ssl.enableDebug","false");
64 props.put("aai.ssl.validateServerHostName","false");
65 props.put("aai.ssl.validateServerCertificateChain","false");
67 props.put("aai.rest.authenticationMode","SSL_CERT");
68 props.put("aai.ssl.basicAuth.username","");
69 props.put("aai.ssl.basicAuth.password","");
71 props.put("aai.taskProcessor.maxConcurrentWorkers","5");
73 props.put("aai.taskProcessor.transactionRateControllerEnabled","false");
74 props.put("aai.taskProcessor.numSamplesPerThreadForRunningAverage","100");
75 props.put("aai.taskProcessor.targetTPS","100");
77 props.put("aai.taskProcessor.bytesHistogramLabel","[Response Size In Bytes]");
78 props.put("aai.taskProcessor.bytesHistogramMaxYAxis","1000000");
79 props.put("aai.taskProcessor.bytesHistogramNumBins","20");
80 props.put("aai.taskProcessor.bytesHistogramNumDecimalPoints","2");
82 props.put("aai.taskProcessor.queueLengthHistogramLabel","[Queue Item Length]");
83 props.put("aai.taskProcessor.queueLengthHistogramMaxYAxis","20000");
84 props.put("aai.taskProcessor.queueLengthHistogramNumBins","20");
85 props.put("aai.taskProcessor.queueLengthHistogramNumDecimalPoints","2");
87 props.put("aai.taskProcessor.taskAgeHistogramLabel","[Task Age In Ms]");
88 props.put("aai.taskProcessor.taskAgeHistogramMaxYAxis","600000");
89 props.put("aai.taskProcessor.taskAgeHistogramNumBins","20");
90 props.put("aai.taskProcessor.taskAgeHistogramNumDecimalPoints","2");
92 props.put("aai.taskProcessor.responseTimeHistogramLabel","[Response Time In Ms]");
93 props.put("aai.taskProcessor.responseTimeHistogramMaxYAxis","10000");
94 props.put("aai.taskProcessor.responseTimeHistogramNumBins","20");
95 props.put("aai.taskProcessor.responseTimeHistogramNumDecimalPoints","2");
97 props.put("aai.taskProcessor.tpsHistogramLabel","[Transactions Per Second]");
98 props.put("aai.taskProcessor.tpsHistogramMaxYAxis","100");
99 props.put("aai.taskProcessor.tpsHistogramNumBins","20");
100 props.put("aai.taskProcessor.tpsHistogramNumDecimalPoints","2");
109 public void validateAccessors() throws Exception {
111 ActiveInventoryConfig config = new ActiveInventoryConfig(getTestProperties());
113 ActiveInventoryRestConfig airc = config.getAaiRestConfig();
114 ActiveInventorySslConfig sslConfig = config.getAaiSslConfig();
115 TaskProcessorConfig tpc = config.getTaskProcessorConfig();
118 assertNotNull(sslConfig);
121 assertEquals("https://aai-host:8443/aai/v10", config.getBaseUri().toString());
123 assertTrue(config.toString().contains("ActiveInventoryConfig"));
125 config.setAaiRestConfig(null);
126 config.setAaiSslConfig(null);
127 config.setTaskProcessorConfig(null);
129 assertNull(config.getAaiRestConfig());
130 assertNull(config.getAaiSslConfig());
131 assertNull(config.getTaskProcessorConfig());
133 config.setAaiRestConfig(airc);
134 config.setAaiSslConfig(sslConfig);
135 config.setTaskProcessorConfig(tpc);
141 public void validateRepairSelfLink_nullLink() throws Exception {
143 ActiveInventoryConfig config = new ActiveInventoryConfig(getTestProperties());
145 ActiveInventoryRestConfig restConfig = config.getAaiRestConfig();
147 restConfig.setAuthenticationMode(RestAuthenticationMode.UNKNOWN_MODE);
148 restConfig.setHost("aai-host");
149 restConfig.setPort("9191");
151 assertNull(config.repairSelfLink(null));
155 public void validateRepairSelfLink_emptyString() throws Exception {
157 ActiveInventoryConfig config = new ActiveInventoryConfig(getTestProperties());
159 ActiveInventoryRestConfig restConfig = config.getAaiRestConfig();
161 restConfig.setAuthenticationMode(RestAuthenticationMode.UNKNOWN_MODE);
162 restConfig.setHost("aai-host");
163 restConfig.setPort("9191");
165 assertEquals("http://aai-host:9191", config.repairSelfLink(""));
169 public void validateRepairSelfLink_withResourceUrl() throws Exception {
171 ActiveInventoryConfig config = new ActiveInventoryConfig(getTestProperties());
173 ActiveInventoryRestConfig restConfig = config.getAaiRestConfig();
175 restConfig.setAuthenticationMode(RestAuthenticationMode.SSL_CERT);
176 restConfig.setHost("aai-host");
177 restConfig.setPort("9191");
179 assertEquals("https://aai-host:9191/aai/v10/business/customers/customer/1234",
180 config.repairSelfLink("/aai/v10/business/customers/customer/1234"));