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.file.Files;
import java.nio.file.Path;
import java.util.Locale;
import static org.assertj.core.api.Assertions.assertThat;
@@ -16,14 +17,16 @@ class WarehousePalletBatchContractTest {
String incremental = read(Path.of("..", "scripts", "db", "incremental.sql"));
String unified = read(Path.of("..", "deploy", "sql", "海外区域统一增量-MySQL8.sql"));
for (String sql : new String[] {baseline, incremental, unified}) {
assertThat(sql).contains("CREATE TABLE IF NOT EXISTS wh_pallet_batch (")
.contains("CREATE TABLE IF NOT EXISTS wh_pallet_batch_item (")
.contains("confirm_command_hash CHAR(64)")
.contains("compensate_command_hash CHAR(64)")
.contains("business_key VARCHAR(100)")
.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)");
String normalized = sql.toLowerCase(Locale.ROOT)
.replace("create table if not exists", "create table");
assertThat(normalized).contains("create table wh_pallet_batch (")
.contains("create table wh_pallet_batch_item (")
.contains("confirm_command_hash char(64)")
.contains("compensate_command_hash char(64)")
.contains("business_key varchar(100)")
.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.Path;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
class WarehouseUnifiedIncrementalContractTest {
@Test
void overseasUnifiedEntryUpgradesAndValidatesPalletFbaWarehouseCode() throws Exception {
void overseasUnifiedEntryInitializesPalletFbaWarehouseCode() throws Exception {
String sql = Files.readString(
Path.of("..", "deploy", "sql", "海外区域统一增量-MySQL8.sql"), StandardCharsets.UTF_8);
assertTrue(sql.contains("USE baiyue_lastlag_warehouse"));
assertTrue(sql.contains("DROP TABLE IF EXISTS wh_service_capability"));
assertTrue(sql.contains("DROP TABLE IF EXISTS wh_warehouse_address"));
assertTrue(sql.contains("DROP TABLE IF EXISTS wh_warehouse"));
assertTrue(sql.contains("ALTER TABLE wh_pallet ADD COLUMN fba_warehouse_code VARCHAR(128) NULL"));
assertTrue(sql.contains("@warehouse_pallet_fba_ready"));
assertTrue(sql.contains("wh_pallet.fba_warehouse_code migration is incomplete"));
assertFalse(sql.contains("CREATE TABLE wh_service_capability ("));
assertFalse(sql.contains("CREATE TABLE wh_warehouse_address ("));
assertFalse(sql.contains("CREATE TABLE wh_warehouse ("));
assertTrue(sql.contains("CREATE TABLE wh_location ("));
assertTrue(sql.contains("CREATE TABLE wh_pallet ("));
assertTrue(sql.contains("fba_warehouse_code varchar(128)"));
assertFalse(sql.contains("ALTER TABLE wh_pallet ADD COLUMN"));
assertTrue(sql.contains("USE baiyue_lastleg"));
}
}