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();
}
}