void shouldCreateExcerptRecordInDatabase()

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