示例#1
0
  @Test
  public void attributes() {
    UserRepresentation user1 = new UserRepresentation();
    user1.setUsername("user1");
    user1.singleAttribute("attr1", "value1user1");
    user1.singleAttribute("attr2", "value2user1");

    Response response = realm.users().create(user1);
    String user1Id = ApiUtil.getCreatedId(response);
    response.close();

    UserRepresentation user2 = new UserRepresentation();
    user2.setUsername("user2");
    user2.singleAttribute("attr1", "value1user2");
    List<String> vals = new ArrayList<>();
    vals.add("value2user2");
    vals.add("value2user2_2");
    user2.getAttributesAsListValues().put("attr2", vals);

    response = realm.users().create(user2);
    String user2Id = ApiUtil.getCreatedId(response);
    response.close();
    user1 = realm.users().get(user1Id).toRepresentation();
    assertEquals(2, user1.getAttributesAsListValues().size());
    assertAttributeValue("value1user1", user1.getAttributesAsListValues().get("attr1"));
    assertAttributeValue("value2user1", user1.getAttributesAsListValues().get("attr2"));

    user2 = realm.users().get(user2Id).toRepresentation();
    assertEquals(2, user2.getAttributesAsListValues().size());
    assertAttributeValue("value1user2", user2.getAttributesAsListValues().get("attr1"));
    vals = user2.getAttributesAsListValues().get("attr2");
    assertEquals(2, vals.size());
    assertTrue(vals.contains("value2user2") && vals.contains("value2user2_2"));

    user1.singleAttribute("attr1", "value3user1");
    user1.singleAttribute("attr3", "value4user1");

    realm.users().get(user1Id).update(user1);

    user1 = realm.users().get(user1Id).toRepresentation();
    assertEquals(3, user1.getAttributesAsListValues().size());
    assertAttributeValue("value3user1", user1.getAttributesAsListValues().get("attr1"));
    assertAttributeValue("value2user1", user1.getAttributesAsListValues().get("attr2"));
    assertAttributeValue("value4user1", user1.getAttributesAsListValues().get("attr3"));

    user1.getAttributes().remove("attr1");
    realm.users().get(user1Id).update(user1);

    user1 = realm.users().get(user1Id).toRepresentation();
    assertEquals(2, user1.getAttributesAsListValues().size());
    assertAttributeValue("value2user1", user1.getAttributesAsListValues().get("attr2"));
    assertAttributeValue("value4user1", user1.getAttributesAsListValues().get("attr3"));

    user1.getAttributes().clear();
    realm.users().get(user1Id).update(user1);

    user1 = realm.users().get(user1Id).toRepresentation();
    assertNull(user1.getAttributes());
  }