Commit df1dadd8 authored by huriarte's avatar huriarte

Pruebas Unitarias para Servicio de Validación

parent e962d691
......@@ -12,4 +12,11 @@
<dockerfile.skip>true</dockerfile.skip>
</properties>
</action>
<action>
<actionName>CUSTOM-basic cobertura</actionName>
<displayName>basic cobertura</displayName>
<goals>
<goal>cobertura:cobertura</goal>
</goals>
</action>
</actions>
This diff is collapsed.
......@@ -6,17 +6,19 @@
package com.bytesw.bytebot.service;
import com.bytesw.bytebot.http.FileValidationResponse;
import com.bytesw.bytebot.http.FileValidationResult;
import com.bytesw.bytebot.http.enums.ValidationStatusEnum;
import com.bytesw.bytebot.model.QuestionFile;
import com.bytesw.bytebot.repository.QuestionFileRepository;
import java.awt.MediaTracker;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.time.LocalDateTime;
import static org.assertj.core.api.Java6Assertions.assertThat;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.mockito.ArgumentMatchers.any;
import org.mockito.Mockito;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.TestConfiguration;
import org.springframework.boot.test.mock.mockito.MockBean;
......@@ -54,13 +56,16 @@ public class FileManagementServiceTest {
}
@Autowired
FileManagementService fileManagementService;
private FileManagementService fileManagementService;
@Autowired
private QuestionFileRepository questionFileRepository;
@Before
public void setUp() {
}
@Test
public void validateAndSaveFile_whenFileHasInvalidExtension_SimpleError() throws IOException {
InputStream inputData = new FileInputStream("src/test/resources/data/preguntas-ejemplo-sin-columna-doble-columna.xls");
......@@ -70,13 +75,12 @@ public class FileManagementServiceTest {
"preguntas-ejemplo-sin-columna-doble-columna.xml",
MediaType.APPLICATION_XML_VALUE,
inputData);
FileValidationResponse response = fileManagementService.validateAndSaveFile(uuid, xlsFileHeadersRepetead);
assertThat(response.getFileValidationResult().getStatus())
.isEqualTo(ValidationStatusEnum.INCOMPATIBLE_EXTENSION);
}
@Test
public void validateAndSaveFile_whenFileHasHeaderRepetead_ErrorWithDetails() throws IOException {
......@@ -87,10 +91,53 @@ public class FileManagementServiceTest {
"preguntas-ejemplo-sin-columna-doble-columna.xls",
"application/vnd.ms-excel",
inputData);
FileValidationResponse response = fileManagementService.validateAndSaveFile(uuid, xlsFileHeadersRepetead);
assertThat(response.getFileValidationResult().getStatus())
.isEqualTo(ValidationStatusEnum.HEADER_ERROR);
}
@Test
public void validateAndSaveFile_whenFileHasBadContent_ErrorWithDetails() throws IOException {
InputStream inputData = new FileInputStream("src/test/resources/data/preguntas-ejemplo-sin-contenido-espacios-blanco.xlsx");
String uuid = "1f59cb41-778a-46f6-acfc-3625108275bb";
MultipartFile xlsFileBadContent = new MockMultipartFile(
"preguntas-ejemplo-sin-contenido-espacios-blanco.xlsx",
"preguntas-ejemplo-sin-contenido-espacios-blanco.xlsx",
"application/vnd.ms-excel",
inputData);
FileValidationResponse response = fileManagementService.validateAndSaveFile(uuid, xlsFileBadContent);
assertThat(response.getFileValidationResult().getStatus())
.isEqualTo(ValidationStatusEnum.CONTENT_ERROR);
}
@Test
public void validateAndSaveFile_whenFileIsCorrect_thenIsSaved() throws IOException {
InputStream inputData = new FileInputStream("src/test/resources/data/preguntas-ejemplo-base.xlsx");
String uuid = "1f59cb41-778a-46f6-acfc-3625108275bb";
MultipartFile xlsFile = new MockMultipartFile(
"preguntas-ejemplo-base.xlsx",
"preguntas-ejemplo-base.xlsx",
"application/vnd.ms-excel",
inputData);
QuestionFile questionFileBD = new QuestionFile();
questionFileBD.setUuid(uuid);
questionFileBD.setName(xlsFile.getOriginalFilename());
questionFileBD.setSize(xlsFile.getSize());
questionFileBD.setUploadDate(LocalDateTime.now());
questionFileBD.setData(xlsFile.getBytes());
Mockito.when(questionFileRepository.save(any(QuestionFile.class)))
.thenReturn(questionFileBD);
FileValidationResponse response = fileManagementService.validateAndSaveFile(uuid, xlsFile);
assertThat(response.getFileValidationResult().getStatus())
.isEqualTo(ValidationStatusEnum.OK);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment