diff --git a/NBE_5_7_2_02TEAM/src/test/java/io/twogether/nbe_5_7_2_02team/db/V2MigrationTest.java b/NBE_5_7_2_02TEAM/src/test/java/io/twogether/nbe_5_7_2_02team/db/V2MigrationTest.java deleted file mode 100644 index fa1f60db..00000000 --- a/NBE_5_7_2_02TEAM/src/test/java/io/twogether/nbe_5_7_2_02team/db/V2MigrationTest.java +++ /dev/null @@ -1,87 +0,0 @@ -package io.twogether.nbe_5_7_2_02team.db; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; - -import com.github.database.rider.core.api.dataset.DataSet; -import com.github.database.rider.spring.api.DBRider; - -import io.twogether.nbe_5_7_2_02team.db.template.MigrationTestTemplate; -import io.twogether.nbe_5_7_2_02team.member.dao.MemberRepository; -import io.twogether.nbe_5_7_2_02team.member.domain.Member; -import io.twogether.nbe_5_7_2_02team.post.dao.PostRepository; -import io.twogether.nbe_5_7_2_02team.post.domain.Post; - -import jakarta.annotation.PostConstruct; - -import org.junit.jupiter.api.DisplayName; -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.dao.DataIntegrityViolationException; - -@DBRider -class V2MigrationTest extends MigrationTestTemplate { - - @PostConstruct - void setUp() { - cleanAndMigrate("1"); - } - - @Autowired MemberRepository memberRepository; - - @Autowired PostRepository postRepository; - - @Test - @DataSet( - value = {"datasets/v1/member.yml", "datasets/v1/post.yml"}, - cleanAfter = true) - @DisplayName("V1에서 V2로 마이그레이션") - void migrateV1toV2() throws Exception { - // given - migrate("2"); - - // when & then - assertDoesNotThrow(this::checkMember); - assertDoesNotThrow(this::checkPost); - } - - void checkMember() throws Exception { - // given - Member member = Member.builder().email("check@test.com").githubId("check").build(); - - // when - Member savedMember = memberRepository.save(member); - - // then - assertThat(savedMember).isEqualTo(member); - assertThat(savedMember.getId()).isEqualTo(3); - assertThat(memberRepository.count()).isEqualTo(3); - assertThat(memberRepository.findById(1L)).isPresent(); - assertThat(memberRepository.findById(1L).get().getName()).isEqualTo("backend"); - } - - void checkPost() throws Exception { - // given - Member member = memberRepository.findById(1L).get(); - Post post = - Post.builder() - .title("checkPost-title") - .content("checkPost-content") - .member(member) - .build(); - - // when - Post savedPost = postRepository.save(post); - - // then - assertThat(savedPost).isEqualTo(post); - assertThat(savedPost.getId()).isEqualTo(3); - assertThat(postRepository.count()).isEqualTo(3); - assertThat(postRepository.findById(1L)).isPresent(); - assertThat(postRepository.findById(1L).get().getTitle()) - .isEqualTo("Looking for Backend Dev"); - assertThatThrownBy(() -> memberRepository.delete(member)) - .isInstanceOf(DataIntegrityViolationException.class); - } -} diff --git a/NBE_5_7_2_02TEAM/src/test/java/io/twogether/nbe_5_7_2_02team/db/template/MigrationTestTemplate.java b/NBE_5_7_2_02TEAM/src/test/java/io/twogether/nbe_5_7_2_02team/db/template/MigrationTestTemplate.java deleted file mode 100644 index 021e8974..00000000 --- a/NBE_5_7_2_02TEAM/src/test/java/io/twogether/nbe_5_7_2_02team/db/template/MigrationTestTemplate.java +++ /dev/null @@ -1,40 +0,0 @@ -package io.twogether.nbe_5_7_2_02team.db.template; - -import org.flywaydb.core.Flyway; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.event.annotation.AfterTestClass; - -import javax.sql.DataSource; - -@SpringBootTest -public abstract class MigrationTestTemplate { - - @Autowired private DataSource dataSource; - @Autowired private Flyway flyway; - - @AfterTestClass - void tearDown() { - flyway.clean(); - } - - public void migrate(String targetVersion) { - Flyway flyway = getFlyway(targetVersion); - flyway.migrate(); - } - - public void cleanAndMigrate(String targetVersion) { - Flyway flyway = getFlyway(targetVersion); - flyway.clean(); - flyway.migrate(); - } - - private Flyway getFlyway(String targetVersion) { - return Flyway.configure() - .cleanDisabled(false) - .dataSource(dataSource) - .locations("classpath:db/migration/test") - .target(targetVersion) - .load(); - } -}