/**
* Test getting the collection of info for a user.
*/
public void testGetUserInfoCollection() throws Exception {
User savedUser = null;
try {
User newUser = identityService.newUser("testuser");
newUser.setFirstName("Fred");
newUser.setLastName("McDonald");
newUser.setEmail("no-reply@activiti.org");
identityService.saveUser(newUser);
savedUser = newUser;
identityService.setUserInfo(newUser.getId(), "key1", "Value 1");
identityService.setUserInfo(newUser.getId(), "key2", "Value 2");
CloseableHttpResponse response = executeRequest(new HttpGet(SERVER_URL_PREFIX +
RestUrls.createRelativeResourceUrl(RestUrls.URL_USER_INFO_COLLECTION, newUser.getId())), HttpStatus.SC_OK);
JsonNode responseNode = objectMapper.readTree(response.getEntity().getContent());
closeResponse(response);
assertNotNull(responseNode);
assertTrue(responseNode.isArray());
assertEquals(2, responseNode.size());
boolean foundFirst = false;
boolean foundSecond = false;
for (int i=0; i<responseNode.size(); i++) {
ObjectNode info = (ObjectNode) responseNode.get(i);
assertNotNull(info.get("key").textValue());
assertNotNull(info.get("url").textValue());
if (info.get("key").textValue().equals("key1")) {
foundFirst = true;
assertTrue(info.get("url").textValue().endsWith(RestUrls.createRelativeResourceUrl(
RestUrls.URL_USER_INFO, newUser.getId(), "key1")));
} else if (info.get("key").textValue().equals("key2")) {
assertTrue(info.get("url").textValue().endsWith(RestUrls.createRelativeResourceUrl(
RestUrls.URL_USER_INFO, newUser.getId(), "key2")));
foundSecond = true;
}
}
assertTrue(foundFirst);
assertTrue(foundSecond);