Merge remote-tracking branch 'origin/test' into dev

# Conflicts:
#	firstleg/src/main/java/com/baiyue/firstleg/service/MeasurementBatchService.java
#	lastleg-service/src/main/resources/db/lastleg.sql
This commit is contained in:
2026-09-03 11:03:25 +08:00
57 changed files with 1016 additions and 111 deletions
@@ -0,0 +1,41 @@
package com.baiyue.order.controller;
import org.junit.jupiter.api.Test;
import org.springframework.core.io.ClassPathResource;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import static org.assertj.core.api.Assertions.assertThat;
class DomesticWarehouseOrderExportPermissionSqlContractTest {
@Test
void keepsOrderExportPermissionAndDownloadGrantInAllInitializationEntrypoints() throws Exception {
String moduleSql = new ClassPathResource("db/platform-order-export-permission.sql")
.getContentAsString(StandardCharsets.UTF_8);
String iamSeed = Files.readString(resolve("iam/src/main/resources/db/phase1-admin-rbac.sql"),
StandardCharsets.UTF_8);
String unified = Files.readString(resolve("deploy/sql/头程数据库统一增量-MySQL8.sql"),
StandardCharsets.UTF_8);
for (String sql : new String[] {moduleSql, iamSeed, unified}) {
assertThat(sql)
.contains("5102026")
.contains("platform:order:export")
.contains("导出订单列表")
.contains("platform:download:list")
.contains("4000003");
}
assertThat(iamSeed).contains("WHERE id IN (5102019, 5102024, 5102025, 5102026)");
assertThat(unified)
.contains("WHERE id IN (5102019, 5102024, 5102025, 5102026)")
.contains("管理员或订单运营角色缺少订单导出与下载中心权限");
}
private static Path resolve(String relative) {
Path direct = Path.of(relative);
return Files.exists(direct) ? direct : Path.of("..").resolve(relative);
}
}