Compare commits
4 Commits
feature/re
...
feature/us
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f820cb9b4c | ||
|
|
0241793819 | ||
|
|
eb74051ded | ||
|
|
3bf24b1e12 |
@@ -28,9 +28,8 @@ public class RefreshToken {
|
|||||||
this.token = token;
|
this.token = token;
|
||||||
}
|
}
|
||||||
|
|
||||||
public RefreshToken changeToken(String token) {
|
public void changeToken(String token) {
|
||||||
this.token = token;
|
this.token = token;
|
||||||
return this;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ public class JwtProvider {
|
|||||||
|
|
||||||
private static final String AUTHORITIES_KEY = "auth";
|
private static final String AUTHORITIES_KEY = "auth";
|
||||||
private static final String AUTHORITIES_DELIMITER = ",";
|
private static final String AUTHORITIES_DELIMITER = ",";
|
||||||
private static final String ROLE = "ROLE_";
|
|
||||||
|
|
||||||
private final Key key;
|
private final Key key;
|
||||||
private final String prefix;
|
private final String prefix;
|
||||||
@@ -90,7 +89,7 @@ public class JwtProvider {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private String makeRoleName(String role) {
|
private String makeRoleName(String role) {
|
||||||
return role.contains(ROLE) ? role.toUpperCase() : ROLE + role.toUpperCase();
|
return "ROLE_" + role.toUpperCase();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Authentication getAuthentication(String token) {
|
public Authentication getAuthentication(String token) {
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import com.ticketing.server.global.redis.RefreshRedisRepository;
|
|||||||
import com.ticketing.server.global.redis.RefreshToken;
|
import com.ticketing.server.global.redis.RefreshToken;
|
||||||
import com.ticketing.server.global.security.jwt.JwtProperties;
|
import com.ticketing.server.global.security.jwt.JwtProperties;
|
||||||
import com.ticketing.server.global.security.jwt.JwtProvider;
|
import com.ticketing.server.global.security.jwt.JwtProvider;
|
||||||
import com.ticketing.server.user.service.dto.DeleteRefreshTokenDTO;
|
|
||||||
import com.ticketing.server.user.service.dto.TokenDTO;
|
import com.ticketing.server.user.service.dto.TokenDTO;
|
||||||
|
import com.ticketing.server.user.service.dto.DeleteRefreshTokenDTO;
|
||||||
import com.ticketing.server.user.service.interfaces.AuthenticationService;
|
import com.ticketing.server.user.service.interfaces.AuthenticationService;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||||
@@ -40,14 +40,8 @@ public class AuthenticationServiceImpl implements AuthenticationService {
|
|||||||
// refresh 토큰이 있으면 수정, 없으면 생성
|
// refresh 토큰이 있으면 수정, 없으면 생성
|
||||||
refreshRedisRepository.findByEmail(email)
|
refreshRedisRepository.findByEmail(email)
|
||||||
.ifPresentOrElse(
|
.ifPresentOrElse(
|
||||||
tokenEntity -> refreshRedisRepository.save(
|
tokenEntity -> tokenEntity.changeToken(tokenDto.getRefreshToken()),
|
||||||
tokenEntity.changeToken(
|
() -> refreshRedisRepository.save(new RefreshToken(email, tokenDto.getRefreshToken()))
|
||||||
tokenDto.getRefreshToken()
|
|
||||||
)
|
|
||||||
),
|
|
||||||
() -> refreshRedisRepository.save(
|
|
||||||
new RefreshToken(email, tokenDto.getRefreshToken())
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
return tokenDto;
|
return tokenDto;
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
|
import static org.mockito.ArgumentMatchers.anyLong;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
import com.ticketing.server.global.exception.TicketingException;
|
import com.ticketing.server.global.exception.TicketingException;
|
||||||
|
|||||||
@@ -1,23 +1,15 @@
|
|||||||
package com.ticketing.server.movie.service;
|
package com.ticketing.server.movie.service;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
|
||||||
import static org.assertj.core.api.Assertions.assertThatThrownBy;
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||||
import static org.mockito.ArgumentMatchers.anyInt;
|
|
||||||
import static org.mockito.ArgumentMatchers.anyLong;
|
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
|
|
||||||
import com.ticketing.server.global.exception.TicketingException;
|
|
||||||
import com.ticketing.server.movie.domain.Movie;
|
import com.ticketing.server.movie.domain.Movie;
|
||||||
import com.ticketing.server.movie.domain.MovieTime;
|
import com.ticketing.server.movie.domain.MovieTime;
|
||||||
import com.ticketing.server.movie.domain.Theater;
|
import com.ticketing.server.movie.domain.Theater;
|
||||||
import com.ticketing.server.movie.domain.repository.MovieRepository;
|
import com.ticketing.server.movie.domain.repository.MovieRepository;
|
||||||
import com.ticketing.server.movie.domain.repository.MovieTimeRepository;
|
import com.ticketing.server.movie.domain.repository.MovieTimeRepository;
|
||||||
import com.ticketing.server.movie.domain.repository.TheaterRepository;
|
|
||||||
import com.ticketing.server.movie.service.dto.MovieTimeDTO;
|
import com.ticketing.server.movie.service.dto.MovieTimeDTO;
|
||||||
import com.ticketing.server.movie.service.dto.MovieTimeRegisterDTO;
|
|
||||||
import com.ticketing.server.movie.service.dto.RegisteredMovieTimeDTO;
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -35,15 +27,11 @@ import org.mockito.junit.jupiter.MockitoExtension;
|
|||||||
public class MovieTimeServiceImplTest {
|
public class MovieTimeServiceImplTest {
|
||||||
|
|
||||||
String title = "범죄도시2";
|
String title = "범죄도시2";
|
||||||
LocalDateTime startAt = LocalDateTime.now();
|
|
||||||
List<MovieTime> movieTimes = new ArrayList<>();
|
List<MovieTime> movieTimes = new ArrayList<>();
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
MovieRepository movieRepository;
|
MovieRepository movieRepository;
|
||||||
|
|
||||||
@Mock
|
|
||||||
TheaterRepository theaterRepository;
|
|
||||||
|
|
||||||
@Mock
|
@Mock
|
||||||
MovieTimeRepository movieTimeRepository;
|
MovieTimeRepository movieTimeRepository;
|
||||||
|
|
||||||
@@ -51,7 +39,7 @@ public class MovieTimeServiceImplTest {
|
|||||||
MovieTimeServiceImpl movieTimeService;
|
MovieTimeServiceImpl movieTimeService;
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@DisplayName("MovieTime Service Test - get empty list when there is no valid movie time")
|
@DisplayName("MovieTime Service Test - get empty list when there are no valid movie times")
|
||||||
void shouldGetEmptyList() {
|
void shouldGetEmptyList() {
|
||||||
// given
|
// given
|
||||||
Movie movie = new Movie(title, 106L);
|
Movie movie = new Movie(title, 106L);
|
||||||
@@ -94,76 +82,4 @@ public class MovieTimeServiceImplTest {
|
|||||||
assertTrue(!movieTimeDtos.isEmpty());
|
assertTrue(!movieTimeDtos.isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
@DisplayName("MovieTime Service Test - register movie time")
|
|
||||||
void shouldAbleToRegisterMovieTime() {
|
|
||||||
// given
|
|
||||||
Movie movie = new Movie(title, 100L);
|
|
||||||
Theater theater = new Theater(1);
|
|
||||||
MovieTime movieTime = new MovieTime(movie, theater, 1, startAt);
|
|
||||||
|
|
||||||
when(movieRepository.findByIdAndDeletedAtNull(anyLong()))
|
|
||||||
.thenReturn(Optional.of(movie));
|
|
||||||
|
|
||||||
when(theaterRepository.findByTheaterNumber(anyInt()))
|
|
||||||
.thenReturn(Optional.of(theater));
|
|
||||||
|
|
||||||
when(movieTimeRepository.findByMovieAndTheaterAndRoundAndDeletedAtNull(any(), any(), anyInt()))
|
|
||||||
.thenReturn(Optional.empty());
|
|
||||||
|
|
||||||
when(movieTimeRepository.save(any()))
|
|
||||||
.thenReturn(movieTime);
|
|
||||||
|
|
||||||
// when
|
|
||||||
RegisteredMovieTimeDTO registeredMovieTimeDto =
|
|
||||||
movieTimeService.registerMovieTime(
|
|
||||||
new MovieTimeRegisterDTO(1L, 1, 1, startAt)
|
|
||||||
);
|
|
||||||
|
|
||||||
// then
|
|
||||||
assertThat(registeredMovieTimeDto).isNotNull();
|
|
||||||
assertTrue(registeredMovieTimeDto.getTheaterNumber() == 1);
|
|
||||||
assertTrue(registeredMovieTimeDto.getStartAt() == startAt);
|
|
||||||
assertTrue(registeredMovieTimeDto.getRound() == 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@DisplayName("MovieTime Service Test - register movie time when there is same movie time already")
|
|
||||||
void shouldThrowExceptionWhenRegisteringDuplicateMovieTime() {
|
|
||||||
// given
|
|
||||||
Movie movie = new Movie(title, 100L);
|
|
||||||
Theater theater = new Theater(1);
|
|
||||||
MovieTime movieTime = new MovieTime(movie, theater, 1, startAt);
|
|
||||||
MovieTimeRegisterDTO movieTimeRegisterDto = new MovieTimeRegisterDTO(1L, 1, 1, startAt);
|
|
||||||
|
|
||||||
when(movieRepository.findByIdAndDeletedAtNull(anyLong()))
|
|
||||||
.thenReturn(Optional.of(movie));
|
|
||||||
|
|
||||||
when(theaterRepository.findByTheaterNumber(anyInt()))
|
|
||||||
.thenReturn(Optional.of(theater));
|
|
||||||
|
|
||||||
when(movieTimeRepository.findByMovieAndTheaterAndRoundAndDeletedAtNull(any(), any(), anyInt()))
|
|
||||||
.thenReturn(Optional.of(movieTime));
|
|
||||||
|
|
||||||
// when
|
|
||||||
// then
|
|
||||||
assertThatThrownBy(() -> movieTimeService.registerMovieTime(movieTimeRegisterDto))
|
|
||||||
.isInstanceOf(TicketingException.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@DisplayName("MovieTime Service Test - register movie time when there is no such movie")
|
|
||||||
void shouldThrowExceptionWhenRegisteringMovieTimeWithNoSuchMovie() {
|
|
||||||
// given
|
|
||||||
Theater theater = new Theater(1);
|
|
||||||
MovieTimeRegisterDTO movieTimeRegisterDto = new MovieTimeRegisterDTO(1L, 1, 1, startAt);
|
|
||||||
|
|
||||||
when(movieRepository.findByIdAndDeletedAtNull(1L))
|
|
||||||
.thenReturn(Optional.empty());
|
|
||||||
|
|
||||||
// when
|
|
||||||
// then
|
|
||||||
assertThatThrownBy(() -> movieTimeService.registerMovieTime(movieTimeRegisterDto))
|
|
||||||
.isInstanceOf(TicketingException.class);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user