Skip to content

Commit

Permalink
Merge branch 'refs/heads/master' into MDEXP-767
Browse files Browse the repository at this point in the history
  • Loading branch information
AntonAntonich committed Jun 5, 2024
2 parents 81cd670 + 262f8d1 commit 5fbf932
Show file tree
Hide file tree
Showing 7 changed files with 43 additions and 14 deletions.
2 changes: 1 addition & 1 deletion descriptors/ModuleDescriptor-template.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@
"provides": [
{
"id": "data-export",
"version": "5.1",
"version": "5.2",
"handlers": [
{
"methods": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.folio.dataexp.domain.dto.ExportDeletedMarcIdsRequest;
import org.folio.dataexp.domain.dto.ExportDeletedMarcIdsResponse;
import org.folio.dataexp.rest.resource.ExportDeletedApi;
import org.folio.dataexp.service.ExportDeletedMarcIdsService;
import org.springframework.http.HttpStatus;
Expand All @@ -19,8 +20,8 @@ public class DataExportDeletedMarcIdsController implements ExportDeletedApi {
private final ExportDeletedMarcIdsService exportDeletedMarcIdsService;

@Override
public ResponseEntity<Void> postExportDeletedMarcIds(ExportDeletedMarcIdsRequest request) {
exportDeletedMarcIdsService.postExportDeletedMarcIds(request);
return new ResponseEntity<>(HttpStatus.OK);
public ResponseEntity<ExportDeletedMarcIdsResponse> postExportDeletedMarcIds(ExportDeletedMarcIdsRequest request) {
var response = exportDeletedMarcIdsService.postExportDeletedMarcIds(request);
return new ResponseEntity<>(response, HttpStatus.OK);
}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package org.folio.dataexp.service;

import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.folio.dataexp.domain.dto.ExportDeletedMarcIdsRequest;
import org.folio.dataexp.domain.dto.ExportDeletedMarcIdsResponse;
import org.folio.dataexp.domain.dto.ExportRequest;
import org.springframework.stereotype.Service;

Expand All @@ -19,12 +21,13 @@ public class ExportDeletedMarcIdsService {
private final MarcDeletedIdsService marcDeletedIdsService;
private final DataExportService dataExportService;

public void postExportDeletedMarcIds(ExportDeletedMarcIdsRequest request) {
public ExportDeletedMarcIdsResponse postExportDeletedMarcIds(ExportDeletedMarcIdsRequest request) {
log.info("POST export deleted MARC IDs");
var fileDefinition = marcDeletedIdsService.getFileDefinitionForMarcDeletedIds(nonNull(request) ? request.getFrom() : null,
nonNull(request) ? request.getTo() : null);
var exportRequest = ExportRequest.builder().fileDefinitionId(fileDefinition.getId()).jobProfileId(UUID.fromString(DEFAULT_INSTANCE_JOB_PROFILE_ID))
.all(false).quick(false).build();
dataExportService.postDataExport(exportRequest);
return ExportDeletedMarcIdsResponse.builder().jobExecutionId(fileDefinition.getJobExecutionId()).build();
}
}
12 changes: 10 additions & 2 deletions src/main/resources/swagger.api/data-export.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -812,8 +812,14 @@ paths:
example:
$ref: 'examples/exportDeletedMarcIdsRequest.json'
responses:
'204':
description: Data export of deleted MARC IDs started
'200':
description: Data export of deleted MARC IDs completed
content:
application/json:
schema:
$ref: '#/components/schemas/exportDeletedMarcIdsResponse'
example:
$ref: 'examples/exportDeletedMarcIdsResponse.json'
'400':
description: Bad request
content:
Expand Down Expand Up @@ -965,6 +971,8 @@ components:
$ref: 'schemas/okapi/TimerDescriptor.json'
exportDeletedMarcIdsRequest:
$ref: 'schemas/exportDeletedMarcIdsRequest.json'
exportDeletedMarcIdsResponse:
$ref: 'schemas/exportDeletedMarcIdsResponse.json'

parameters:
trait_queryable:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"jobExecutionId":"5696d7aa-3bae-11eb-adc1-0242ac120002"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Necessary data after executed export deleted MARC IDs process",
"type": "object",
"additionalProperties": false,
"properties": {
"jobExecutionId": {
"description": "UUID of the job execution, that had been used for export deleted process",
"type": "string",
"format": "uuid"
}
},
"required": [
"jobExecutionId"
]
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package org.folio.dataexp.service;

import lombok.SneakyThrows;
import org.folio.dataexp.client.SourceStorageClient;
import org.folio.dataexp.domain.dto.ExportDeletedMarcIdsRequest;
import org.folio.dataexp.domain.dto.ExportRequest;
import org.folio.dataexp.domain.dto.FileDefinition;
Expand All @@ -15,10 +14,10 @@

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.UUID;

import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

Expand All @@ -27,10 +26,6 @@ class ExportDeletedMarcIdsServiceTest {

private final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");

@Mock
private SourceStorageClient sourceStorageClient;
@Mock
private FileDefinitionsService fileDefinitionsService;
@Mock
private MarcDeletedIdsService marcDeletedIdsService;
@Mock
Expand All @@ -46,6 +41,8 @@ class ExportDeletedMarcIdsServiceTest {
@SneakyThrows
void postExportDeletedMarcIdsTest() {
var fileDefinition = new FileDefinition().size(1).id(UUID.randomUUID());
UUID jobExecutionId = UUID.randomUUID();
fileDefinition.setJobExecutionId(jobExecutionId);
var from = DATE_FORMAT.parse("2024-04-24");
var to = DATE_FORMAT.parse("2024-04-24");
var request = new ExportDeletedMarcIdsRequest();
Expand All @@ -54,12 +51,13 @@ void postExportDeletedMarcIdsTest() {

when(marcDeletedIdsService.getFileDefinitionForMarcDeletedIds(from, to)).thenReturn(fileDefinition);

exportDeletedMarcIdsService.postExportDeletedMarcIds(request);
var response = exportDeletedMarcIdsService.postExportDeletedMarcIds(request);

verify(dataExportService).postDataExport(exportRequestArgumentCaptor.capture());
var exportRequest = exportRequestArgumentCaptor.getValue();

assertThat(exportRequest.getFileDefinitionId()).isInstanceOf(UUID.class);
assertThat(exportRequest.getJobProfileId()).isInstanceOf(UUID.class);
assertEquals(jobExecutionId, response.getJobExecutionId());
}
}

0 comments on commit 5fbf932

Please sign in to comment.