diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index dbc3ce4a..3c4f0c2c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip -networkTimeout=10000 +networkTimeout=120000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/resources/db/changelog/db.changelog-master.yaml b/src/main/resources/db/changelog/db.changelog-master.yaml index f9cdead9..61262c67 100644 --- a/src/main/resources/db/changelog/db.changelog-master.yaml +++ b/src/main/resources/db/changelog/db.changelog-master.yaml @@ -143,6 +143,7 @@ databaseChangeLog: - changeSet: id: 13-room-game-cleanup author: codex + validCheckSum: 9:ab793f9c89fa3ff8af0afacad5e1391f changes: - sqlFile: dbms: h2,postgresql diff --git a/src/test/java/com/naminhyeok/fantazzk/LiquibaseChecksumTest.java b/src/test/java/com/naminhyeok/fantazzk/LiquibaseChecksumTest.java new file mode 100644 index 00000000..bd714f16 --- /dev/null +++ b/src/test/java/com/naminhyeok/fantazzk/LiquibaseChecksumTest.java @@ -0,0 +1,29 @@ +package com.naminhyeok.fantazzk; + +import static org.assertj.core.api.Assertions.assertThat; + +import liquibase.change.CheckSum; +import liquibase.changelog.ChangeLogParameters; +import liquibase.changelog.ChangeSet; +import liquibase.parser.core.yaml.YamlChangeLogParser; +import liquibase.resource.ClassLoaderResourceAccessor; +import org.junit.jupiter.api.Test; + +class LiquibaseChecksumTest { + private static final String CHANGELOG = "db/changelog/db.changelog-master.yaml"; + private static final CheckSum PRODUCTION_ROOM_GAME_CLEANUP_CHECKSUM = CheckSum.parse("9:ab793f9c89fa3ff8af0afacad5e1391f"); + + @Test + void 운영에_적용된_room_game_cleanup_changeset_checksum을_유효하게_유지한다() throws Exception { + ChangeSet changeSet = changeSet("13-room-game-cleanup", "codex"); + + assertThat(changeSet.isCheckSumValid(PRODUCTION_ROOM_GAME_CLEANUP_CHECKSUM)).isTrue(); + } + + private ChangeSet changeSet(String id, String author) throws Exception { + try (var resourceAccessor = new ClassLoaderResourceAccessor(getClass().getClassLoader())) { + var changeLog = new YamlChangeLogParser().parse(CHANGELOG, new ChangeLogParameters(), resourceAccessor); + return changeLog.getChangeSet(CHANGELOG, author, id); + } + } +}