import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.junit.MockitoJUnitRunner;
-import org.onap.music.authentication.CachingUtil;
import org.onap.music.datastore.MusicDataStoreHandle;
import org.onap.music.datastore.PreparedQueryObject;
import org.onap.music.datastore.jsonobjects.JsonDelete;
Map<String, String> respMap = (Map<String, String>) response.getEntity();
assertEquals(ResultType.FAILURE, respMap.get("status"));
}
+
+ @Test
+ public void test1_createKeyspaceSuccess() throws Exception {
+ System.out.println("Testing successful creation and deletion of keyspace");
+ MusicUtil.setKeyspaceActive(true);
+
+ String keyspaceToCreate = "temp"+keyspaceName;
+
+
+ JsonKeySpace jsonKeyspace = new JsonKeySpace();
+ Map<String, String> consistencyInfo = new HashMap<>();
+ Map<String, Object> replicationInfo = new HashMap<>();
+ consistencyInfo.put("type", "eventual");
+ replicationInfo.put("class", "SimpleStrategy");
+ replicationInfo.put("replication_factor", 1);
+ jsonKeyspace.setConsistencyInfo(consistencyInfo);
+ jsonKeyspace.setDurabilityOfWrites("true");
+ //don't overwrite a keyspace we already have
+ jsonKeyspace.setKeyspaceName(keyspaceToCreate);
+ jsonKeyspace.setReplicationInfo(replicationInfo);
+ // Mockito.doNothing().when(http).addHeader(xLatestVersion, MusicUtil.getVersion());
+ Response response =
+ data.createKeySpace("1", "1", "1", null, authorization, appName, jsonKeyspace, keyspaceToCreate);
+ System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+ assertEquals(200, response.getStatus());
+ Map<String, String> respMap = (Map<String, String>) response.getEntity();
+ assertEquals(ResultType.SUCCESS, respMap.get("status"));
+
+ response = data.dropKeySpace("1", "1", "1", null, authorization, appName, keyspaceToCreate);
+ assertEquals(200, response.getStatus());
+ respMap = (Map<String, String>) response.getEntity();
+ assertEquals(ResultType.SUCCESS, respMap.get("status"));
+
+ //unset to not mess up any further tests
+ MusicUtil.setKeyspaceActive(false);
+ }
@Test
public void test3_createTable() throws Exception {
System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
assertEquals(200, response.getStatus());
}
+
+ @Test
+ public void test3_createTableNoBody() throws Exception {
+ System.out.println("Testing create table w/o body");
+
+ Response response = data.createTable("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName,
+ authorization, null, keyspaceName, tableName);
+ System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+ assertEquals(400, response.getStatus());
+ }
@Test
public void test3_createTableNoName() throws Exception {
System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
assertEquals(400, response.getStatus());
}
+
+ @Test
+ public void test3_createTableNoFields() throws Exception {
+ System.out.println("Testing create table without fields");
+ JsonTable jsonTable = new JsonTable();
+ Map<String, String> consistencyInfo = new HashMap<>();
+ consistencyInfo.put("type", "eventual");
+ jsonTable.setConsistencyInfo(consistencyInfo);
+ jsonTable.setKeyspaceName(keyspaceName);
+ jsonTable.setPrimaryKey("emp_name");
+ jsonTable.setTableName("");
+ Response response = data.createTable("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName,
+ authorization, jsonTable, keyspaceName, "");
+ System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+ assertEquals(400, response.getStatus());
+ }
@Test
assertEquals(400, response2.getStatus());
Map<String, String> respMap = (Map<String, String>) response2.getEntity();
assertEquals(ResultType.FAILURE, respMap.get("status"));
- assertEquals("Table " + keyspaceName + "." + tableNameDup + " already exists", respMap.get("error"));
+ assertEquals("AlreadyExistsException: Table " + keyspaceName + "." + tableNameDup + " already exists", respMap.get("error"));
}
- // Improper Auth
- @Test
- public void test3_createTable1() throws Exception {
- System.out.println("Testing create table w/ improper authentication");
- JsonTable jsonTable = new JsonTable();
- Map<String, String> consistencyInfo = new HashMap<>();
- Map<String, String> fields = new HashMap<>();
- fields.put("uuid", "text");
- fields.put("emp_name", "text");
- fields.put("emp_salary", "varint");
- fields.put("PRIMARY KEY", "(emp_name)");
- consistencyInfo.put("type", "eventual");
- jsonTable.setConsistencyInfo(consistencyInfo);
- jsonTable.setKeyspaceName(keyspaceName);
- jsonTable.setPrimaryKey("emp_name");
- jsonTable.setTableName(tableName);
- jsonTable.setFields(fields);
- Response response = data.createTable("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName,
- wrongAuthorization, jsonTable, keyspaceName, tableName);
- System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
- assertEquals(401, response.getStatus());
- }
-
- // Improper keyspace
- @Test
- public void test3_createTable3() throws Exception {
- System.out.println("Testing create table for wrong keyspace");
- JsonTable jsonTable = new JsonTable();
- Map<String, String> consistencyInfo = new HashMap<>();
- Map<String, String> fields = new HashMap<>();
- fields.put("uuid", "text");
- fields.put("emp_name", "text");
- fields.put("emp_salary", "varint");
- fields.put("PRIMARY KEY", "(emp_name)");
- consistencyInfo.put("type", "eventual");
- jsonTable.setConsistencyInfo(consistencyInfo);
- jsonTable.setKeyspaceName(keyspaceName);
- jsonTable.setPrimaryKey("emp_name");
- jsonTable.setTableName(tableName);
- jsonTable.setFields(fields);
- Response response = data.createTable("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName,
- authorization, jsonTable, "wrong", tableName);
- System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
- assertEquals(401, response.getStatus());
- }
// Improper parenthesis in key field
@Test
- public void test3_createTable_badParantesis() throws Exception {
+ public void test3_createTable_badParanthesis() throws Exception {
System.out.println("Testing malformed create table request");
String tableNameC = "testTable0";
JsonTable jsonTable = new JsonTable();
assertEquals(200, response.getStatus());
}
-
- // good clustering key, need to pass queryparameter
- @Test
- public void test3_createTableIndex_badAuth() throws Exception {
- System.out.println("Testing index in create table w/ wrong authorization");
- String tableNameC = "testTableCinx";
- JsonTable jsonTable = new JsonTable();
- Map<String, String> consistencyInfo = new HashMap<>();
- Map<String, String> fields = new HashMap<>();
- fields.put("uuid", "text");
- fields.put("emp_name", "text");
- fields.put("emp_salary", "varint");
- fields.put("PRIMARY KEY", "((emp_name),emp_salary)");
- consistencyInfo.put("type", "eventual");
- jsonTable.setConsistencyInfo(consistencyInfo);
- jsonTable.setKeyspaceName(keyspaceName);
- jsonTable.setTableName(tableNameC);
- jsonTable.setClusteringOrder("emp_salary ASC");
- jsonTable.setFields(fields);
- Response response = data.createTable("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName,
- authorization, jsonTable, keyspaceName, tableNameC);
- // if 200 print to log otherwise fail assertEquals(200, response.getStatus());
- // info.setQueryParameters("index_name=inx_uuid");
- Map<String, String> queryParametersMap = new HashMap<String, String>();
-
- queryParametersMap.put("index_name", "inxuuid");
- response = data.createIndex("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName,
- wrongAuthorization, keyspaceName, tableNameC, "uuid", info);
- System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
-
- assertEquals(401, response.getStatus());
- }
// create index without table name
@Test
assertEquals(200, response.getStatus());
}
+
+ @Test
+ public void test4_insertIntoTableNoBody() throws Exception {
+ System.out.println("Testing insert into table w/o body");
+ createTable();
+ Response response = data.insertIntoTable("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName,
+ authorization, null, keyspaceName, tableName);
+ System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+
+ assertEquals(400, response.getStatus());
+ }
+
+ @Test
+ public void test4_insertIntoTableNoaValues() throws Exception {
+ System.out.println("Testing insert into table");
+ createTable();
+ JsonInsert jsonInsert = new JsonInsert();
+ Map<String, String> consistencyInfo = new HashMap<>();
+ consistencyInfo.put("type", "eventual");
+ jsonInsert.setConsistencyInfo(consistencyInfo);
+ jsonInsert.setKeyspaceName(keyspaceName);
+ jsonInsert.setTableName(tableName);
+
+ Response response = data.insertIntoTable("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName,
+ authorization, jsonInsert, keyspaceName, tableName);
+ System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+ assertEquals(400, response.getStatus());
+ }
+
+ @Test
+ public void test4_insertIntoTableNoValues() throws Exception {
+ System.out.println("Testing insert into table");
+ createTable();
+ JsonInsert jsonInsert = new JsonInsert();
+ Map<String, String> consistencyInfo = new HashMap<>();
+ consistencyInfo.put("type", "eventual");
+ jsonInsert.setConsistencyInfo(consistencyInfo);
+ jsonInsert.setKeyspaceName(keyspaceName);
+ jsonInsert.setTableName(tableName);
+
+ Response response = data.insertIntoTable("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName,
+ authorization, jsonInsert, keyspaceName, tableName);
+ System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
+
+ assertEquals(400, response.getStatus());
+ }
+
@Test
public void test4_insertIntoTableCriticalNoLockID() throws Exception {
System.out.println("Testing critical insert into table without lockid");
assertEquals(200, response.getStatus());
}
- // Auth Error
- @Test
- public void test4_insertIntoTable3() throws Exception {
- System.out.println("Testing insert into table with bad credentials");
- createTable();
- JsonInsert jsonInsert = new JsonInsert();
- Map<String, String> consistencyInfo = new HashMap<>();
- Map<String, Object> values = new HashMap<>();
- values.put("uuid", "cfd66ccc-d857-4e90-b1e5-df98a3d40cd6");
- values.put("emp_name", "test1");
- values.put("emp_salary", 1500);
- consistencyInfo.put("type", "eventual");
- jsonInsert.setConsistencyInfo(consistencyInfo);
- jsonInsert.setKeyspaceName(keyspaceName);
- jsonInsert.setTableName(tableName);
- jsonInsert.setValues(values);
- Response response = data.insertIntoTable("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName,
- wrongAuthorization, jsonInsert, keyspaceName, tableName);
- System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
-
- assertEquals(401, response.getStatus());
- }
-
// Table wrong
@Test
public void test4_insertIntoTable4() throws Exception {
assertEquals(200, response.getStatus());
}
- @Test
- public void test5_updateTable_wrongAuth() throws Exception {
- System.out.println("Testing update table w/ wrong credentials");
- createTable();
- JsonUpdate jsonUpdate = new JsonUpdate();
- Map<String, String> consistencyInfo = new HashMap<>();
- Map<String, Object> values = new HashMap<>();
- values.put("emp_salary", 2500);
- consistencyInfo.put("type", "atomic");
- jsonUpdate.setConsistencyInfo(consistencyInfo);
- jsonUpdate.setKeyspaceName(keyspaceName);
- jsonUpdate.setTableName(tableName);
- jsonUpdate.setValues(values);
+ public void test5_updateTableNoBody() throws Exception {
+ System.out.println("Testing update table no body");
+ createTable();
+
Response response = data.updateTable("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName,
- wrongAuthorization, jsonUpdate, keyspaceName, tableName, info);
+ authorization, null, keyspaceName, tableName, info);
System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
- assertEquals(401, response.getStatus());
+ assertEquals(400, response.getStatus());
}
-
+
@Test
public void test5_updateTable_tableDNE() throws Exception {
System.out.println("Testing update table that does not exist");
assertEquals(200, response.getStatus());
}
- @Ignore
- @Test
- public void test5_updateTableAuthException1() throws Exception {
- System.out.println("Testing update table authentication error");
- createTable();
- JsonUpdate jsonUpdate = new JsonUpdate();
- Map<String, String> consistencyInfo = new HashMap<>();
- MultivaluedMap<String, String> row = new MultivaluedMapImpl();
- Map<String, Object> values = new HashMap<>();
- row.add("emp_name", "testname");
- values.put("emp_salary", 2500);
- consistencyInfo.put("type", "atomic");
- jsonUpdate.setConsistencyInfo(consistencyInfo);
- jsonUpdate.setKeyspaceName(keyspaceName);
- jsonUpdate.setTableName(tableName);
- jsonUpdate.setValues(values);
-
- Mockito.when(info.getQueryParameters()).thenReturn(row);
- String authDatax = ":";
- String authorizationx = new String(Base64.encode(authDatax.getBytes()));
- Response response = data.updateTable("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName,
- authorizationx, jsonUpdate, keyspaceName, tableName, info);
- System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
-
- assertEquals(401, response.getStatus());
- }
-
- @Ignore
- @Test
- public void test5_updateTableAuthEmpty() throws Exception {
- System.out.println("Testing update table without authentication");
- createTable();
-
- JsonUpdate jsonUpdate = new JsonUpdate();
- Map<String, String> consistencyInfo = new HashMap<>();
- MultivaluedMap<String, String> row = new MultivaluedMapImpl();
- Map<String, Object> values = new HashMap<>();
- row.add("emp_name", "testname");
- values.put("emp_salary", 2500);
- consistencyInfo.put("type", "atomic");
- jsonUpdate.setConsistencyInfo(consistencyInfo);
- jsonUpdate.setKeyspaceName(keyspaceName);
- jsonUpdate.setTableName(tableName);
- jsonUpdate.setValues(values);
-
- Mockito.when(info.getQueryParameters()).thenReturn(row);
- String authDatax = ":" + password;
- String authorizationx = new String(Base64.encode(authDatax.getBytes()));
- String appNamex = "xx";
- Response response = data.updateTable("1", "1", "1", "", appNamex, authorizationx, jsonUpdate, keyspaceName,
- tableName, info);
- System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
-
- assertEquals(401, response.getStatus());
- }
-
@Test
public void test6_critical_selectAtomic() throws Exception {
System.out.println("Testing critical select atomic");
Map<String, String> row0 = (Map<String, String>) result.get("row 0");
assertEquals("testname", row0.get("emp_name"));
assertEquals(BigInteger.valueOf(500), row0.get("emp_salary"));
- }
+ }
+
@Test
- public void test6_critical_selectCritical_nolockid() throws Exception {
- System.out.println("Testing critical select critical w/o lockid");
+ public void test6_critical_select() throws Exception {
+ System.out.println("Testing critical select w/o body");
createAndInsertIntoTable();
- JsonInsert jsonInsert = new JsonInsert();
- Map<String, String> consistencyInfo = new HashMap<>();
MultivaluedMap<String, String> row = new MultivaluedMapImpl();
row.add("emp_name", "testname");
- consistencyInfo.put("type", "critical");
- jsonInsert.setConsistencyInfo(consistencyInfo);
Mockito.when(info.getQueryParameters()).thenReturn(row);
Response response = data.selectCritical("1", "1", "1","abc66ccc-d857-4e90-b1e5-df98a3d40ce6",
- appName, authorization, jsonInsert, keyspaceName, tableName,info);
+ appName, authorization, null, keyspaceName, tableName,info);
HashMap<String,HashMap<String,Object>> map = (HashMap<String, HashMap<String, Object>>) response.getEntity();
HashMap<String, Object> result = map.get("result");
System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
assertEquals(400, response.getStatus());
}
-
+
+ // Added during merge?
@Test
- public void test6_critical_select_wrongAuth() throws Exception {
- System.out.println("Testing critical select w/ wrong authentication");
+ public void test6_critical_selectCritical_nolockid() throws Exception {
+ System.out.println("Testing critical select critical w/o lockid");
createAndInsertIntoTable();
JsonInsert jsonInsert = new JsonInsert();
Map<String, String> consistencyInfo = new HashMap<>();
- consistencyInfo.put("type", "atomic");
+ MultivaluedMap<String, String> row = new MultivaluedMapImpl();
+ row.add("emp_name", "testname");
+ consistencyInfo.put("type", "critical");
jsonInsert.setConsistencyInfo(consistencyInfo);
+ Mockito.when(info.getQueryParameters()).thenReturn(row);
Response response = data.selectCritical("1", "1", "1","abc66ccc-d857-4e90-b1e5-df98a3d40ce6",
- appName, wrongAuthorization, jsonInsert, keyspaceName, tableName,info);
+ appName, authorization, jsonInsert, keyspaceName, tableName,info);
+ HashMap<String,HashMap<String,Object>> map = (HashMap<String, HashMap<String, Object>>) response.getEntity();
+ HashMap<String, Object> result = map.get("result");
System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
- assertEquals(401, response.getStatus());
+ assertEquals(400, response.getStatus());
}
@Test
consistencyInfo.put("type", "atomic");
jsonSelect.setConsistencyInfo(consistencyInfo);
Mockito.when(info.getQueryParameters()).thenReturn(row);
- Response response = data.select("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName, authorization,
- keyspaceName, tableName, info);
+ Response response = data.selectWithCritical("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName, authorization,
+ null,keyspaceName, tableName, info);
HashMap<String, HashMap<String, Object>> map = (HashMap<String, HashMap<String, Object>>) response.getEntity();
HashMap<String, Object> result = map.get("result");
System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
assertEquals(BigInteger.valueOf(500), row0.get("emp_salary"));
}
- @Test
- public void test6_select_wrongAuth() throws Exception {
- System.out.println("Testing select w/ wrong authentication");
- createAndInsertIntoTable();
- JsonSelect jsonSelect = new JsonSelect();
- Map<String, String> consistencyInfo = new HashMap<>();
- consistencyInfo.put("type", "atomic");
- jsonSelect.setConsistencyInfo(consistencyInfo);
- Response response = data.select("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6",
- appName, wrongAuthorization, keyspaceName, tableName, info);
- System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
-
- assertEquals(401, response.getStatus());
- }
-
@Test
public void test6_select_nullTablename() throws Exception {
System.out.println("Testing select w/ null tablename");
Map<String, String> consistencyInfo = new HashMap<>();
consistencyInfo.put("type", "atomic");
jsonSelect.setConsistencyInfo(consistencyInfo);
- Response response = data.select("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6",
- appName, wrongAuthorization, keyspaceName, null, info);
+ Response response = data.selectWithCritical("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6",
+ appName, wrongAuthorization,null, keyspaceName, null, info);
System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
assertEquals(400, response.getStatus());
assertEquals(200, response.getStatus());
}
- @Test
- public void test6_deleteFromTable_wrongAuth() throws Exception {
- System.out.println("Testing delete from table");
- createAndInsertIntoTable();
- JsonDelete jsonDelete = new JsonDelete();
- Map<String, String> consistencyInfo = new HashMap<>();
- consistencyInfo.put("type", "atomic");
- jsonDelete.setConsistencyInfo(consistencyInfo);
- Response response = data.deleteFromTable("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName,
- wrongAuthorization, jsonDelete, keyspaceName, tableName, info);
- System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
- assertEquals(401, response.getStatus());
- }
-
@Test
public void test6_deleteFromTable_missingTablename() throws Exception {
System.out.println("Testing delete from table w/ null tablename");
assertEquals(200, response.getStatus());
}
- @Test
- public void test7_dropTable_wrongAuth() throws Exception {
- System.out.println("Testing drop table w/ wrong auth");
- createTable();
- JsonTable jsonTable = new JsonTable();
- Map<String, String> consistencyInfo = new HashMap<>();
- consistencyInfo.put("type", "atomic");
- jsonTable.setConsistencyInfo(consistencyInfo);
- Response response = data.dropTable("1", "1", "1", "abc66ccc-d857-4e90-b1e5-df98a3d40ce6", appName,
- wrongAuthorization, keyspaceName, tableName);
- System.out.println("Status: " + response.getStatus() + ". Entity " + response.getEntity());
-
- assertEquals(401, response.getStatus());
- }
-
@Test
public void test7_dropTable_nullTablename() throws Exception {
System.out.println("Testing drop table w/ null tablename");
query.addValue(MusicUtil.convertToActualDataType(DataType.text(), hashedpwd));
query.addValue(MusicUtil.convertToActualDataType(DataType.text(), userId));
query.addValue(MusicUtil.convertToActualDataType(DataType.cboolean(), isAAF));
- CachingUtil.updateMusicCache(keyspaceName, appName);
- CachingUtil.updateMusicValidateCache(appName, userId, hashedpwd);
MusicCore.eventualPut(query);
}