mirror of
https://github.com/cna-bootcamp/lifesub.git
synced 2026-06-13 04:59:10 +00:00
add cicd
This commit is contained in:
@@ -8,6 +8,7 @@ import com.unicorn.lifesub.member.dto.LogoutRequest;
|
||||
import com.unicorn.lifesub.member.repository.jpa.MemberRepository;
|
||||
import com.unicorn.lifesub.member.test.e2e.config.TestContainerConfig;
|
||||
import com.unicorn.lifesub.member.test.e2e.support.TestDataManager;
|
||||
import jakarta.transaction.Transactional;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@@ -25,6 +26,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
|
||||
@ActiveProfiles("e2e-test")
|
||||
@Transactional
|
||||
class MemberE2ETest extends TestContainerConfig {
|
||||
|
||||
@Autowired
|
||||
|
||||
+14
-1
@@ -7,13 +7,17 @@ import org.testcontainers.containers.PostgreSQLContainer;
|
||||
import org.testcontainers.junit.jupiter.Container;
|
||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||
|
||||
import java.time.Duration;
|
||||
|
||||
@Testcontainers
|
||||
public class TestContainerConfig {
|
||||
@Container
|
||||
static PostgreSQLContainer<?> postgreSQLContainer = new PostgreSQLContainer<>("postgres:13.2-alpine")
|
||||
.withDatabaseName("testdb")
|
||||
.withUsername("test")
|
||||
.withPassword("test");
|
||||
.withPassword("test")
|
||||
.withStartupTimeout(Duration.ofSeconds(60))
|
||||
.withReuse(true); // 컨테이너 재사용 설정
|
||||
|
||||
@DynamicPropertySource
|
||||
static void registerPgProperties(DynamicPropertyRegistry registry) {
|
||||
@@ -21,5 +25,14 @@ public class TestContainerConfig {
|
||||
registry.add("spring.datasource.username", postgreSQLContainer::getUsername);
|
||||
registry.add("spring.datasource.password", postgreSQLContainer::getPassword);
|
||||
registry.add("spring.jpa.hibernate.ddl-auto", () -> "create-drop");
|
||||
|
||||
// HikariCP 설정
|
||||
registry.add("spring.datasource.hikari.maximum-pool-size", () -> "5");
|
||||
registry.add("spring.datasource.hikari.minimum-idle", () -> "2");
|
||||
registry.add("spring.datasource.hikari.idle-timeout", () -> "30000");
|
||||
registry.add("spring.datasource.hikari.connection-timeout", () -> "10000");
|
||||
registry.add("spring.datasource.hikari.max-lifetime", () -> "580000");
|
||||
registry.add("spring.datasource.hikari.validation-timeout", () -> "3000");
|
||||
registry.add("spring.datasource.hikari.connection-test-query", () -> "SELECT 1");
|
||||
}
|
||||
}
|
||||
+2
@@ -2,6 +2,7 @@ package com.unicorn.lifesub.member.test.integration.repository;
|
||||
|
||||
import com.unicorn.lifesub.member.repository.entity.MemberEntity;
|
||||
import com.unicorn.lifesub.member.repository.jpa.MemberRepository;
|
||||
import jakarta.transaction.Transactional;
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -29,6 +30,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
|
||||
@Testcontainers
|
||||
@ActiveProfiles("integration-test")
|
||||
@Transactional
|
||||
class MemberRepositoryIntegrationTest {
|
||||
@Container
|
||||
static PostgreSQLContainer<?> postgreSQLContainer = new PostgreSQLContainer<>("postgres:13.2-alpine")
|
||||
|
||||
@@ -11,6 +11,16 @@ spring:
|
||||
hibernate:
|
||||
format_sql: true
|
||||
dialect: org.hibernate.dialect.PostgreSQLDialect
|
||||
datasource:
|
||||
hikari:
|
||||
maximum-pool-size: 5
|
||||
minimum-idle: 2
|
||||
connection-timeout: 10000 # 10초
|
||||
max-lifetime: 580000 # 약 9.6분 (DB wait_timeout보다 짧게)
|
||||
idle-timeout: 300000 # 5분
|
||||
validation-timeout: 3000 # 3초
|
||||
leak-detection-threshold: 30000
|
||||
connection-test-query: SELECT 1
|
||||
|
||||
# JWT 설정
|
||||
jwt:
|
||||
|
||||
Reference in New Issue
Block a user