use of org.example.app1.entities.User in project 2021-msk-food-delivery by netcracker-edu.
the class FileServiceTest method savePngAdmin.
@Test
public void savePngAdmin() throws IOException {
// prepare
Long userId = 1L;
User sheldonAdmin = UserUtils.adminSheldonCooper(userId);
MultipartFile file = getImgWithType("test", "png");
Long fileSize = file.getSize();
log.info("FILE SIZE before uploading: " + fileSize + " FILE NAME: " + file.getName());
when(fileRepoMock.save(any(File.class))).thenAnswer(invocation -> invocation.getArguments()[0]);
FileLinkDTO fileLinkDTO = fileService.save(file, sheldonAdmin);
Path uploadedFile = getUploadedFilePath(fileLinkDTO.getFileUuid());
assertTrue(Files.exists(uploadedFile));
Long uploadedFileSize = Files.size(uploadedFile);
log.info("FILE SIZE after uploading: " + uploadedFileSize + " FILE UUID: " + fileLinkDTO.getFileUuid());
assertEquals(fileSize, uploadedFileSize);
verify(fileRepoMock, times(1)).save(any(File.class));
}
use of org.example.app1.entities.User in project 2021-msk-food-delivery by netcracker-edu.
the class FileServiceTest method savePngLargeWidthClient.
@Test
public void savePngLargeWidthClient() throws IOException {
// prepare
Long userId = 1L;
User rajeshClient = UserUtils.clientRajeshKoothrappali(userId);
MultipartFile file = getImgWithType("testLargeWidth", "png");
Long fileSize = file.getSize();
log.info("FILE SIZE before uploading: " + fileSize + " FILE NAME: " + file.getName());
when(fileRepoMock.save(any(File.class))).thenAnswer(invocation -> invocation.getArguments()[0]);
FileLinkDTO fileLinkDTO = fileService.save(file, rajeshClient);
verify(fileRepoMock, times(1)).save(any(File.class));
Path uploadedFile = getUploadedFilePath(fileLinkDTO.getFileUuid());
assertTrue(Files.exists(uploadedFile));
Long uploadedFileSize = Files.size(uploadedFile);
log.info("FILE SIZE after uploading: " + uploadedFileSize + " FILE UUID: " + fileLinkDTO.getFileUuid());
// uploaded size more than income because convert from png to jpeg
assertTrue(fileSize < uploadedFileSize);
BufferedImage bufferedImage = ImageIO.read(uploadedFile.toFile());
assertEquals(CLIENT_IMAGE_WIDTH, bufferedImage.getWidth());
}
use of org.example.app1.entities.User in project 2021-msk-food-delivery by netcracker-edu.
the class FileServiceTest method saveWithNotSupportedExt.
@Test
public void saveWithNotSupportedExt() {
// prepare
Long userId = 1L;
User sheldonAdmin = UserUtils.adminSheldonCooper(userId);
MultipartFile file = getImgWithType("test", "bmp");
Long fileSize = file.getSize();
log.info("FILE SIZE before uploading: " + fileSize + " FILE NAME: " + file.getName());
when(fileRepoMock.save(any(File.class))).thenAnswer(invocation -> invocation.getArguments()[0]);
Exception exception = assertThrows(BadFileExtensionException.class, () -> {
fileService.save(file, sheldonAdmin);
});
String perfectMessage = new BadFileExtensionException().getMessage();
String resultMessage = exception.getMessage();
verify(fileRepoMock, never()).save(any(File.class));
assertEquals(perfectMessage, resultMessage);
}
use of org.example.app1.entities.User in project 2021-msk-food-delivery by netcracker-edu.
the class FileServiceTest method replaceJpgToLargeWidthPngClient.
@Test
public void replaceJpgToLargeWidthPngClient() throws IOException {
// prepare
Long userId = 1L;
User pennyClient = UserUtils.clientPennyTeller(userId);
String oldImgName = "test.jpeg";
int oldImgHeight = pictureNamesAndSize.get("test")[1];
Path pathTestJpeg = UPLOAD_PATH.resolve(oldImgName);
final String fileUuid = "03b2552c-6981-4087-b5ee-5a5655fde4da";
Path fileUuidPath = createFileUuidPath(fileUuid);
Files.copy(pathTestJpeg, fileUuidPath, StandardCopyOption.REPLACE_EXISTING);
Long oldFileSize = Files.size(fileUuidPath);
File oldFileEntity = new File(UUID.fromString(fileUuid), FileType.JPEG, oldImgName, Files.size(fileUuidPath), Timestamp.valueOf(LocalDateTime.now()), pennyClient);
MultipartFile newFile = getImgWithType("testLargeWidth", "png");
Long newFileSizeBeforeUpload = newFile.getSize();
when(fileRepoMock.save(any(File.class))).thenAnswer(invocation -> invocation.getArguments()[0]);
FileLinkDTO fileLinkDTO = fileService.replace(newFile, oldFileEntity, pennyClient);
assertEquals(fileUuid, fileLinkDTO.getFileUuid());
Long newFileSizeAfterUpload = Files.size(fileUuidPath);
assertTrue(newFileSizeBeforeUpload < newFileSizeAfterUpload);
BufferedImage bufferedImage = ImageIO.read(fileUuidPath.toFile());
int newImgWidth = bufferedImage.getWidth();
assertEquals(CLIENT_IMAGE_WIDTH, newImgWidth);
verify(fileRepoMock, times(1)).save(any(File.class));
}
use of org.example.app1.entities.User in project 2021-msk-food-delivery by netcracker-edu.
the class FileServiceTest method replacePngClient.
@Test
public void replacePngClient() throws IOException {
// prepare
Long userId = 1L;
User pennyClient = UserUtils.clientPennyTeller(userId);
String oldImgName = "test.jpeg";
int oldImgHeight = pictureNamesAndSize.get("test")[1];
Path pathTestJpeg = UPLOAD_PATH.resolve(oldImgName);
final String fileUuid = "e9365637-bb5b-4792-9f25-ad36776fccf3";
Path fileUuidPath = createFileUuidPath(fileUuid);
Files.copy(pathTestJpeg, fileUuidPath, StandardCopyOption.REPLACE_EXISTING);
Long oldFileSize = Files.size(fileUuidPath);
File oldFileEntity = new File(UUID.fromString(fileUuid), FileType.JPEG, oldImgName, Files.size(fileUuidPath), Timestamp.valueOf(LocalDateTime.now()), pennyClient);
MultipartFile newFile = getImgWithType("test", "png");
Long newFileSizeBeforeUpload = newFile.getSize();
when(fileRepoMock.save(any(File.class))).thenAnswer(invocation -> invocation.getArguments()[0]);
FileLinkDTO fileLinkDTO = fileService.replace(newFile, oldFileEntity, pennyClient);
assertEquals(fileUuid, fileLinkDTO.getFileUuid());
Long newFileSizeAfterUpload = Files.size(fileUuidPath);
assertTrue(newFileSizeBeforeUpload < newFileSizeAfterUpload);
BufferedImage bufferedImage = ImageIO.read(fileUuidPath.toFile());
int newImgHeight = bufferedImage.getHeight();
assertEquals(oldImgHeight, newImgHeight);
verify(fileRepoMock, times(1)).save(any(File.class));
}
Aggregations