public void documentFindRoles()

in component-test/src/main/java/IdentityApiDocumentation.java [197:251]


  public void documentFindRoles ( ) throws InterruptedException {

    try (final AutoUserContext ignore = loginAdmin()) {

      final String roleIdentifierOne = generateRoleIdentifier();

      final Permission rolePermission = buildRolePermission();
      final Role scribeOne = buildRole(roleIdentifierOne, rolePermission);

      getTestSubject().createRole(scribeOne);
      super.eventRecorder.wait(EventConstants.OPERATION_POST_ROLE, scribeOne.getIdentifier());

      final String roleIdentifierTwo = generateRoleIdentifier();

      final Permission userPermission = buildUserPermission();
      final Role scribeTwo = buildRole(roleIdentifierTwo, userPermission);

      List <Role> roles = Lists.newArrayList(scribeOne, scribeTwo);
      roles.stream()
              .forEach(scribe -> {
                try {
                  super.eventRecorder.wait(EventConstants.OPERATION_POST_ROLE, scribe.getIdentifier());
                } catch (InterruptedException e) {
                  e.printStackTrace();
                }
              });

      try {
        this.mockMvc.perform(get("/roles")
                .accept(MediaType.ALL_VALUE)
                .contentType(MediaType.APPLICATION_JSON_VALUE))
                .andExpect(status().isOk())
                .andDo(document("document-find-roles", preprocessResponse(prettyPrint()),
                        responseFields(
                                fieldWithPath("[].identifier").description("first role's identifier"),
                                fieldWithPath("[].permissions[].permittableEndpointGroupIdentifier").description("first role's roles permittable"),
                                fieldWithPath("[].permissions[].allowedOperations").type("Set<AllowedOperation>").description("Set of first role's allowed operations"),
                                fieldWithPath("[].permissions[1].permittableEndpointGroupIdentifier").description("first role's users permittable"),
                                fieldWithPath("[].permissions[1].allowedOperations").type("Set<AllowedOperation>").description("Set of first role's allowed operations"),
                                fieldWithPath("[].permissions[2].permittableEndpointGroupIdentifier").description("first role's self permittable"),
                                fieldWithPath("[].permissions[2].allowedOperations").type("Set<AllowedOperation>").description("Set of first role's allowed operations"),
                                fieldWithPath("[].permissions[3].permittableEndpointGroupIdentifier").description("first role's app_self permittable"),
                                fieldWithPath("[].permissions[3].allowedOperations").type("Set<AllowedOperation>").description("Set of first role's allowed operations"),
                                fieldWithPath("[1].identifier").description("second role's identifier"),
                                fieldWithPath("[1].permissions[].permittableEndpointGroupIdentifier").description("second role's roles permittable"),
                                fieldWithPath("[1].permissions[].allowedOperations").type("Set<AllowedOperation>").description("Set of second role's allowed operations")
                        )));
      } catch (Exception e) {
        e.printStackTrace();
      }

    } catch (Exception e) {
      e.printStackTrace();
    }
  }