@@ -10,7 +10,6 @@ import ru.soune.nocopy.entity.file.FileEntity;
|
|||||||
import ru.soune.nocopy.entity.file.FileStatus;
|
import ru.soune.nocopy.entity.file.FileStatus;
|
||||||
import ru.soune.nocopy.exception.FileEntityNotFoundException;
|
import ru.soune.nocopy.exception.FileEntityNotFoundException;
|
||||||
import ru.soune.nocopy.exception.NotFoundAuthToken;
|
import ru.soune.nocopy.exception.NotFoundAuthToken;
|
||||||
import ru.soune.nocopy.repository.AuthTokenRepository;
|
|
||||||
import ru.soune.nocopy.repository.FileEntityRepository;
|
import ru.soune.nocopy.repository.FileEntityRepository;
|
||||||
import ru.soune.nocopy.service.auth.AuthService;
|
import ru.soune.nocopy.service.auth.AuthService;
|
||||||
import ru.soune.nocopy.service.file.FileEntityService;
|
import ru.soune.nocopy.service.file.FileEntityService;
|
||||||
@@ -30,8 +29,6 @@ public class FileEntityHandler implements RequestHandler {
|
|||||||
|
|
||||||
private final FileStatsService fileStatsService;
|
private final FileStatsService fileStatsService;
|
||||||
|
|
||||||
private final AuthTokenRepository authTokenRepository;
|
|
||||||
|
|
||||||
private final ObjectMapper objectMapper;
|
private final ObjectMapper objectMapper;
|
||||||
|
|
||||||
private final FileEntityRepository fileEntityRepository;
|
private final FileEntityRepository fileEntityRepository;
|
||||||
@@ -82,7 +79,7 @@ public class FileEntityHandler implements RequestHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private BaseResponse handleGetFilesUserInfo(BaseRequest request, FileEntityRequest fileRequest) {
|
private BaseResponse handleGetFilesUserInfo(BaseRequest request, FileEntityRequest fileRequest) {
|
||||||
Long userId = getUserIdFromToken(fileRequest.getToken());
|
Long userId = authService.useUserAuthToken(fileRequest.getToken());
|
||||||
FileInfoUserResponse userFileStats = fileStatsService.getUserFileStats(userId);
|
FileInfoUserResponse userFileStats = fileStatsService.getUserFileStats(userId);
|
||||||
|
|
||||||
return new BaseResponse(request.getMsgId(),
|
return new BaseResponse(request.getMsgId(),
|
||||||
|
|||||||
@@ -1,102 +0,0 @@
|
|||||||
package ru.soune.nocopy.service;
|
|
||||||
|
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import org.mockito.ArgumentCaptor;
|
|
||||||
import org.mockito.InjectMocks;
|
|
||||||
import org.mockito.Mock;
|
|
||||||
import org.mockito.MockitoAnnotations;
|
|
||||||
import org.springframework.context.MessageSource;
|
|
||||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
||||||
import ru.soune.nocopy.dto.LoginRequest;
|
|
||||||
import ru.soune.nocopy.entity.AuthToken;
|
|
||||||
import ru.soune.nocopy.entity.User;
|
|
||||||
import ru.soune.nocopy.exception.NotValidationPasswordException;
|
|
||||||
import ru.soune.nocopy.exception.UserNotFoundException;
|
|
||||||
import ru.soune.nocopy.repository.AuthTokenRepository;
|
|
||||||
import ru.soune.nocopy.repository.UserRepository;
|
|
||||||
import ru.soune.nocopy.service.auth.AuthService;
|
|
||||||
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
|
||||||
import static org.mockito.Mockito.verify;
|
|
||||||
import static org.mockito.Mockito.when;
|
|
||||||
|
|
||||||
public class AuthServiceTest {
|
|
||||||
|
|
||||||
@Mock
|
|
||||||
private UserRepository userRepository;
|
|
||||||
|
|
||||||
@Mock
|
|
||||||
private AuthTokenRepository authTokenRepository;
|
|
||||||
|
|
||||||
@Mock
|
|
||||||
private PasswordEncoder passwordEncoder;
|
|
||||||
|
|
||||||
@Mock
|
|
||||||
private MessageSource messageSource;
|
|
||||||
|
|
||||||
@InjectMocks
|
|
||||||
private AuthService authService;
|
|
||||||
|
|
||||||
@BeforeEach
|
|
||||||
void setUp() {
|
|
||||||
MockitoAnnotations.openMocks(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void login_success() {
|
|
||||||
LoginRequest request = new LoginRequest("test@mail.com", "password");
|
|
||||||
|
|
||||||
User user = new User();
|
|
||||||
user.setId(1L);
|
|
||||||
user.setEmail("test@mail.com");
|
|
||||||
user.setPassword("encoded_pass");
|
|
||||||
|
|
||||||
when(userRepository.findByEmail("test@mail.com"))
|
|
||||||
.thenReturn(Optional.of(user));
|
|
||||||
when(passwordEncoder.matches("password", "encoded_pass"))
|
|
||||||
.thenReturn(true);
|
|
||||||
when(authTokenRepository.save(any(AuthToken.class)))
|
|
||||||
.thenAnswer(invocation -> invocation.getArgument(0));
|
|
||||||
|
|
||||||
AuthToken token = authService.login(request);
|
|
||||||
|
|
||||||
assertNotNull(token);
|
|
||||||
assertNotNull(token.getToken());
|
|
||||||
// assertEquals(user.getTokens().get(0), token.getUser());
|
|
||||||
|
|
||||||
ArgumentCaptor<AuthToken> captor = ArgumentCaptor.forClass(AuthToken.class);
|
|
||||||
verify(authTokenRepository).save(captor.capture());
|
|
||||||
|
|
||||||
// assertEquals(user, captor.getValue().getUser());
|
|
||||||
assertNotNull(captor.getValue().getToken());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void login_userNotFound() {
|
|
||||||
LoginRequest request = new LoginRequest("missing@mail.com", "pwd");
|
|
||||||
|
|
||||||
when(userRepository.findByEmail("missing@mail.com")).thenReturn(Optional.empty());
|
|
||||||
|
|
||||||
assertThrows(UserNotFoundException.class, () -> authService.login(request));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void login_invalidPassword() {
|
|
||||||
LoginRequest request = new LoginRequest("test@mail.com", "wrong");
|
|
||||||
|
|
||||||
User user = new User();
|
|
||||||
user.setEmail("test@mail.com");
|
|
||||||
user.setPassword("encoded_pass");
|
|
||||||
|
|
||||||
when(userRepository.findByEmail("test@mail.com")).thenReturn(Optional.of(user));
|
|
||||||
when(passwordEncoder.matches("wrong", "encoded_pass")).thenReturn(false);
|
|
||||||
|
|
||||||
assertThrows(NotValidationPasswordException.class, () -> authService.login(request));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user