release: freeze 2026-10-15 validated release baseline
CI/CD Pipeline / UI Contracts (source-structure gates) (push) Canceled after 0s
CI/CD Pipeline / E2E (live stack) (push) Canceled after 0s
CI/CD Pipeline / Backend Build & Test (push) Canceled after 0s
CI/CD Pipeline / Admin Web Build (push) Canceled after 0s
CI/CD Pipeline / Mini Program Compile Check (push) Canceled after 0s
CI/CD Pipeline / Migration Validation (push) Canceled after 0s
CI/CD Pipeline / Test Shell Guard (Phase 23 Gate) (push) Canceled after 0s

This commit is contained in:
WorkBuddy
2026-10-15 09:47:31 +08:00
parent 827c23db1d
commit 3c2b967274
149 changed files with 4324 additions and 348 deletions
+33
View File
@@ -0,0 +1,33 @@
// 使用独立验证库;不写入运营演示库。
const { execFileSync, execFile } = require('node:child_process');
const assert = require('node:assert/strict');
const args = ['exec', 'danyang-match-postgres', 'psql', '-U', 'postgres', '-d', 'public_id_validation', '-v', 'ON_ERROR_STOP=1', '-At', '-c'];
const sql = query => execFileSync('docker', [...args, query], { encoding: 'utf8' }).trim();
const parallel = query => new Promise((resolve, reject) => execFile('docker', [...args, query], (error, stdout) => error ? reject(error) : resolve(stdout.trim())));
(async () => {
sql("DELETE FROM public_display_id_counters WHERE local_date='2099-01-01'");
const ids = await Promise.all(Array.from({ length: 20 }, () => parallel("SELECT public_next_display_id('RW','2099-01-01')")));
assert.equal(new Set(ids).size, 20);
assert(ids.every(id => /^RW20990101\d{3}$/.test(id)));
assert.equal(sql("SELECT public_next_display_id('YH','2099-01-01','male')"), 'YH20990101001');
assert.equal(sql("SELECT public_next_display_id('YH','2099-01-01','male')"), 'YH20990101003');
assert.equal(sql("SELECT public_next_display_id('YH','2099-01-01','female')"), 'YH20990101002');
sql("UPDATE public_display_id_counters SET last_sequence=998 WHERE prefix='RW' AND local_date='2099-01-01'");
assert.equal(sql("SELECT public_next_display_id('RW','2099-01-01')"), 'RW20990101999');
assert.throws(() => sql("SELECT public_next_display_id('RW','2099-01-01')"));
assert.throws(() => sql("SELECT public_next_display_id('ZZ','2099-01-01')"));
assert.throws(() => sql("SELECT public_next_display_id('YH','2099-01-01','unknown')"));
sql("BEGIN; SELECT public_next_display_id('HD','2099-01-01'); ROLLBACK;");
assert.equal(sql("SELECT COUNT(*) FROM public_display_id_counters WHERE prefix='HD' AND local_date='2099-01-01'"), '0');
assert.equal(sql("SELECT COUNT(*) FROM public_display_ids WHERE display_id IS NOT NULL AND display_id !~ '^[A-Z]{2}[0-9]{11}$'"), '0');
assert.equal(sql("SELECT COUNT(*) FROM (SELECT display_id FROM public_display_ids WHERE display_id IS NOT NULL GROUP BY display_id HAVING COUNT(*)>1) s"), '0');
assert.equal(sql("SELECT COUNT(*) FROM public_display_id_aliases WHERE entity_type IN ('users','operators') AND new_display_id IS NULL"), '0');
sql("BEGIN; INSERT INTO matchmaker_followups(id,service_id,operator_id,followup_type,content,created_at) SELECT gen_random_uuid(),id,assigned_operator_id,'system','编号事务测试','2099-01-01' FROM matchmaker_services WHERE assigned_operator_id IS NOT NULL LIMIT 1; SELECT 1 / 0; ROLLBACK;");
})().catch(error => {
// 最后一项故意使事务失败,连接退出自动回滚;检查实体和计数器均未遗留。
if (String(error.stderr || error.message).includes('division by zero')) {
assert.equal(sql("SELECT COUNT(*) FROM matchmaker_followups WHERE content='编号事务测试'"), '0');
assert.equal(sql("SELECT COUNT(*) FROM public_display_id_counters WHERE prefix='GJ' AND local_date='2099-01-01'"), '0');
console.log('PASS: PostgreSQL 历史回填、20 路并发、奇偶、999 边界、非法参数和实体事务回滚。');
} else { console.error(error.message); process.exitCode = 1; }
});