From d6b7d58b608bf1cb8f390604d2cfcb11f740a5cb Mon Sep 17 00:00:00 2001 From: NaMinhyeok Date: Sun, 3 May 2026 12:48:19 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B0=B0=ED=8F=AC=20=EC=8B=A4=ED=8C=A8=20?= =?UTF-8?q?=EC=9B=90=EC=9D=B8=EC=9D=84=20=EB=B3=B5=EA=B5=AC=ED=95=9C?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle/wrapper/gradle-wrapper.properties | 2 +- .../db/changelog/db.changelog-master.yaml | 1 + .../fantazzk/LiquibaseChecksumTest.java | 29 +++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 src/test/java/com/naminhyeok/fantazzk/LiquibaseChecksumTest.java 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); + } + } +}