in src/it/java/com/epam/digital/data/platform/excerpt/api/controller/ExcerptControllerIT.java [74:116]
void shouldCreateExcerptRecordInDatabase() throws Exception {
// given
var template = readClassPathResource("/template.ftl");
saveExcerptTemplateToDatabase("template", template);
var requestJson = readClassPathResource("/json/request.json");
// when
ResultActions resultActions = mockMvc.perform(
post("/excerpts")
.header(ACCESS_TOKEN.getHeaderName(), OFFICER_TOKEN)
.header(X_DIGITAL_SIGNATURE.getHeaderName(), "X_DIGITAL_SIGNATURE")
.header(X_DIGITAL_SIGNATURE_DERIVED.getHeaderName(), "X_DIGITAL_SIGNATURE_DERIVED")
.header(X_SOURCE_SYSTEM.getHeaderName(), "X_SOURCE_SYSTEM")
.header(X_SOURCE_APPLICATION.getHeaderName(), "X_SOURCE_APPLICATION")
.header(X_SOURCE_BUSINESS_PROCESS.getHeaderName(), "X_SOURCE_BUSINESS_PROCESS")
.header(X_SOURCE_BUSINESS_ACTIVITY.getHeaderName(), "X_SOURCE_BUSINESS_ACTIVITY")
.content(requestJson)
.contentType(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andExpect(jsonPath("$.excerptIdentifier").exists());
// then
var id = objectMapper.readValue(resultActions.andReturn().getResponse().getContentAsString(),
ExcerptEntityId.class).getExcerptIdentifier();
ExcerptRecord excerptRecord = recordRepository.findById(id).get();
assertThat(excerptRecord.getStatus()).isEqualTo(IN_PROGRESS);
assertThat(excerptRecord.getxDigitalSignature()).isEqualTo("X_DIGITAL_SIGNATURE");
assertThat(excerptRecord.getxDigitalSignatureDerived()).isEqualTo(
"X_DIGITAL_SIGNATURE_DERIVED");
assertThat(excerptRecord.getxSourceSystem()).isEqualTo("X_SOURCE_SYSTEM");
assertThat(excerptRecord.getxSourceApplication()).isEqualTo("X_SOURCE_APPLICATION");
assertThat(excerptRecord.getxSourceBusinessProcess()).isEqualTo("X_SOURCE_BUSINESS_PROCESS");
assertThat(excerptRecord.getxSourceBusinessActivity()).isEqualTo("X_SOURCE_BUSINESS_ACTIVITY");
assertThat(excerptRecord.getKeycloakId()).isNotBlank();
assertThat(excerptRecord.getExcerptKey()).isNull();
assertThat(excerptRecord.getCreatedAt()).isNotNull();
assertThat(excerptRecord.getUpdatedAt()).isNotNull();
}