Initial commit for AAI-UI(sparky-backend)
[aai/sparky-be.git] / src / test / java / org / openecomp / sparky / dal / aai / config / ActiveInventoryConfigTest.java
1 package org.openecomp.sparky.dal.aai.config;
2
3
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;
8
9 import java.util.Properties;
10
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;
15
16 public class ActiveInventoryConfigTest {
17
18   /**
19    * Test case initialization
20    * 
21    * @throws Exception the exception
22    */
23   @Before
24   public void init() throws Exception {}
25
26   @Test
27   public void validateBasicConstruction_emptyProperties() throws Exception {
28
29     ActiveInventoryConfig config = new ActiveInventoryConfig(getTestProperties());
30
31     assertNotNull(config);
32
33   }
34   
35   private Properties getTestProperties() {
36     
37     Properties props = new Properties();
38     
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");
46     
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");
53     
54     props.put("aai.rest.shallowEntities","cloud-region,complex,vnf-image,att-aic,image");
55     
56     props.put("aai.ssl.truststore.filename","synchronizer.jks");
57     props.put("aai.ssl.truststore.type","jks");
58     
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");
62     
63     props.put("aai.ssl.enableDebug","false");
64     props.put("aai.ssl.validateServerHostName","false");
65     props.put("aai.ssl.validateServerCertificateChain","false");
66
67     props.put("aai.rest.authenticationMode","SSL_CERT");
68     props.put("aai.ssl.basicAuth.username","");
69     props.put("aai.ssl.basicAuth.password","");
70     
71     props.put("aai.taskProcessor.maxConcurrentWorkers","5");
72     
73     props.put("aai.taskProcessor.transactionRateControllerEnabled","false");
74     props.put("aai.taskProcessor.numSamplesPerThreadForRunningAverage","100");
75     props.put("aai.taskProcessor.targetTPS","100");
76     
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");
81     
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");
86     
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");
91     
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");
96     
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");
101     
102     
103     return props;
104     
105     
106   }
107
108   @Test
109   public void validateAccessors() throws Exception {
110     
111     ActiveInventoryConfig config = new ActiveInventoryConfig(getTestProperties());
112
113     ActiveInventoryRestConfig airc = config.getAaiRestConfig();
114     ActiveInventorySslConfig sslConfig = config.getAaiSslConfig();
115     TaskProcessorConfig tpc = config.getTaskProcessorConfig();
116
117     assertNotNull(airc);
118     assertNotNull(sslConfig);
119     assertNotNull(tpc);
120
121     assertEquals("https://aai-host:8443/aai/v10", config.getBaseUri().toString());
122
123     assertTrue(config.toString().contains("ActiveInventoryConfig"));
124
125     config.setAaiRestConfig(null);
126     config.setAaiSslConfig(null);
127     config.setTaskProcessorConfig(null);
128
129     assertNull(config.getAaiRestConfig());
130     assertNull(config.getAaiSslConfig());
131     assertNull(config.getTaskProcessorConfig());
132
133     config.setAaiRestConfig(airc);
134     config.setAaiSslConfig(sslConfig);
135     config.setTaskProcessorConfig(tpc);
136
137
138   }
139
140   @Test
141   public void validateRepairSelfLink_nullLink() throws Exception {
142
143     ActiveInventoryConfig config = new ActiveInventoryConfig(getTestProperties());
144
145     ActiveInventoryRestConfig restConfig = config.getAaiRestConfig();
146
147     restConfig.setAuthenticationMode(RestAuthenticationMode.UNKNOWN_MODE);
148     restConfig.setHost("aai-host");
149     restConfig.setPort("9191");
150
151     assertNull(config.repairSelfLink(null));
152   }
153
154   @Test
155   public void validateRepairSelfLink_emptyString() throws Exception {
156
157     ActiveInventoryConfig config = new ActiveInventoryConfig(getTestProperties());
158
159     ActiveInventoryRestConfig restConfig = config.getAaiRestConfig();
160
161     restConfig.setAuthenticationMode(RestAuthenticationMode.UNKNOWN_MODE);
162     restConfig.setHost("aai-host");
163     restConfig.setPort("9191");
164
165     assertEquals("http://aai-host:9191", config.repairSelfLink(""));
166   }
167
168   @Test
169   public void validateRepairSelfLink_withResourceUrl() throws Exception {
170
171     ActiveInventoryConfig config = new ActiveInventoryConfig(getTestProperties());
172
173     ActiveInventoryRestConfig restConfig = config.getAaiRestConfig();
174
175     restConfig.setAuthenticationMode(RestAuthenticationMode.SSL_CERT);
176     restConfig.setHost("aai-host");
177     restConfig.setPort("9191");
178
179     assertEquals("https://aai-host:9191/aai/v10/business/customers/customer/1234",
180         config.repairSelfLink("/aai/v10/business/customers/customer/1234"));
181   }
182 }