test: 对齐海外空库初始化合同

This commit is contained in:
2026-09-16 21:06:00 +08:00
parent c6797a8aad
commit 1cd10a9d3b
2 changed files with 20 additions and 15 deletions
@@ -5,6 +5,7 @@ import org.junit.jupiter.api.Test;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.Locale;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
@@ -16,14 +17,16 @@ class WarehousePalletBatchContractTest {
String incremental = read(Path.of("..", "scripts", "db", "incremental.sql")); String incremental = read(Path.of("..", "scripts", "db", "incremental.sql"));
String unified = read(Path.of("..", "deploy", "sql", "海外区域统一增量-MySQL8.sql")); String unified = read(Path.of("..", "deploy", "sql", "海外区域统一增量-MySQL8.sql"));
for (String sql : new String[] {baseline, incremental, unified}) { for (String sql : new String[] {baseline, incremental, unified}) {
assertThat(sql).contains("CREATE TABLE IF NOT EXISTS wh_pallet_batch (") String normalized = sql.toLowerCase(Locale.ROOT)
.contains("CREATE TABLE IF NOT EXISTS wh_pallet_batch_item (") .replace("create table if not exists", "create table");
.contains("confirm_command_hash CHAR(64)") assertThat(normalized).contains("create table wh_pallet_batch (")
.contains("compensate_command_hash CHAR(64)") .contains("create table wh_pallet_batch_item (")
.contains("business_key VARCHAR(100)") .contains("confirm_command_hash char(64)")
.contains("pallet_code VARCHAR(64)") .contains("compensate_command_hash char(64)")
.contains("KEY idx_wh_pallet_batch_item_pallet (pallet_id)") .contains("business_key varchar(100)")
.doesNotContain("UNIQUE KEY uk_wh_pallet_batch_item_pallet (pallet_id)"); .contains("pallet_code varchar(64)")
.contains("key idx_wh_pallet_batch_item_pallet (pallet_id)")
.doesNotContain("unique key uk_wh_pallet_batch_item_pallet (pallet_id)");
} }
} }
@@ -6,22 +6,24 @@ import java.nio.charset.StandardCharsets;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.assertTrue;
class WarehouseUnifiedIncrementalContractTest { class WarehouseUnifiedIncrementalContractTest {
@Test @Test
void overseasUnifiedEntryUpgradesAndValidatesPalletFbaWarehouseCode() throws Exception { void overseasUnifiedEntryInitializesPalletFbaWarehouseCode() throws Exception {
String sql = Files.readString( String sql = Files.readString(
Path.of("..", "deploy", "sql", "海外区域统一增量-MySQL8.sql"), StandardCharsets.UTF_8); Path.of("..", "deploy", "sql", "海外区域统一增量-MySQL8.sql"), StandardCharsets.UTF_8);
assertTrue(sql.contains("USE baiyue_lastlag_warehouse")); assertTrue(sql.contains("USE baiyue_lastlag_warehouse"));
assertTrue(sql.contains("DROP TABLE IF EXISTS wh_service_capability")); assertFalse(sql.contains("CREATE TABLE wh_service_capability ("));
assertTrue(sql.contains("DROP TABLE IF EXISTS wh_warehouse_address")); assertFalse(sql.contains("CREATE TABLE wh_warehouse_address ("));
assertTrue(sql.contains("DROP TABLE IF EXISTS wh_warehouse")); assertFalse(sql.contains("CREATE TABLE wh_warehouse ("));
assertTrue(sql.contains("ALTER TABLE wh_pallet ADD COLUMN fba_warehouse_code VARCHAR(128) NULL")); assertTrue(sql.contains("CREATE TABLE wh_location ("));
assertTrue(sql.contains("@warehouse_pallet_fba_ready")); assertTrue(sql.contains("CREATE TABLE wh_pallet ("));
assertTrue(sql.contains("wh_pallet.fba_warehouse_code migration is incomplete")); assertTrue(sql.contains("fba_warehouse_code varchar(128)"));
assertFalse(sql.contains("ALTER TABLE wh_pallet ADD COLUMN"));
assertTrue(sql.contains("USE baiyue_lastleg")); assertTrue(sql.contains("USE baiyue_lastleg"));
} }
} }