fix(firstleg): consolidate service center migration contract
This commit is contained in:
+30
-7
@@ -60,18 +60,31 @@ class Phase3BookingTruckPermissionSqlContractTest {
|
||||
String sql = unifiedSql();
|
||||
assertThat(sql)
|
||||
.contains("UNIQUE KEY uk_permission_scope_code (tenant_id, app_code, permission_code)")
|
||||
.contains("CREATE PROCEDURE assert_phase3_booking_truck_permission_ids_available()")
|
||||
.contains("三期订舱/拖车权限迁移失败:5102140-5102154 ID 或权限码被其他语义占用")
|
||||
.contains("CREATE PROCEDURE assert_ocean_booking_permission_ids_available()")
|
||||
.contains("CREATE PROCEDURE assert_truck_appointment_permission_ids_available()")
|
||||
.contains("CREATE PROCEDURE assert_phase3_service_center_schema()")
|
||||
.contains("CALL assert_phase3_service_center_schema();")
|
||||
.contains("DROP PROCEDURE IF EXISTS assert_phase3_service_center_schema;")
|
||||
.contains("三期订舱权限迁移失败:5102140-5102149 ID 或权限码被其他语义占用")
|
||||
.contains("三期拖车权限迁移失败:5102150-5102154 ID 或权限码被其他语义占用")
|
||||
.contains("(5102140,0,'PLATFORM','MENU',5102000,'platform:firstleg:ocean-booking:list'")
|
||||
.contains("(5102149,0,'PLATFORM','BUTTON',5102140,'platform:firstleg:ocean-booking:allocate'")
|
||||
.contains("(5102150,0,'PLATFORM','MENU',5102000,'platform:firstleg:truck-appointment:list'")
|
||||
.contains("(5102154,0,'PLATFORM','BUTTON',5102150,'platform:firstleg:truck-appointment:operate'")
|
||||
.contains("role.role_code IN ('PLATFORM_ADMIN','ORDER_OPERATOR')")
|
||||
.contains("CREATE PROCEDURE assert_phase3_booking_truck_permissions()")
|
||||
.contains("统一迁移失败:三期订舱/拖车 15 项权限映射不完整")
|
||||
.contains("统一迁移失败:三期订舱/拖车角色授权不完整")
|
||||
.contains("CALL assert_phase3_booking_truck_permissions()")
|
||||
.contains("DROP PROCEDURE IF EXISTS assert_phase3_booking_truck_permissions;");
|
||||
.doesNotContain("assert_phase3_booking_truck_permission_ids_available")
|
||||
.doesNotContain("/trucking");
|
||||
|
||||
assertThat(count(sql, "(5102140,0,'PLATFORM','MENU',5102000,'platform:firstleg:ocean-booking:list'"))
|
||||
.isEqualTo(1);
|
||||
assertThat(count(sql, "(5102150,0,'PLATFORM','MENU',5102000,'platform:firstleg:truck-appointment:list'"))
|
||||
.isEqualTo(1);
|
||||
assertThat(count(sql, "CREATE PROCEDURE assert_ocean_booking_permission_ids_available()"))
|
||||
.isEqualTo(1);
|
||||
assertThat(count(sql, "CREATE PROCEDURE assert_truck_appointment_permission_ids_available()"))
|
||||
.isEqualTo(1);
|
||||
assertThat(count(sql, "CREATE PROCEDURE assert_phase3_service_center_schema()"))
|
||||
.isEqualTo(1);
|
||||
}
|
||||
|
||||
private static Set<String> authorities(Class<?> controller) {
|
||||
@@ -97,6 +110,16 @@ class Phase3BookingTruckPermissionSqlContractTest {
|
||||
return result;
|
||||
}
|
||||
|
||||
private static int count(String text, String needle) {
|
||||
int count = 0;
|
||||
int offset = 0;
|
||||
while ((offset = text.indexOf(needle, offset)) >= 0) {
|
||||
count++;
|
||||
offset += needle.length();
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
private static String resource(String path) throws Exception {
|
||||
return new ClassPathResource(path).getContentAsString(StandardCharsets.UTF_8);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user