39432d07ce60df5630ecb04cb9d8d1271aa85c5c
[music.git] / music-core / src / test / java / org / onap / music / unittests / MusicUtilTest.java
1 /*
2  * ============LICENSE_START==========================================
3  * org.onap.music
4  * ===================================================================
5  *  Copyright (c) 2017 AT&T Intellectual Property
6  *  Modifications Copyright (C) 2019 IBM.
7  * ===================================================================
8  *  Licensed under the Apache License, Version 2.0 (the "License");
9  *  you may not use this file except in compliance with the License.
10  *  You may obtain a copy of the License at
11  * 
12  *     http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  *  Unless required by applicable law or agreed to in writing, software
15  *  distributed under the License is distributed on an "AS IS" BASIS,
16  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  *  See the License for the specific language governing permissions and
18  *  limitations under the License.
19  * 
20  * ============LICENSE_END=============================================
21  * ====================================================================
22  */
23
24 package org.onap.music.unittests;
25
26 import static org.junit.Assert.*;
27 import java.math.BigInteger;
28 import java.nio.ByteBuffer;
29 import java.util.ArrayList;
30 import java.util.HashMap;
31 import java.util.List;
32 import java.util.Map;
33 import java.util.UUID;
34
35 import org.junit.Test;
36 import org.onap.music.datastore.PreparedQueryObject;
37 import org.onap.music.main.MusicUtil;
38 //import org.onap.music.main.CorePropertiesLoader;
39 import org.onap.music.service.MusicCoreService;
40
41 import com.datastax.driver.core.ConsistencyLevel;
42 import com.datastax.driver.core.DataType;
43
44 public class MusicUtilTest {
45
46     private static final String XLATESTVERSION = "X-latestVersion";
47     private static final String XMINORVERSION = "X-minorVersion";
48     private static final String XPATCHVERSION = "X-patchVersion";
49
50     @Test
51     public void testGetCassName() {
52         MusicUtil.setCassName("Cassandra");
53         assertTrue(MusicUtil.getCassName().equals("Cassandra"));
54     }
55
56     @Test
57     public void testGetCassPwd() {
58         MusicUtil.setCassPwd("Cassandra");
59         assertTrue(MusicUtil.getCassPwd().equals("Cassandra"));
60     }
61
62     @Test
63     public void testMusicAafNs() {
64         MusicUtil.setMusicAafNs("ns");
65         assertTrue("ns".equals(MusicUtil.getMusicAafNs()));
66     }
67
68     @Test
69     public void testMusicCoreService() {
70         MusicUtil.setLockUsing(MusicUtil.CASSANDRA);
71         MusicCoreService mc = null;
72         mc = MusicUtil.getMusicCoreService();
73         assertTrue(mc != null);        
74         MusicUtil.setLockUsing("nothing");
75         mc = null;
76         mc = MusicUtil.getMusicCoreService();
77         assertTrue(mc != null);        
78         
79     }
80
81     @Test
82     public void testCipherEncKey() {
83         MusicUtil.setCipherEncKey("cipherEncKey");
84         assertTrue("cipherEncKey".equals(MusicUtil.getCipherEncKey()));        
85     }
86
87     @Test
88     public void testGetMusicPropertiesFilePath() {
89         MusicUtil.setMusicPropertiesFilePath("filepath");
90         assertEquals(MusicUtil.getMusicPropertiesFilePath(),"filepath");
91     }
92
93     @Test
94     public void testGetDefaultLockLeasePeriod() {
95         MusicUtil.setDefaultLockLeasePeriod(5000);
96         assertEquals(MusicUtil.getDefaultLockLeasePeriod(),5000);
97     }
98
99     @Test
100     public void testIsDebug() {
101         MusicUtil.setDebug(true);
102         assertTrue(MusicUtil.isDebug());
103     }
104
105     @Test
106     public void testGetVersion() {
107         MusicUtil.setVersion("1.0.0");
108         assertEquals(MusicUtil.getVersion(),"1.0.0");
109     }
110
111     @Test 
112     public void testBuildVersionA() {
113         assertEquals(MusicUtil.buildVersion("1","2","3"),"1.2.3");
114     }
115
116     @Test 
117     public void testBuildVersionB() {
118         assertEquals(MusicUtil.buildVersion("1",null,"3"),"1");
119     }
120
121     @Test 
122     public void testBuildVersionC() {
123         assertEquals(MusicUtil.buildVersion("1","2",null),"1.2");
124     }
125
126 /*
127     @Test
128     public void testBuileVersionResponse() {
129         assertTrue(MusicUtil.buildVersionResponse("1","2","3").getClass().getSimpleName().equals("Builder"));
130         assertTrue(MusicUtil.buildVersionResponse("1",null,"3").getClass().getSimpleName().equals("Builder"));
131         assertTrue(MusicUtil.buildVersionResponse("1","2",null).getClass().getSimpleName().equals("Builder"));
132         assertTrue(MusicUtil.buildVersionResponse(null,null,null).getClass().getSimpleName().equals("Builder"));
133     }
134 */
135     @Test
136     public void testGetConsistency() {
137         assertTrue(ConsistencyLevel.ONE.equals(MusicUtil.getConsistencyLevel("one")));
138     }
139
140     @Test
141     public void testRetryCount() {
142         MusicUtil.setRetryCount(1);
143         assertEquals(MusicUtil.getRetryCount(),1);
144     }
145
146     @Test
147     public void testIsCadi() {
148         MusicUtil.setIsCadi(true);
149         assertEquals(MusicUtil.getIsCadi(),true);
150     }
151
152
153     @Test
154     public void testGetMyCassaHost() {
155         MusicUtil.setMyCassaHost("10.0.0.2");
156         assertEquals(MusicUtil.getMyCassaHost(),"10.0.0.2");
157     }
158
159     @Test
160     public void testIsValidQueryObject() {
161         PreparedQueryObject myQueryObject = new PreparedQueryObject();
162         myQueryObject.appendQueryString("select * from apple where type = ?");
163         myQueryObject.addValue("macintosh");
164         assertTrue(MusicUtil.isValidQueryObject(true,myQueryObject));
165
166         myQueryObject.appendQueryString("select * from apple");
167         assertTrue(MusicUtil.isValidQueryObject(false,myQueryObject));
168
169         myQueryObject.appendQueryString("select * from apple where type = ?");
170         assertFalse(MusicUtil.isValidQueryObject(true,myQueryObject));
171
172         myQueryObject = new PreparedQueryObject();
173         myQueryObject.appendQueryString("");
174         System.out.println("#######" + myQueryObject.getQuery().isEmpty());
175         assertFalse(MusicUtil.isValidQueryObject(false,myQueryObject));
176
177     
178     }
179
180
181
182
183     @Test(expected = IllegalStateException.class)
184     public void testMusicUtil() {
185         System.out.println("MusicUtil Constructor Test");
186         MusicUtil mu = new MusicUtil();
187         System.out.println(mu.toString());
188     }
189
190     @Test
191     public void testConvertToCQLDataType() throws Exception {
192         Map<String,Object> myMap = new HashMap<String,Object>();
193         myMap.put("name","tom");
194         assertEquals(MusicUtil.convertToCQLDataType(DataType.varchar(),"Happy People"),"'Happy People'");
195         assertEquals(MusicUtil.convertToCQLDataType(DataType.uuid(),UUID.fromString("29dc2afa-c2c0-47ae-afae-e72a645308ab")),"29dc2afa-c2c0-47ae-afae-e72a645308ab");
196         assertEquals(MusicUtil.convertToCQLDataType(DataType.blob(),"Hi"),"Hi");
197         assertEquals(MusicUtil.convertToCQLDataType(DataType.map(DataType.varchar(),DataType.varchar()),myMap),"{'name':'tom'}");
198     }
199
200     @Test
201     public void testConvertToActualDataType() throws Exception {
202         assertEquals(MusicUtil.convertToActualDataType(DataType.varchar(),"Happy People"),"Happy People");
203         assertEquals(MusicUtil.convertToActualDataType(DataType.uuid(),"29dc2afa-c2c0-47ae-afae-e72a645308ab"),UUID.fromString("29dc2afa-c2c0-47ae-afae-e72a645308ab"));
204         assertEquals(MusicUtil.convertToActualDataType(DataType.varint(),"1234"),BigInteger.valueOf(Long.parseLong("1234")));
205         assertEquals(MusicUtil.convertToActualDataType(DataType.bigint(),"123"),Long.parseLong("123"));
206         assertEquals(MusicUtil.convertToActualDataType(DataType.cint(),"123"),Integer.parseInt("123"));
207         assertEquals(MusicUtil.convertToActualDataType(DataType.cfloat(),"123.01"),Float.parseFloat("123.01"));
208         assertEquals(MusicUtil.convertToActualDataType(DataType.cdouble(),"123.02"),Double.parseDouble("123.02"));
209         assertEquals(MusicUtil.convertToActualDataType(DataType.cboolean(),"true"),Boolean.parseBoolean("true"));
210         List<String> myList = new ArrayList<String>();
211         List<String> newList = myList;
212         myList.add("TOM");
213         assertEquals(MusicUtil.convertToActualDataType(DataType.list(DataType.varchar()),myList),newList);
214         Map<String,Object> myMap = new HashMap<String,Object>();
215         myMap.put("name","tom");
216         Map<String,Object> newMap = myMap;
217         assertEquals(MusicUtil.convertToActualDataType(DataType.map(DataType.varchar(),DataType.varchar()),myMap),newMap);
218     }
219
220     @Test
221     public void testConvertToActualDataTypeByte() throws Exception {
222         byte[] testByte = "TOM".getBytes();
223         assertEquals(MusicUtil.convertToActualDataType(DataType.blob(),testByte),ByteBuffer.wrap(testByte));
224
225     }
226
227     @Test
228     public void testJsonMaptoSqlString() throws Exception {
229         Map<String,Object> myMap = new HashMap<>();
230         myMap.put("name","tom");
231         myMap.put("value",5);
232         String result = MusicUtil.jsonMaptoSqlString(myMap,",");
233         assertTrue(result.contains("name"));
234         assertTrue(result.contains("value"));
235     }
236     
237     @Test
238     public void test_generateUUID() {
239         //this function shouldn't be in cachingUtil
240         System.out.println("Testing getUUID");
241         String uuid1 = MusicUtil.generateUUID();
242         String uuid2 = MusicUtil.generateUUID();
243         assertFalse(uuid1==uuid2);
244     }
245
246
247     @Test
248     public void testIsValidConsistency(){
249         assertTrue(MusicUtil.isValidConsistency("ALL"));
250         assertFalse(MusicUtil.isValidConsistency("TEST"));
251     }
252
253     @Test
254     public void testLockUsing() {
255         MusicUtil.setLockUsing("testlock");
256         assertEquals("testlock", MusicUtil.getLockUsing());
257     }
258     
259     @Test
260     public void testCassaPort() {
261         MusicUtil.setCassandraPort(1234);
262         assertEquals(1234, MusicUtil.getCassandraPort());
263     }
264     
265     @Test
266     public void testBuild() {
267         MusicUtil.setBuild("testbuild");
268         assertEquals("testbuild", MusicUtil.getBuild());
269     }
270     
271     @Test
272     public void testTransId() {
273         MusicUtil.setTransIdPrefix("prefix");
274         assertEquals("prefix-", MusicUtil.getTransIdPrefix());
275     }
276     
277     
278     @Test
279     public void testConversationIdPrefix() {
280         MusicUtil.setConversationIdPrefix("prefix-");
281         assertEquals("prefix-", MusicUtil.getConversationIdPrefix());
282     }
283     
284     @Test
285     public void testClientIdPrefix() {
286         MusicUtil.setClientIdPrefix("clientIdPrefix");
287         assertEquals("clientIdPrefix-", MusicUtil.getClientIdPrefix());
288     }
289     
290     @Test
291     public void testMessageIdPrefix() {
292         MusicUtil.setMessageIdPrefix("clientIdPrefix");
293         assertEquals("clientIdPrefix-", MusicUtil.getMessageIdPrefix());
294     }
295     
296     @Test
297     public void testTransIdPrefix() {
298         MusicUtil.setTransIdPrefix("transIdPrefix");
299         assertEquals("transIdPrefix-", MusicUtil.getTransIdPrefix());
300     }
301     
302     @Test
303     public void testConvIdReq() {
304         MusicUtil.setConversationIdRequired(true);
305         assertEquals(true, MusicUtil.getConversationIdRequired());
306     }
307     
308     @Test
309     public void testClientIdRequired() {
310         MusicUtil.setClientIdRequired(true);
311         assertEquals(true, MusicUtil.getClientIdRequired());
312     }
313     
314     @Test
315     public void testMessageIdRequired() {
316         MusicUtil.setMessageIdRequired(true);
317         assertEquals(true, MusicUtil.getMessageIdRequired());
318     }
319
320     @Test
321     public void testTransIdRequired() {
322         MusicUtil.setTransIdRequired(true);
323         assertEquals(true,MusicUtil.getTransIdRequired());
324     }
325 /*
326     @Test
327     public void testLoadProperties() {
328         PropertiesLoader pl = new PropertiesLoader();
329         pl.loadProperties();
330     }
331 */
332 }