Compare commits
7 Commits
feature/Mo
...
feature/do
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7606a65413 | ||
|
|
2d0832b7b2 | ||
|
|
f5555000bd | ||
|
|
f59402b8b1 | ||
|
|
d2a1cecd1a | ||
|
|
3136ffa6fe | ||
|
|
42a00d20d0 |
12
server/Dockerfile
Normal file
12
server/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
||||
FROM openjdk:11-jre-slim
|
||||
|
||||
ENV APP_HOME=/usr/app/
|
||||
|
||||
WORKDIR $APP_HOME
|
||||
|
||||
COPY build/libs/server-0.0.1-SNAPSHOT.jar application.jar
|
||||
|
||||
EXPOSE 8443
|
||||
EXPOSE 8080
|
||||
|
||||
CMD ["java", "-jar", "application.jar"]
|
||||
@@ -0,0 +1,30 @@
|
||||
server:
|
||||
port: 8443
|
||||
address: 0.0.0.0
|
||||
|
||||
http:
|
||||
port: 8080
|
||||
|
||||
ssl:
|
||||
key-store: classpath:keystore/ticketing.p12
|
||||
key-store-password: ENC(OMvGcpZLpggFTiGNkqNe66Zq/SmJXF6o)
|
||||
key-store-type: PKCS12
|
||||
|
||||
spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://ticketing-db/ticketing?serverTimezone=Asia/Seoul&characterEncoding=UTF-8
|
||||
username: ENC(LowN1n4w0Ep/DqLD8+q5Bq6AXM4b8e3V)
|
||||
password: ENC(OMvGcpZLpggFTiGNkqNe66Zq/SmJXF6o)
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
|
||||
jpa:
|
||||
properties:
|
||||
hibernate:
|
||||
show_sql: true
|
||||
format_sql: true
|
||||
hibernate:
|
||||
ddl-auto: validate
|
||||
|
||||
redis:
|
||||
host: 172.18.0.3
|
||||
port: 6379
|
||||
|
||||
BIN
server/src/main/resources/keystore/ticketing.p12
Normal file
BIN
server/src/main/resources/keystore/ticketing.p12
Normal file
Binary file not shown.
@@ -4,7 +4,6 @@ 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.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyLong;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import com.ticketing.server.global.exception.TicketingException;
|
||||
|
||||
@@ -1,15 +1,23 @@
|
||||
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.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.ArgumentMatchers.anyLong;
|
||||
import static org.mockito.Mockito.when;
|
||||
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.MovieTime;
|
||||
import com.ticketing.server.movie.domain.Theater;
|
||||
import com.ticketing.server.movie.domain.repository.MovieRepository;
|
||||
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.MovieTimeRegisterDTO;
|
||||
import com.ticketing.server.movie.service.dto.RegisteredMovieTimeDTO;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
@@ -27,11 +35,15 @@ import org.mockito.junit.jupiter.MockitoExtension;
|
||||
public class MovieTimeServiceImplTest {
|
||||
|
||||
String title = "범죄도시2";
|
||||
LocalDateTime startAt = LocalDateTime.now();
|
||||
List<MovieTime> movieTimes = new ArrayList<>();
|
||||
|
||||
@Mock
|
||||
MovieRepository movieRepository;
|
||||
|
||||
@Mock
|
||||
TheaterRepository theaterRepository;
|
||||
|
||||
@Mock
|
||||
MovieTimeRepository movieTimeRepository;
|
||||
|
||||
@@ -39,7 +51,7 @@ public class MovieTimeServiceImplTest {
|
||||
MovieTimeServiceImpl movieTimeService;
|
||||
|
||||
@Test
|
||||
@DisplayName("MovieTime Service Test - get empty list when there are no valid movie times")
|
||||
@DisplayName("MovieTime Service Test - get empty list when there is no valid movie time")
|
||||
void shouldGetEmptyList() {
|
||||
// given
|
||||
Movie movie = new Movie(title, 106L);
|
||||
@@ -82,4 +94,76 @@ public class MovieTimeServiceImplTest {
|
||||
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