2 * ============LICENSE_START========================================== org.onap.music
3 * =================================================================== Copyright (c) 2017 AT&T
4 * Intellectual Property ===================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
6 * in compliance with the License. You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software distributed under the License
11 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12 * or implied. See the License for the specific language governing permissions and limitations under
15 * ============LICENSE_END=============================================
16 * ====================================================================
18 package org.onap.music.unittests;
20 import static org.junit.Assert.assertEquals;
21 import static org.junit.Assert.assertFalse;
22 import static org.junit.Assert.assertTrue;
24 import java.util.HashMap;
25 import java.util.List;
27 import java.util.UUID;
28 import javax.servlet.http.HttpServletResponse;
29 import javax.ws.rs.core.MultivaluedMap;
30 import javax.ws.rs.core.Response;
31 import javax.ws.rs.core.UriInfo;
32 import org.apache.curator.test.TestingServer;
33 import org.junit.AfterClass;
34 import org.junit.BeforeClass;
35 import org.junit.FixMethodOrder;
36 import org.junit.Test;
37 import org.junit.runner.RunWith;
38 import org.junit.runners.MethodSorters;
39 import org.mindrot.jbcrypt.BCrypt;
40 import org.mockito.Mock;
41 import org.mockito.Mockito;
42 import org.mockito.runners.MockitoJUnitRunner;
43 import org.onap.music.datastore.PreparedQueryObject;
44 import org.onap.music.datastore.jsonobjects.JsonDelete;
45 import org.onap.music.datastore.jsonobjects.JsonInsert;
46 import org.onap.music.datastore.jsonobjects.JsonKeySpace;
47 import org.onap.music.datastore.jsonobjects.JsonOnboard;
48 import org.onap.music.datastore.jsonobjects.JsonSelect;
49 import org.onap.music.datastore.jsonobjects.JsonTable;
50 import org.onap.music.datastore.jsonobjects.JsonUpdate;
51 import org.onap.music.lockingservice.MusicLockingService;
52 import org.onap.music.main.MusicCore;
53 import org.onap.music.main.MusicUtil;
54 import org.onap.music.main.ResultType;
55 import org.onap.music.rest.RestMusicAdminAPI;
56 import org.onap.music.rest.RestMusicDataAPI;
57 import org.onap.music.rest.RestMusicLocksAPI;
58 import com.datastax.driver.core.DataType;
59 import com.datastax.driver.core.ResultSet;
60 import com.datastax.driver.core.Row;
61 import com.sun.jersey.core.util.MultivaluedMapImpl;
63 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
64 @RunWith(MockitoJUnitRunner.class)
65 public class TestRestMusicData {
67 RestMusicDataAPI data = new RestMusicDataAPI();
68 RestMusicAdminAPI admin = new RestMusicAdminAPI();
69 RestMusicLocksAPI lock = new RestMusicLocksAPI();
70 static PreparedQueryObject testObject;
71 static TestingServer zkServer;
74 HttpServletResponse http;
79 static String appName = "TestApp";
80 static String userId = "TestUser";
81 static String password = "TestPassword";
82 static boolean isAAF = false;
83 static UUID uuid = UUID.fromString("abc66ccc-d857-4e90-b1e5-df98a3d40ce6");
84 static String keyspaceName = "testCassa";
85 static String tableName = "employees";
86 static String xLatestVersion = "X-latestVersion";
87 static String onboardUUID = null;
88 static String lockId = null;
89 static String lockName = "testCassa.employees.sample3";
92 public static void init() throws Exception {
94 MusicCore.mDstoreHandle = CassandraCQL.connectToEmbeddedCassandra();
95 zkServer = new TestingServer(2181, new File("/tmp/zk"));
96 MusicCore.mLockHandle = new MusicLockingService();
97 } catch (Exception e) {
103 public static void tearDownAfterClass() throws Exception {
104 System.out.println("After class");
105 testObject = new PreparedQueryObject();
106 testObject.appendQueryString("DROP KEYSPACE IF EXISTS " + keyspaceName);
107 MusicCore.eventualPut(testObject);
108 testObject = new PreparedQueryObject();
109 testObject.appendQueryString("DROP KEYSPACE IF EXISTS admin");
110 MusicCore.eventualPut(testObject);
111 MusicCore.mDstoreHandle.close();
112 MusicCore.mLockHandle.getzkLockHandle().close();
113 MusicCore.mLockHandle.close();
118 public void Test1_createKeyspace() throws Exception {
119 testObject = new PreparedQueryObject();
120 testObject.appendQueryString("CREATE KEYSPACE admin WITH REPLICATION = "
121 + "{'class' : 'SimpleStrategy' , "
122 + "'replication_factor': 1} AND DURABLE_WRITES = true");
123 MusicCore.eventualPut(testObject);
124 testObject = new PreparedQueryObject();
125 testObject.appendQueryString(
126 "CREATE TABLE admin.keyspace_master (" + " uuid uuid, keyspace_name text,"
127 + " application_name text, is_api boolean,"
128 + " password text, username text,"
129 + " is_aaf boolean, PRIMARY KEY (uuid)\n" + ");");
130 MusicCore.eventualPut(testObject);
132 testObject = new PreparedQueryObject();
133 testObject.appendQueryString(
134 "INSERT INTO admin.keyspace_master (uuid, keyspace_name, application_name, is_api, "
135 + "password, username, is_aaf) VALUES (?,?,?,?,?,?,?)");
136 testObject.addValue(MusicUtil.convertToActualDataType(DataType.uuid(), uuid));
137 testObject.addValue(MusicUtil.convertToActualDataType(DataType.text(),
138 MusicUtil.DEFAULTKEYSPACENAME));
139 testObject.addValue(MusicUtil.convertToActualDataType(DataType.text(), appName));
140 testObject.addValue(MusicUtil.convertToActualDataType(DataType.cboolean(), "True"));
141 testObject.addValue(MusicUtil.convertToActualDataType(DataType.text(), BCrypt.hashpw(password, BCrypt.gensalt())));
142 testObject.addValue(MusicUtil.convertToActualDataType(DataType.text(), userId));
143 testObject.addValue(MusicUtil.convertToActualDataType(DataType.cboolean(), isAAF));
144 MusicCore.eventualPut(testObject);
146 testObject = new PreparedQueryObject();
147 testObject.appendQueryString(
148 "INSERT INTO admin.keyspace_master (uuid, keyspace_name, application_name, is_api, "
149 + "password, username, is_aaf) VALUES (?,?,?,?,?,?,?)");
150 testObject.addValue(MusicUtil.convertToActualDataType(DataType.uuid(),
151 UUID.fromString("bbc66ccc-d857-4e90-b1e5-df98a3d40de6")));
152 testObject.addValue(MusicUtil.convertToActualDataType(DataType.text(),
153 MusicUtil.DEFAULTKEYSPACENAME));
154 testObject.addValue(MusicUtil.convertToActualDataType(DataType.text(), "TestApp1"));
155 testObject.addValue(MusicUtil.convertToActualDataType(DataType.cboolean(), "True"));
156 testObject.addValue(MusicUtil.convertToActualDataType(DataType.text(), BCrypt.hashpw(password, BCrypt.gensalt())));
157 testObject.addValue(MusicUtil.convertToActualDataType(DataType.text(), "TestUser1"));
158 testObject.addValue(MusicUtil.convertToActualDataType(DataType.cboolean(), isAAF));
159 MusicCore.eventualPut(testObject);
161 testObject = new PreparedQueryObject();
162 testObject.appendQueryString(
163 "select uuid from admin.keyspace_master where application_name = ? allow filtering");
164 testObject.addValue(MusicUtil.convertToActualDataType(DataType.text(), appName));
165 ResultSet rs = MusicCore.get(testObject);
166 List<Row> rows = rs.all();
167 if (rows.size() > 0) {
168 System.out.println("#######UUID is:" + rows.get(0).getUUID("uuid"));
173 public void Test2_createKeyspace() throws Exception {
174 JsonKeySpace jsonKeyspace = new JsonKeySpace();
175 Map<String, String> consistencyInfo = new HashMap<>();
176 Map<String, Object> replicationInfo = new HashMap<>();
177 consistencyInfo.put("type", "eventual");
178 replicationInfo.put("class", "SimpleStrategy");
179 replicationInfo.put("replication_factor", 1);
180 jsonKeyspace.setConsistencyInfo(consistencyInfo);
181 jsonKeyspace.setDurabilityOfWrites("true");
182 jsonKeyspace.setKeyspaceName(keyspaceName);
183 jsonKeyspace.setReplicationInfo(replicationInfo);
184 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
185 Response response = data.createKeySpace("1", "1", "1", null, appName, userId,
186 password, jsonKeyspace, keyspaceName);
187 System.out.println("#######status is " + response.getStatus());
188 System.out.println("Entity" + response.getEntity());
189 assertEquals(200,response.getStatus());
193 public void Test2_createKeyspace0() throws Exception {
194 JsonKeySpace jsonKeyspace = new JsonKeySpace();
195 Map<String, String> consistencyInfo = new HashMap<>();
196 Map<String, Object> replicationInfo = new HashMap<>();
197 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
198 Response response = data.createKeySpace("1", "1", "1", null, appName, userId,
199 password, jsonKeyspace, keyspaceName);
200 System.out.println("#######status is " + response.getStatus());
201 System.out.println("Entity" + response.getEntity());
202 assertEquals(400,response.getStatus());
204 //MusicCore.autheticateUser
206 public void Test2_createKeyspace01() throws Exception {
207 JsonKeySpace jsonKeyspace = new JsonKeySpace();
208 Map<String, String> consistencyInfo = new HashMap<>();
209 Map<String, Object> replicationInfo = new HashMap<>();
210 String appName1 = "test";
211 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
212 Response response = data.createKeySpace("1", "1", "1", null, appName1, userId,
213 password, jsonKeyspace, keyspaceName);
214 System.out.println("#######status is " + response.getStatus());
215 System.out.println("Entity" + response.getEntity());
216 assertEquals(401,response.getStatus());
220 public void Test3_createKeyspace1() throws Exception {
221 JsonKeySpace jsonKeyspace = new JsonKeySpace();
222 Map<String, String> consistencyInfo = new HashMap<>();
223 Map<String, Object> replicationInfo = new HashMap<>();
224 consistencyInfo.put("type", "eventual");
225 replicationInfo.put("class", "SimpleStrategy");
226 replicationInfo.put("replication_factor", 1);
227 jsonKeyspace.setConsistencyInfo(consistencyInfo);
228 jsonKeyspace.setDurabilityOfWrites("true");
229 jsonKeyspace.setKeyspaceName("TestApp1");
230 jsonKeyspace.setReplicationInfo(replicationInfo);
231 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
232 Response response = data.createKeySpace("1", "1", "1", null, "TestApp1",
233 "TestUser1", password, jsonKeyspace, keyspaceName);
234 System.out.println("#######status is " + response.getStatus());
235 System.out.println("Entity" + response.getEntity());
236 assertEquals(400,response.getStatus());
240 public void Test3_createTable() throws Exception {
241 JsonTable jsonTable = new JsonTable();
242 Map<String, String> consistencyInfo = new HashMap<>();
243 Map<String, String> fields = new HashMap<>();
244 fields.put("uuid", "text");
245 fields.put("emp_name", "text");
246 fields.put("emp_salary", "varint");
247 fields.put("PRIMARY KEY", "(emp_name)");
248 consistencyInfo.put("type", "eventual");
249 jsonTable.setConsistencyInfo(consistencyInfo);
250 jsonTable.setKeyspaceName(keyspaceName);
251 jsonTable.setPrimaryKey("emp_name");
252 jsonTable.setTableName(tableName);
253 jsonTable.setFields(fields);
254 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
255 Response response = data.createTable("1", "1", "1",
256 "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName, userId, password,
257 jsonTable, keyspaceName, tableName);
258 System.out.println("#######status is " + response.getStatus());
259 System.out.println("Entity" + response.getEntity());
260 assertEquals(200, response.getStatus());
265 public void Test3_createTable1() throws Exception {
266 JsonTable jsonTable = new JsonTable();
267 Map<String, String> consistencyInfo = new HashMap<>();
268 Map<String, String> fields = new HashMap<>();
269 fields.put("uuid", "text");
270 fields.put("emp_name", "text");
271 fields.put("emp_salary", "varint");
272 fields.put("PRIMARY KEY", "(emp_name)");
273 consistencyInfo.put("type", "eventual");
274 jsonTable.setConsistencyInfo(consistencyInfo);
275 jsonTable.setKeyspaceName(keyspaceName);
276 jsonTable.setPrimaryKey("emp_name");
277 jsonTable.setTableName(tableName);
278 jsonTable.setFields(fields);
279 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
280 Response response = data.createTable("1", "1", "1",
281 "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName, userId, "wrong",
282 jsonTable, keyspaceName, tableName);
283 System.out.println("#######status is " + response.getStatus());
284 System.out.println("Entity" + response.getEntity());
285 assertEquals(401, response.getStatus());
290 public void Test3_createTable2() throws Exception {
291 JsonTable jsonTable = new JsonTable();
292 Map<String, String> consistencyInfo = new HashMap<>();
293 Map<String, String> fields = new HashMap<>();
294 fields.put("uuid", "text");
295 fields.put("emp_name", "text");
296 fields.put("emp_salary", "varint");
297 fields.put("PRIMARY KEY", "(emp_name)");
298 consistencyInfo.put("type", "eventual");
299 jsonTable.setConsistencyInfo(consistencyInfo);
300 jsonTable.setKeyspaceName(keyspaceName);
301 jsonTable.setPrimaryKey("emp_name");
302 jsonTable.setTableName(tableName);
303 jsonTable.setFields(fields);
304 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
305 Response response = data.createTable("1", "1", "1",
306 "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName, userId, password,
307 jsonTable, "wrong", tableName);
308 System.out.println("#######status is " + response.getStatus());
309 System.out.println("Entity" + response.getEntity());
310 assertEquals(401, response.getStatus());
316 public void Test4_insertIntoTable() throws Exception {
317 JsonInsert jsonInsert = new JsonInsert();
318 Map<String, String> consistencyInfo = new HashMap<>();
319 Map<String, Object> values = new HashMap<>();
320 values.put("uuid", "cfd66ccc-d857-4e90-b1e5-df98a3d40cd6");
321 values.put("emp_name", "testName");
322 values.put("emp_salary", 500);
323 consistencyInfo.put("type", "eventual");
324 jsonInsert.setConsistencyInfo(consistencyInfo);
325 jsonInsert.setKeyspaceName(keyspaceName);
326 jsonInsert.setTableName(tableName);
327 jsonInsert.setValues(values);
328 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
329 Response response = data.insertIntoTable("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6",
330 appName, userId, password, jsonInsert, keyspaceName, tableName);
331 assertEquals(200, response.getStatus());
335 public void Test4_insertIntoTable2() throws Exception {
336 JsonInsert jsonInsert = new JsonInsert();
337 Map<String, String> consistencyInfo = new HashMap<>();
338 Map<String, Object> values = new HashMap<>();
339 values.put("uuid", "cfd66ccc-d857-4e90-b1e5-df98a3d40cd6");
340 values.put("emp_name", "test1");
341 values.put("emp_salary", 1500);
342 consistencyInfo.put("type", "eventual");
343 jsonInsert.setConsistencyInfo(consistencyInfo);
344 jsonInsert.setKeyspaceName(keyspaceName);
345 jsonInsert.setTableName(tableName);
346 jsonInsert.setValues(values);
347 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
348 Response response = data.insertIntoTable("1", "1", "1",
349 "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName, userId, password,
350 jsonInsert, keyspaceName, tableName);
351 assertEquals(200, response.getStatus());
356 public void Test4_insertIntoTable3() throws Exception {
357 JsonInsert jsonInsert = new JsonInsert();
358 Map<String, String> consistencyInfo = new HashMap<>();
359 Map<String, Object> values = new HashMap<>();
360 values.put("uuid", "cfd66ccc-d857-4e90-b1e5-df98a3d40cd6");
361 values.put("emp_name", "test1");
362 values.put("emp_salary", 1500);
363 consistencyInfo.put("type", "eventual");
364 jsonInsert.setConsistencyInfo(consistencyInfo);
365 jsonInsert.setKeyspaceName(keyspaceName);
366 jsonInsert.setTableName(tableName);
367 jsonInsert.setValues(values);
368 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
369 Response response = data.insertIntoTable("1", "1", "1",
370 "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName, userId, "wrong",
371 jsonInsert, keyspaceName, tableName);
372 assertEquals(401, response.getStatus());
377 public void Test4_insertIntoTable4() throws Exception {
378 JsonInsert jsonInsert = new JsonInsert();
379 Map<String, String> consistencyInfo = new HashMap<>();
380 Map<String, Object> values = new HashMap<>();
381 values.put("uuid", "cfd66ccc-d857-4e90-b1e5-df98a3d40cd6");
382 values.put("emp_name", "test1");
383 values.put("emp_salary", 1500);
384 consistencyInfo.put("type", "eventual");
385 jsonInsert.setConsistencyInfo(consistencyInfo);
386 jsonInsert.setKeyspaceName(keyspaceName);
387 jsonInsert.setTableName(tableName);
388 jsonInsert.setValues(values);
389 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
390 Response response = data.insertIntoTable("1", "1", "1",
391 "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName, userId, password,
392 jsonInsert, keyspaceName, "wrong");
393 assertEquals(400, response.getStatus());
399 public void Test5_updateTable() throws Exception {
400 JsonUpdate jsonUpdate = new JsonUpdate();
401 Map<String, String> consistencyInfo = new HashMap<>();
402 MultivaluedMap<String, String> row = new MultivaluedMapImpl();
403 Map<String, Object> values = new HashMap<>();
404 row.add("emp_name", "testName");
405 values.put("emp_salary", 2500);
406 consistencyInfo.put("type", "atomic");
407 jsonUpdate.setConsistencyInfo(consistencyInfo);
408 jsonUpdate.setKeyspaceName(keyspaceName);
409 jsonUpdate.setTableName(tableName);
410 jsonUpdate.setValues(values);
411 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
412 Mockito.when(info.getQueryParameters()).thenReturn(row);
413 Response response = data.updateTable("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName,
414 userId, password, jsonUpdate, keyspaceName, tableName, info);
415 assertEquals(200, response.getStatus());
419 public void Test6_select() throws Exception {
420 JsonSelect jsonSelect = new JsonSelect();
421 Map<String, String> consistencyInfo = new HashMap<>();
422 MultivaluedMap<String, String> row = new MultivaluedMapImpl();
423 row.add("emp_name", "testName");
424 consistencyInfo.put("type", "atomic");
425 jsonSelect.setConsistencyInfo(consistencyInfo);
426 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
427 Mockito.when(info.getQueryParameters()).thenReturn(row);
428 Response response = data.select("1", "1", "1","abc66ccc-d857-4e90-b1e5-df98a3d40ce6",
429 appName, userId, password, keyspaceName, tableName, info);
430 HashMap<String,HashMap<String,Object>> map = (HashMap<String, HashMap<String, Object>>) response.getEntity();
431 HashMap<String, Object> result = map.get("result");
432 assertEquals("2500", ((HashMap<String,Object>) result.get("row 0")).get("emp_salary").toString());
436 public void Test6_selectCritical() throws Exception {
437 JsonInsert jsonInsert = new JsonInsert();
438 Map<String, String> consistencyInfo = new HashMap<>();
439 MultivaluedMap<String, String> row = new MultivaluedMapImpl();
440 row.add("emp_name", "testName");
441 consistencyInfo.put("type", "atomic");
442 jsonInsert.setConsistencyInfo(consistencyInfo);
443 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
444 Mockito.when(info.getQueryParameters()).thenReturn(row);
445 Response response = data.selectCritical("1", "1", "1","abc66ccc-d857-4e90-b1e5-df98a3d40ce6",
446 appName, userId, password, jsonInsert, keyspaceName, tableName,info);
447 HashMap<String,HashMap<String,Object>> map = (HashMap<String, HashMap<String, Object>>) response.getEntity();
448 HashMap<String, Object> result = map.get("result");
449 assertEquals("2500", ((HashMap<String,Object>) result.get("row 0")).get("emp_salary").toString());
453 public void Test6_deleteFromTable() throws Exception {
454 JsonDelete jsonDelete = new JsonDelete();
455 Map<String, String> consistencyInfo = new HashMap<>();
456 MultivaluedMap<String, String> row = new MultivaluedMapImpl();
457 row.add("emp_name", "test1");
458 consistencyInfo.put("type", "atomic");
459 jsonDelete.setConsistencyInfo(consistencyInfo);
460 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
461 Mockito.when(info.getQueryParameters()).thenReturn(row);
462 Response response = data.deleteFromTable("1", "1", "1",
463 "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName, userId, password,
464 jsonDelete, keyspaceName, tableName, info);
465 assertEquals(200, response.getStatus());
470 public void Test6_deleteFromTable1() throws Exception {
471 JsonDelete jsonDelete = new JsonDelete();
472 Map<String, String> consistencyInfo = new HashMap<>();
473 MultivaluedMap<String, String> row = new MultivaluedMapImpl();
474 consistencyInfo.put("type", "atomic");
475 jsonDelete.setConsistencyInfo(consistencyInfo);
476 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
477 Mockito.when(info.getQueryParameters()).thenReturn(row);
478 Response response = data.deleteFromTable("1", "1", "1",
479 "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName, userId, password,
480 jsonDelete, keyspaceName, tableName, info);
481 assertEquals(400, response.getStatus());
486 public void Test6_deleteFromTable2() throws Exception {
487 JsonDelete jsonDelete = new JsonDelete();
488 Map<String, String> consistencyInfo = new HashMap<>();
489 MultivaluedMap<String, String> row = new MultivaluedMapImpl();
490 row.add("emp_name", "test1");
491 consistencyInfo.put("type", "atomic");
492 jsonDelete.setConsistencyInfo(consistencyInfo);
493 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
494 Mockito.when(info.getQueryParameters()).thenReturn(row);
495 Response response = data.deleteFromTable("1", "1", "1",
496 "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName, userId, password,
497 null, keyspaceName, tableName, info);
498 assertEquals(400, response.getStatus());
502 public void Test7_dropTable() throws Exception {
503 JsonTable jsonTable = new JsonTable();
504 Map<String, String> consistencyInfo = new HashMap<>();
505 consistencyInfo.put("type", "atomic");
506 jsonTable.setConsistencyInfo(consistencyInfo);
507 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
508 Response response = data.dropTable("1", "1", "1",
509 "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName, userId, password,
510 keyspaceName, tableName);
511 assertEquals(200, response.getStatus());
515 public void Test8_deleteKeyspace() throws Exception {
516 JsonKeySpace jsonKeyspace = new JsonKeySpace();
517 Map<String, String> consistencyInfo = new HashMap<>();
518 Map<String, Object> replicationInfo = new HashMap<>();
519 consistencyInfo.put("type", "eventual");
520 replicationInfo.put("class", "SimpleStrategy");
521 replicationInfo.put("replication_factor", 1);
522 jsonKeyspace.setConsistencyInfo(consistencyInfo);
523 jsonKeyspace.setDurabilityOfWrites("true");
524 jsonKeyspace.setKeyspaceName("TestApp1");
525 jsonKeyspace.setReplicationInfo(replicationInfo);
526 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
527 Response response = data.dropKeySpace("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6",
528 appName, userId, password, keyspaceName);
529 assertEquals(200, response.getStatus());
533 public void Test8_deleteKeyspace2() throws Exception {
534 JsonKeySpace jsonKeyspace = new JsonKeySpace();
535 Map<String, String> consistencyInfo = new HashMap<>();
536 Map<String, Object> replicationInfo = new HashMap<>();
537 consistencyInfo.put("type", "eventual");
538 replicationInfo.put("class", "SimpleStrategy");
539 replicationInfo.put("replication_factor", 1);
540 jsonKeyspace.setConsistencyInfo(consistencyInfo);
541 jsonKeyspace.setDurabilityOfWrites("true");
542 jsonKeyspace.setKeyspaceName("TestApp1");
543 jsonKeyspace.setReplicationInfo(replicationInfo);
544 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
545 Response response = data.dropKeySpace("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6",
546 appName, userId, "wrong", keyspaceName);
547 assertEquals(401, response.getStatus());
551 public void Test8_deleteKeyspace3() throws Exception {
552 JsonKeySpace jsonKeyspace = new JsonKeySpace();
553 Map<String, String> consistencyInfo = new HashMap<>();
554 Map<String, Object> replicationInfo = new HashMap<>();
555 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
556 Response response = data.dropKeySpace("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6",
557 appName, userId, password, keyspaceName);
558 assertEquals(400, response.getStatus());
564 public void Test6_onboard() throws Exception {
565 JsonOnboard jsonOnboard = new JsonOnboard();
566 jsonOnboard.setAppname("TestApp2");
567 jsonOnboard.setIsAAF("false");
568 jsonOnboard.setUserId("TestUser2");
569 jsonOnboard.setPassword("TestPassword2");
570 Map<String, Object> resultMap = (Map<String, Object>) admin.onboardAppWithMusic(jsonOnboard).getEntity();
571 resultMap.containsKey("success");
572 onboardUUID = resultMap.get("Generated AID").toString();
573 assertEquals("Your application TestApp2 has been onboarded with MUSIC.", resultMap.get("Success"));
577 public void Test6_onboard1() throws Exception {
578 JsonOnboard jsonOnboard = new JsonOnboard();
579 jsonOnboard.setIsAAF("false");
580 jsonOnboard.setUserId("TestUser2");
581 jsonOnboard.setPassword("TestPassword2");
582 Map<String, Object> resultMap = (Map<String, Object>) admin.onboardAppWithMusic(jsonOnboard).getEntity();
583 resultMap.containsKey("success");
584 System.out.println("--->" + resultMap.toString());
585 assertEquals("Unauthorized: Please check the request parameters. Some of the required values appName(ns), userId, password, isAAF are missing.", resultMap.get("Exception"));
590 public void Test7_onboardSearch() throws Exception {
591 JsonOnboard jsonOnboard = new JsonOnboard();
592 jsonOnboard.setAppname("TestApp2");
593 jsonOnboard.setIsAAF("false");
594 jsonOnboard.setAid(onboardUUID);
595 Map<String, Object> resultMap = (Map<String, Object>) admin.getOnboardedInfoSearch(jsonOnboard).getEntity();
596 resultMap.containsKey("success");
597 assertEquals(MusicUtil.DEFAULTKEYSPACENAME, resultMap.get(onboardUUID));
603 public void Test7_onboardSearch1() throws Exception {
604 JsonOnboard jsonOnboard = new JsonOnboard();
605 jsonOnboard.setIsAAF("false");
606 jsonOnboard.setAid(onboardUUID);
607 Map<String, Object> resultMap = (Map<String, Object>) admin.getOnboardedInfoSearch(jsonOnboard).getEntity();
608 System.out.println("--->" + resultMap.toString());
609 resultMap.containsKey("success");
610 assertEquals(MusicUtil.DEFAULTKEYSPACENAME, resultMap.get(onboardUUID));
615 public void Test8_onboardUpdate() throws Exception {
616 JsonOnboard jsonOnboard = new JsonOnboard();
617 jsonOnboard.setIsAAF("false");
618 jsonOnboard.setUserId("TestUser3");
619 jsonOnboard.setPassword("TestPassword3");
620 jsonOnboard.setAid(onboardUUID);
621 Map<String, Object> resultMap = (Map<String, Object>) admin.updateOnboardApp(jsonOnboard).getEntity();
622 System.out.println("--->" + resultMap.toString());
623 resultMap.containsKey("success");
624 assertEquals("Your application has been updated successfully", resultMap.get("Success"));
629 public void Test8_onboardUpdate1() throws Exception {
630 JsonOnboard jsonOnboard = new JsonOnboard();
631 jsonOnboard.setIsAAF("false");
632 jsonOnboard.setUserId("TestUser3");
633 jsonOnboard.setPassword("TestPassword3");
634 Map<String, Object> resultMap = (Map<String, Object>) admin.updateOnboardApp(jsonOnboard).getEntity();
635 System.out.println("--->" + resultMap.toString());
636 resultMap.containsKey("success");
637 assertEquals("Please make sure Aid is present", resultMap.get("Exception"));
642 public void Test8_onboardUpdate2() throws Exception {
643 JsonOnboard jsonOnboard = new JsonOnboard();
644 jsonOnboard.setAppname("TestApp2");
645 jsonOnboard.setIsAAF("false");
646 jsonOnboard.setUserId("TestUser3");
647 jsonOnboard.setPassword("TestPassword3");
648 jsonOnboard.setAid(onboardUUID);
649 Map<String, Object> resultMap = (Map<String, Object>) admin.updateOnboardApp(jsonOnboard).getEntity();
650 resultMap.containsKey("success");
651 System.out.println("--->" + resultMap.toString());
652 assertEquals("Application TestApp2 has already been onboarded. Please contact admin.", resultMap.get("Exception"));
657 public void Test8_onboardUpdate3() throws Exception {
658 JsonOnboard jsonOnboard = new JsonOnboard();
659 jsonOnboard.setAid(onboardUUID);
660 Map<String, Object> resultMap = (Map<String, Object>) admin.updateOnboardApp(jsonOnboard).getEntity();
661 assertTrue(resultMap.containsKey("Exception") );
665 public void Test9_onboardDelete() throws Exception {
666 JsonOnboard jsonOnboard = new JsonOnboard();
667 jsonOnboard.setAppname("TestApp2");
668 jsonOnboard.setAid(onboardUUID);
669 Map<String, Object> resultMap = (Map<String, Object>) admin.deleteOnboardApp(jsonOnboard).getEntity();
670 resultMap.containsKey("success");
671 assertEquals("Your application has been deleted successfully", resultMap.get("Success"));
675 public void Test9_onboardDelete1() throws Exception {
676 JsonOnboard jsonOnboard = new JsonOnboard();
677 Map<String, Object> resultMap = (Map<String, Object>) admin.deleteOnboardApp(jsonOnboard).getEntity();
678 assertTrue(resultMap.containsKey("Exception"));
682 public void Test3_createLockReference() throws Exception {
683 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
684 Map<String, Object> resultMap = (Map<String, Object>) lock.createLockReference(lockName,"1","1", null, appName, userId, password).getEntity();
685 @SuppressWarnings("unchecked")
686 Map<String, Object> resultMap1 = (Map<String, Object>) resultMap.get("lock");
687 lockId = (String) resultMap1.get("lock");
688 assertEquals(ResultType.SUCCESS, resultMap.get("status"));
692 public void Test4_accquireLock() throws Exception {
693 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
694 Map<String, Object> resultMap = (Map<String, Object>) lock.accquireLock(lockId,"1","1", null, appName, userId, password).getEntity();
695 assertEquals(ResultType.SUCCESS, resultMap.get("status"));
699 public void Test5_currentLockHolder() throws Exception {
700 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
701 Map<String, Object> resultMap = (Map<String, Object>) lock.currentLockHolder(lockName,"1","1", null, appName, userId, password).getEntity();
702 assertEquals(ResultType.SUCCESS, resultMap.get("status"));
706 public void Test7_unLock() throws Exception {
707 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
708 Map<String, Object> resultMap = (Map<String, Object>) lock.unLock(lockId,"1","1", null, appName, userId, password).getEntity();
709 assertEquals(ResultType.SUCCESS, resultMap.get("status"));
713 public void Test8_delete() throws Exception {
714 Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
715 Map<String, Object> resultMap = (Map<String, Object>) lock.deleteLock(lockName,"1","1", null, appName, userId, password).getEntity();
716 assertEquals(ResultType.SUCCESS, resultMap.get("status"));