优化
This commit is contained in:
@@ -4,6 +4,8 @@ import test from 'node:test'
|
||||
|
||||
const sql = readFileSync(new URL('../../deploy/sql/头程数据库统一增量-MySQL8.sql', import.meta.url), 'utf8')
|
||||
const iamSeed = readFileSync(new URL('../../iam/src/main/resources/db/phase1-admin-rbac.sql', import.meta.url), 'utf8')
|
||||
const oceanBookingSchema = readFileSync(new URL('../../firstleg/src/main/resources/db/phase3-ocean-booking-schema.sql', import.meta.url), 'utf8')
|
||||
const truckAppointmentSchema = readFileSync(new URL('../../firstleg/src/main/resources/db/phase3-truck-appointment-schema.sql', import.meta.url), 'utf8')
|
||||
|
||||
test('统一初始化 SQL 保留最小登录与客户主体', () => {
|
||||
assert.match(sql, /一个平台系统管理员和一个 IT 测试客户管理员/)
|
||||
@@ -31,3 +33,23 @@ test('统一初始化 SQL 提供人工验收所需公共仓储主数据', () =>
|
||||
assert.ok(palletSeed, 'missing pallet initialization seed')
|
||||
assert.doesNotMatch(palletSeed, /\bstatus\b|'AVAILABLE'/)
|
||||
})
|
||||
|
||||
test('三期权限迁移允许脚本历史版本写入的旧权限并在随后收敛', () => {
|
||||
for (const source of [sql, oceanBookingSchema]) {
|
||||
assert.match(source, /id = 5102141[\s\S]*?ocean-booking:view/)
|
||||
assert.match(source, /id = 5102147[\s\S]*?ocean-booking:cancel[\s\S]*?ocean-booking:edit/)
|
||||
assert.match(source, /id = 5102148[\s\S]*?ocean-booking:change[\s\S]*?ocean-booking:delete/)
|
||||
assert.match(source, /SET permission_code='platform:firstleg:ocean-booking:view',status='INACTIVE',deleted=1/)
|
||||
assert.match(source, /UPDATE iam_permission SET status='INACTIVE',deleted=1 WHERE id=5102141/)
|
||||
assert.match(source, /DELETE FROM iam_permission WHERE id IN \(5102143,5102144,5102145\)/)
|
||||
}
|
||||
|
||||
for (const source of [sql, truckAppointmentSchema]) {
|
||||
assert.match(source, /id = 5102151[\s\S]*?truck-appointment:view/)
|
||||
assert.match(source, /SET permission_code='platform:firstleg:truck-appointment:view',status='INACTIVE',deleted=1/)
|
||||
assert.match(source, /UPDATE iam_permission SET status='INACTIVE',deleted=1 WHERE id=5102151/)
|
||||
}
|
||||
|
||||
assert.match(sql, /status='ACTIVE' AND deleted=0[\s\S]*?id BETWEEN 5102140 AND 5102149/)
|
||||
assert.match(sql, /status='ACTIVE' AND deleted=0[\s\S]*?id BETWEEN 5102150 AND 5102154/)
|
||||
})
|
||||
|
||||
@@ -11,8 +11,8 @@ $ErrorActionPreference = 'Stop'
|
||||
$Repo = (Resolve-Path (Join-Path $PSScriptRoot '..')).Path
|
||||
$Workspace = (Resolve-Path (Join-Path $Repo '..')).Path
|
||||
$Acceptance = Join-Path $Workspace '.codex-tmp\p23-04-acceptance'
|
||||
$ExpectedSha256 = '00E8F9C24CE16FE6B4D2B6AF60460AE1AF1D264DFE110D4BDCE611F09EB69EAA'
|
||||
$ExpectedLines = 15403
|
||||
$ExpectedSha256 = '8A269D219F8824352818BB427033F46F79CFB4652F36F0A9DA01A5913ABB50C6'
|
||||
$ExpectedLines = 15673
|
||||
|
||||
if ($TargetHost -notin @('127.0.0.1', 'localhost')) {
|
||||
[Console]::Error.WriteLine('Refusing non-local database; only 127.0.0.1 or localhost is allowed.')
|
||||
|
||||
Reference in New Issue
Block a user