use of edu.umass.cs.gnsclient.client.util.GuidEntry in project GNS by MobilityFirst.
the class RemoveGuidTest method test_10_RemoveGuidUsingAccount.
/**
*
*/
@Test
public void test_10_RemoveGuidUsingAccount() {
String guidName = "testGUID" + RandomString.randomString(12);
GuidEntry guid = null;
try {
guid = clientCommands.guidCreate(masterGuid, guidName);
} catch (ClientException | IOException e) {
Utils.failWithStackTrace("Exception while creating testGuid: " + e);
}
if (guid != null) {
System.out.println("testGuid is " + guid.toString());
try {
clientCommands.guidRemove(masterGuid, guid.getGuid());
} catch (ClientException | IOException e) {
Utils.failWithStackTrace("Exception while removing testGuid (" + guid.toString() + "): " + e);
}
try {
clientCommands.lookupGuidRecord(guid.getGuid());
Utils.failWithStackTrace("Lookup testGuid should have throw an exception.");
} catch (ClientException e) {
} catch (IOException e) {
Utils.failWithStackTrace("Exception while doing Lookup testGuid: " + e);
}
}
}
use of edu.umass.cs.gnsclient.client.util.GuidEntry in project GNS by MobilityFirst.
the class SelectTest method test_059_QuerySelectwithProjectionSomeFieldsNotAccessible.
/**
* Check a query select with a projection
*/
@Test
public void test_059_QuerySelectwithProjectionSomeFieldsNotAccessible() {
String fieldName = "testQueryProjectionSomeFieldsNotAccessible";
try {
for (int cnt = 0; cnt < 5; cnt++) {
String queryTestName = "queryTest-" + RandomString.randomString(12);
client.execute(GNSCommand.createGUID(masterGuid, queryTestName));
GuidEntry testEntry = GuidUtils.getGUIDKeys(queryTestName);
// Remove default all fields / all guids ACL;
client.execute(GNSCommand.aclRemove(AclAccessType.READ_WHITELIST, testEntry, GNSProtocol.ENTIRE_RECORD.toString(), GNSProtocol.ALL_GUIDS.toString()));
// Also remove masterGuid access to entire record
client.execute(GNSCommand.aclRemove(AclAccessType.READ_WHITELIST, testEntry, GNSProtocol.ENTIRE_RECORD.toString(), masterGuid.getGuid()));
// save them so we can delete them later
CREATED_GUIDS.add(testEntry);
JSONObject json = new JSONObject();
json.put(fieldName, Arrays.asList(25));
json.put("field1", "value1");
json.put("inaccessableField", "someValue");
client.execute(GNSCommand.update(testEntry.getGuid(), json, testEntry));
// Add masterguid access to fieldName so that the query will work
client.execute(GNSCommand.aclAdd(AclAccessType.READ_WHITELIST, testEntry, fieldName, masterGuid.getGuid()));
// Add masterguid access to field1
client.execute(GNSCommand.aclAdd(AclAccessType.READ_WHITELIST, testEntry, "field1", masterGuid.getGuid()));
// Set up the ACL so the masterGuid can't read this field
client.execute(GNSCommand.fieldCreateAcl(AclAccessType.READ_WHITELIST, testEntry, "inaccessableField", testEntry.getGuid()));
}
waitSettle(WAIT_SETTLE);
} catch (ClientException | IOException | JSONException e) {
Utils.failWithStackTrace("Exception while trying to create the guids: " + e);
}
try {
String query = "~" + fieldName + " : ($gt: 0)";
//JSONArray result = client.execute(GNSCommand.selectRecords(masterGuid, query, null)).getResultJSONArray();
JSONArray result = waitForQueryResults(query);
for (int i = 0; i < result.length(); i++) {
System.out.println(result.get(i).toString());
}
// best we can do should be at least 5, but possibly more objects in results
Assert.assertThat(result.length(), Matchers.greaterThanOrEqualTo(5));
// Make sure that one of them has the field we want and
Assert.assertTrue(result.getJSONObject(0).has("field1"));
// doesn't have the field we can't see
Assert.assertFalse(result.getJSONObject(0).has("inaccessableField"));
} catch (JSONException e) {
//} catch (ClientException | IOException | JSONException e) {
Utils.failWithStackTrace("Exception executing selectRecords: " + e);
}
}
use of edu.umass.cs.gnsclient.client.util.GuidEntry in project GNS by MobilityFirst.
the class SelectTest method test_058_QuerySelectwithProjectionAll.
/**
* Check a query select with a projection of all fields
*/
@Test
public void test_058_QuerySelectwithProjectionAll() {
String fieldName = "testQueryProjectionAll";
try {
for (int cnt = 0; cnt < 5; cnt++) {
String queryTestName = "queryTest-" + RandomString.randomString(12);
client.execute(GNSCommand.createGUID(masterGuid, queryTestName));
GuidEntry testEntry = GuidUtils.getGUIDKeys(queryTestName);
// Remove default all fields / all guids ACL;
client.execute(GNSCommand.aclRemove(AclAccessType.READ_WHITELIST, testEntry, GNSProtocol.ENTIRE_RECORD.toString(), GNSProtocol.ALL_GUIDS.toString()));
// save them so we can delete them later
CREATED_GUIDS.add(testEntry);
JSONObject json = new JSONObject();
json.put(fieldName, Arrays.asList(25));
json.put("field1", "value1");
JSONObject subJson = new JSONObject();
subJson.put("subfield", "subvalue1");
json.put("nested", subJson);
client.execute(GNSCommand.update(testEntry.getGuid(), json, testEntry));
}
waitSettle(WAIT_SETTLE);
} catch (ClientException | IOException | JSONException e) {
Utils.failWithStackTrace("Exception while trying to create the guids: " + e);
}
try {
String query = "~" + fieldName + " : ($gt: 0)";
JSONArray result = waitForQueryResults(query);
//JSONArray result = client.execute(GNSCommand.selectRecords(masterGuid, query, null)).getResultJSONArray();
for (int i = 0; i < result.length(); i++) {
System.out.println(result.get(i).toString());
}
// best we can do should be at least 5, but possibly more objects in results
Assert.assertThat(result.length(), Matchers.greaterThanOrEqualTo(5));
} catch (JSONException e) {
//} catch (ClientException | IOException | JSONException e) {
Utils.failWithStackTrace("Exception executing selectRecords: " + e);
}
}
use of edu.umass.cs.gnsclient.client.util.GuidEntry in project GNS by MobilityFirst.
the class ConsoleModule method useGnsDefaults.
/**
* Connect and try to find default GNSProtocol.GUID.toString() if defined.
*/
public void useGnsDefaults() {
GuidEntry guid = KeyPairUtils.getDefaultGuidEntry(getGnsInstance());
if (guid == null) {
return;
}
try {
printString("Looking for default GUID: " + guid + "\n");
new GuidUse(this).parse(guid.getEntityName());
} catch (Exception e) {
printString("Couldn't connect default GUID " + guid);
}
}
use of edu.umass.cs.gnsclient.client.util.GuidEntry in project GNS by MobilityFirst.
the class AccountDelete method parse.
@Override
public void parse(String commandText) throws Exception {
StringTokenizer st = new StringTokenizer(commandText.trim());
if ((st.countTokens() != 1)) {
wrongArguments();
return;
}
String aliasName = st.nextToken();
try {
GNSClientCommands gnsClient = module.getGnsClient();
try {
gnsClient.lookupGuid(aliasName);
} catch (IOException | ClientException expected) {
printString("Alias " + aliasName + " doesn't exist.\n");
return;
}
GuidEntry myGuid = KeyPairUtils.getGuidEntry(module.getGnsInstance(), aliasName);
if (myGuid == null) {
printString("Unable to retrieve GUID for alias " + aliasName + "\n");
return;
}
gnsClient.accountGuidRemove(myGuid);
KeyPairUtils.removeKeyPair(module.getGnsInstance(), aliasName);
module.setCurrentGuidAndCheckForVerified(null);
module.setPromptString(ConsoleModule.CONSOLE_PROMPT + ">");
if (!module.isSilent()) {
printString("Removed account GUID " + myGuid.getGuid() + "\n");
}
} catch (ClientException | IOException e) {
printString("Failed to delete guid ( " + e + ")\n");
}
}
Aggregations