04149fc605ca70ea1a0c6d70df63d13b5e7a1813
[music.git] / 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.util.ArrayList;
29 import java.util.HashMap;
30 import java.util.List;
31 import java.util.Map;
32 import java.util.UUID;
33 import org.apache.cassandra.exceptions.PreparedQueryNotFoundException;
34 import org.junit.Test;
35 import org.onap.music.authentication.CachingUtil;
36 import org.onap.music.datastore.PreparedQueryObject;
37 import org.onap.music.exceptions.MusicServiceException;
38 import org.onap.music.main.MusicUtil;
39 import com.datastax.driver.core.DataType;
40 import javassist.CodeConverter.ArrayAccessReplacementMethodNames;
41
42 public class MusicUtilTest {
43
44     @Test
45     public void testGetCassName() {
46         MusicUtil.setCassName("Cassandra");
47         assertTrue(MusicUtil.getCassName().equals("Cassandra"));
48     }
49
50     @Test
51     public void testGetCassPwd() {
52         MusicUtil.setCassPwd("Cassandra");
53         assertTrue(MusicUtil.getCassPwd().equals("Cassandra"));
54     }
55
56     @Test
57     public void testGetAafEndpointUrl() {
58         MusicUtil.setAafEndpointUrl("url");
59         assertEquals(MusicUtil.getAafEndpointUrl(),"url");
60     }
61
62     @Test
63     public void testGetMyId() {
64         MusicUtil.setMyId(1);
65         assertEquals(MusicUtil.getMyId(),1);
66     }
67
68     @Test
69     public void testGetAllIds() {
70         List<String> ids = new ArrayList<String>();
71         ids.add("1");
72         ids.add("2");
73         ids.add("3");
74         MusicUtil.setAllIds(ids);
75         assertEquals(MusicUtil.getAllIds().get(0),"1");
76     }
77
78 //    @Test
79 //    public void testGetPublicIp() {
80 //        MusicUtil.setPublicIp("10.0.0.1");
81 //        assertEquals(MusicUtil.getPublicIp(),"10.0.0.1");
82 //    }
83
84     @Test
85     public void testGetAllPublicIps() {
86         List<String> ips = new ArrayList<String>();
87         ips.add("10.0.0.1");
88         ips.add("10.0.0.2");
89         ips.add("10.0.0.3");
90         MusicUtil.setAllPublicIps(ips);
91         assertEquals(MusicUtil.getAllPublicIps().get(1),"10.0.0.2");
92     }
93
94     @Test
95     public void testGetPropkeys() {
96         assertEquals(MusicUtil.getPropkeys()[2],"debug");
97     }
98
99     @Test
100     public void testGetMusicRestIp() {
101         MusicUtil.setMusicRestIp("localhost");
102         assertEquals(MusicUtil.getMusicRestIp(),"localhost");
103     }
104
105     @Test
106     public void testGetMusicPropertiesFilePath() {
107         MusicUtil.setMusicPropertiesFilePath("filepath");
108         assertEquals(MusicUtil.getMusicPropertiesFilePath(),"filepath");
109     }
110
111     @Test
112     public void testGetDefaultLockLeasePeriod() {
113         MusicUtil.setDefaultLockLeasePeriod(5000);
114         assertEquals(MusicUtil.getDefaultLockLeasePeriod(),5000);
115     }
116
117     @Test
118     public void testIsDebug() {
119         MusicUtil.setDebug(true);
120         assertTrue(MusicUtil.isDebug());
121     }
122
123     @Test
124     public void testGetVersion() {
125         MusicUtil.setVersion("1.0.0");
126         assertEquals(MusicUtil.getVersion(),"1.0.0");
127     }
128
129     /*@Test
130     public void testGetMyZkHost() {
131         MusicUtil.setMyZkHost("10.0.0.2");
132         assertEquals(MusicUtil.getMyZkHost(),"10.0.0.2");
133     }*/
134
135     @Test
136     public void testGetMyCassaHost() {
137         MusicUtil.setMyCassaHost("10.0.0.2");
138         assertEquals(MusicUtil.getMyCassaHost(),"10.0.0.2");
139     }
140
141     @Test
142     public void testGetDefaultMusicIp() {
143         MusicUtil.setDefaultMusicIp("10.0.0.2");
144         assertEquals(MusicUtil.getDefaultMusicIp(),"10.0.0.2");
145     }
146
147 //    @Test
148 //    public void testGetTestType() {
149 //      fail("Not yet implemented"); // TODO
150 //    }
151
152     @Test
153     public void testIsValidQueryObject() {
154         PreparedQueryObject myQueryObject = new PreparedQueryObject();
155         myQueryObject.appendQueryString("select * from apple where type = ?");
156         myQueryObject.addValue("macintosh");
157         assertTrue(MusicUtil.isValidQueryObject(true,myQueryObject));
158
159         myQueryObject.appendQueryString("select * from apple");
160         assertTrue(MusicUtil.isValidQueryObject(false,myQueryObject));
161
162         myQueryObject.appendQueryString("select * from apple where type = ?");
163         assertFalse(MusicUtil.isValidQueryObject(true,myQueryObject));
164
165         myQueryObject = new PreparedQueryObject();
166         myQueryObject.appendQueryString("");
167         System.out.println("#######" + myQueryObject.getQuery().isEmpty());
168         assertFalse(MusicUtil.isValidQueryObject(false,myQueryObject));
169
170     
171     }
172
173     @Test
174     public void testConvertToCQLDataType() throws Exception {
175         Map<String,Object> myMap = new HashMap<String,Object>();
176         myMap.put("name","tom");
177         assertEquals(MusicUtil.convertToCQLDataType(DataType.varchar(),"Happy People"),"'Happy People'");
178         assertEquals(MusicUtil.convertToCQLDataType(DataType.uuid(),UUID.fromString("29dc2afa-c2c0-47ae-afae-e72a645308ab")),"29dc2afa-c2c0-47ae-afae-e72a645308ab");
179         assertEquals(MusicUtil.convertToCQLDataType(DataType.blob(),"Hi"),"Hi");
180         assertEquals(MusicUtil.convertToCQLDataType(DataType.map(DataType.varchar(),DataType.varchar()),myMap),"{'name':'tom'}");
181     }
182
183     @Test
184     public void testConvertToActualDataType() throws Exception {
185         assertEquals(MusicUtil.convertToActualDataType(DataType.varchar(),"Happy People"),"Happy People");
186         assertEquals(MusicUtil.convertToActualDataType(DataType.uuid(),"29dc2afa-c2c0-47ae-afae-e72a645308ab"),UUID.fromString("29dc2afa-c2c0-47ae-afae-e72a645308ab"));
187         assertEquals(MusicUtil.convertToActualDataType(DataType.varint(),"1234"),BigInteger.valueOf(Long.parseLong("1234")));
188         assertEquals(MusicUtil.convertToActualDataType(DataType.bigint(),"123"),Long.parseLong("123"));
189         assertEquals(MusicUtil.convertToActualDataType(DataType.cint(),"123"),Integer.parseInt("123"));
190         assertEquals(MusicUtil.convertToActualDataType(DataType.cfloat(),"123.01"),Float.parseFloat("123.01"));
191         assertEquals(MusicUtil.convertToActualDataType(DataType.cdouble(),"123.02"),Double.parseDouble("123.02"));
192         assertEquals(MusicUtil.convertToActualDataType(DataType.cboolean(),"true"),Boolean.parseBoolean("true"));
193         Map<String,Object> myMap = new HashMap<String,Object>();
194         myMap.put("name","tom");
195         assertEquals(MusicUtil.convertToActualDataType(DataType.map(DataType.varchar(),DataType.varchar()),myMap),myMap);
196
197     }
198
199     @Test
200     public void testJsonMaptoSqlString() throws Exception {
201         Map<String,Object> myMap = new HashMap<>();
202         myMap.put("name","tom");
203         myMap.put("value",5);
204         String result = MusicUtil.jsonMaptoSqlString(myMap,",");
205         assertTrue(result.contains("name"));
206         assertTrue(result.contains("value"));
207     }
208     
209     @Test
210     public void test_generateUUID() {
211         //this function shouldn't be in cachingUtil
212         System.out.println("Testing getUUID");
213         String uuid1 = MusicUtil.generateUUID();
214         String uuid2 = MusicUtil.generateUUID();
215         assertFalse(uuid1==uuid2);
216     }
217
218
219     @Test
220     public void testIsValidConsistency(){
221         assertTrue(MusicUtil.isValidConsistency("ALL"));
222         assertFalse(MusicUtil.isValidConsistency("TEST"));
223     }
224
225 }