Add image upload validations and random naming

This commit is contained in:
Tim
2025-07-01 13:00:47 +08:00
parent a37f046898
commit d69f7251e0
5 changed files with 43 additions and 2 deletions

View File

@@ -57,4 +57,16 @@ class UserControllerTest {
Mockito.verify(userService).updateAvatar("alice", "http://img/a.png");
}
@Test
void uploadAvatarRejectsNonImage() throws Exception {
MockMultipartFile file = new MockMultipartFile("file", "a.txt", MediaType.TEXT_PLAIN_VALUE, "text".getBytes());
mockMvc.perform(multipart("/api/users/me/avatar").file(file).principal(new UsernamePasswordAuthenticationToken("alice","p")))
.andExpect(status().isBadRequest())
.andExpect(jsonPath("$.error").value("File is not an image"));
Mockito.verify(imageUploader, Mockito.never()).upload(any(), any());
}
}