in component-test/src/main/java/IdentityApiDocumentation.java [690:725]
public void documentCreateApplicationPermission ( ) throws InterruptedException {
try (final AutoUserContext ignored
= tenantApplicationSecurityEnvironment.createAutoSeshatContext()) {
final String appIdentifier = "testApp" + RandomStringUtils.randomNumeric(3) + "-v1";
final RsaKeyPairFactory.KeyPairHolder keyPair = RsaKeyPairFactory.createKeyPair();
final String appTimeStamp = keyPair.getTimestamp();
final Signature signature = new Signature(keyPair.getPublicKeyMod(), keyPair.getPublicKeyExp());
getTestSubject().setApplicationSignature(appIdentifier, appTimeStamp, signature);
this.eventRecorder.wait(EventConstants.OPERATION_PUT_APPLICATION_SIGNATURE, new ApplicationSignatureEvent(appIdentifier, keyPair.getTimestamp()));
final Permission newPermission = new Permission(PermittableGroupIds.IDENTITY_MANAGEMENT, Sets.newHashSet(AllowedOperation.READ));
Gson serializer = new Gson();
try {
this.mockMvc.perform(post("/applications/" + appIdentifier + "/permissions")
.accept(MediaType.ALL_VALUE)
.contentType(MediaType.APPLICATION_JSON_VALUE)
.content(serializer.toJson(newPermission)))
.andExpect(status().isAccepted())
.andDo(document("document-create-application-permission", preprocessRequest(prettyPrint()),
requestFields(
fieldWithPath("permittableEndpointGroupIdentifier").description("permittable group endpoint identifier"),
fieldWithPath("allowedOperations").type("Set<AllowedOperation>").description("Set of Allowed Operations")
)
));
} catch (Exception e) {
e.printStackTrace();
}
}
}