Commit df1dadd8 authored by huriarte's avatar huriarte

Pruebas Unitarias para Servicio de Validación

parent e962d691
...@@ -12,4 +12,11 @@ ...@@ -12,4 +12,11 @@
<dockerfile.skip>true</dockerfile.skip> <dockerfile.skip>true</dockerfile.skip>
</properties> </properties>
</action> </action>
<action>
<actionName>CUSTOM-basic cobertura</actionName>
<displayName>basic cobertura</displayName>
<goals>
<goal>cobertura:cobertura</goal>
</goals>
</action>
</actions> </actions>
This diff is collapsed.
...@@ -6,17 +6,19 @@ ...@@ -6,17 +6,19 @@
package com.bytesw.bytebot.service; package com.bytesw.bytebot.service;
import com.bytesw.bytebot.http.FileValidationResponse; import com.bytesw.bytebot.http.FileValidationResponse;
import com.bytesw.bytebot.http.FileValidationResult;
import com.bytesw.bytebot.http.enums.ValidationStatusEnum; import com.bytesw.bytebot.http.enums.ValidationStatusEnum;
import com.bytesw.bytebot.model.QuestionFile;
import com.bytesw.bytebot.repository.QuestionFileRepository; import com.bytesw.bytebot.repository.QuestionFileRepository;
import java.awt.MediaTracker;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.time.LocalDateTime;
import static org.assertj.core.api.Java6Assertions.assertThat; import static org.assertj.core.api.Java6Assertions.assertThat;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; 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.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.TestConfiguration; import org.springframework.boot.test.context.TestConfiguration;
import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.boot.test.mock.mockito.MockBean;
...@@ -54,7 +56,10 @@ public class FileManagementServiceTest { ...@@ -54,7 +56,10 @@ public class FileManagementServiceTest {
} }
@Autowired @Autowired
FileManagementService fileManagementService; private FileManagementService fileManagementService;
@Autowired
private QuestionFileRepository questionFileRepository;
@Before @Before
public void setUp() { public void setUp() {
...@@ -77,7 +82,6 @@ public class FileManagementServiceTest { ...@@ -77,7 +82,6 @@ public class FileManagementServiceTest {
.isEqualTo(ValidationStatusEnum.INCOMPATIBLE_EXTENSION); .isEqualTo(ValidationStatusEnum.INCOMPATIBLE_EXTENSION);
} }
@Test @Test
public void validateAndSaveFile_whenFileHasHeaderRepetead_ErrorWithDetails() throws IOException { public void validateAndSaveFile_whenFileHasHeaderRepetead_ErrorWithDetails() throws IOException {
InputStream inputData = new FileInputStream("src/test/resources/data/preguntas-ejemplo-sin-columna-doble-columna.xls"); InputStream inputData = new FileInputStream("src/test/resources/data/preguntas-ejemplo-sin-columna-doble-columna.xls");
...@@ -93,4 +97,47 @@ public class FileManagementServiceTest { ...@@ -93,4 +97,47 @@ public class FileManagementServiceTest {
assertThat(response.getFileValidationResult().getStatus()) assertThat(response.getFileValidationResult().getStatus())
.isEqualTo(ValidationStatusEnum.HEADER_ERROR); .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