test(sql): align contracts with clean initialization
This commit is contained in:
+15
-5
@@ -30,12 +30,22 @@ class UsTruckOrderSchemaContractTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
void unifiedIncrementalContainsOperationLedgerAndHistoryColumns() throws Exception {
|
||||
void unifiedInitializationContainsOperationLedgerAndHistoryColumns() throws Exception {
|
||||
String sql = Files.readString(Path.of("..", "deploy", "sql", "海外区域统一增量-MySQL8.sql"),
|
||||
StandardCharsets.UTF_8);
|
||||
assertTrue(sql.contains("CREATE TABLE IF NOT EXISTS ll_us_truck_order_operation"));
|
||||
assertTrue(sql.contains("uk_ll_us_truck_operation_key(customer_id,order_id,idempotency_key)"));
|
||||
assertTrue(sql.contains("table_name='ll_us_truck_order_status_history' AND column_name='operation_type'"));
|
||||
assertTrue(sql.contains("table_name='ll_us_truck_order_status_history' AND column_name='idempotency_key'"));
|
||||
String lower = sql.toLowerCase();
|
||||
String normalized = lower.replaceAll("\\s+", "");
|
||||
assertTrue(lower.contains("create table ll_us_truck_order_operation"));
|
||||
assertTrue(normalized.contains("uk_ll_us_truck_operation_key(customer_id,order_id,idempotency_key)"));
|
||||
String history = tableBlock(lower, "ll_us_truck_order_status_history");
|
||||
assertTrue(history.contains("operation_type varchar(64)"));
|
||||
assertTrue(history.contains("idempotency_key varchar(255)"));
|
||||
org.junit.jupiter.api.Assertions.assertFalse(lower.contains("alter table ll_us_truck_order_status_history"));
|
||||
}
|
||||
|
||||
private static String tableBlock(String sql, String table) {
|
||||
int start = sql.indexOf("create table " + table + " (");
|
||||
int end = sql.indexOf(';', start);
|
||||
return start < 0 || end < 0 ? "" : sql.substring(start, end);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user