public void documentFindAllPGroups()

in component-test/src/main/java/IdentityApiDocumentation.java [323:374]


  public void documentFindAllPGroups ( ) throws InterruptedException {

    try (final AutoUserContext ignore = loginAdmin()) {

      final String firstIdentifier = testEnvironment.generateUniqueIdentifier("pgroup");
      final String secondIdentifier = testEnvironment.generateUniqueIdentifier("pgroup");

      final List <String> identifierstrings = Lists.newArrayList(firstIdentifier, secondIdentifier);

      identifierstrings.stream()
              .forEach(string -> {

                final PermittableEndpoint permittableEndpoint = buildPermittableEndpoint();
                final PermittableGroup pGroup = buildPermittableGroup(string, permittableEndpoint);

                getTestSubject().createPermittableGroup(pGroup);

                {
                  final boolean found;
                  try {
                    found = eventRecorder.wait(EventConstants.OPERATION_POST_PERMITTABLE_GROUP, pGroup.getIdentifier());
                    Assert.assertTrue(found);
                  } catch (InterruptedException e) {
                    e.printStackTrace();
                  }
                }
              });

      try {
        this.mockMvc.perform(get("/permittablegroups")
                .accept(MediaType.ALL_VALUE)
                .contentType(MediaType.APPLICATION_JSON_VALUE))
                .andExpect(status().isOk())
                .andDo(document("document-find-all-p-groups", preprocessResponse(prettyPrint()),
                        responseFields(
                                fieldWithPath("[].identifier").description("Permittable group identifier"),
                                fieldWithPath("[].permittables[].path").description("RequestMapping value"),
                                fieldWithPath("[].permittables[].method").type("RequestMethod").description("HTTP Request Method"),
                                fieldWithPath("[].permittables[].groupId").type("String").description("permittable identifier"),
                                fieldWithPath("[].permittables[].acceptTokenIntendedForForeignApplication").type(Boolean.TYPE).description("Accept token for foreign application ?"),
                                fieldWithPath("[1].identifier").description("Permittable group identifier"),
                                fieldWithPath("[1].permittables[].path").description("RequestMapping value"),
                                fieldWithPath("[1].permittables[].method").type("RequestMethod").description("HTTP Request Method"),
                                fieldWithPath("[1].permittables[].groupId").type("String").description("permittable identifier"),
                                fieldWithPath("[1].permittables[].acceptTokenIntendedForForeignApplication").type(Boolean.TYPE).description("Accept token for foreign application ?")
                        )
                ));
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
  }