From b33b753ffc963d562d7f39726865fac93e838af2 Mon Sep 17 00:00:00 2001 From: sunlei Date: Fri, 24 Jul 2026 04:35:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=94=B6=E7=B4=A7QQBot=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E6=B6=88=E6=81=AF=E6=A8=A1=E6=9D=BF=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/refactor-v3/99-verify.sql | 6 +++--- .../qqbot-message-push-sql.spec.ts | 21 +++++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/sql/refactor-v3/99-verify.sql b/sql/refactor-v3/99-verify.sql index 2d4ef2d..0617aee 100644 --- a/sql/refactor-v3/99-verify.sql +++ b/sql/refactor-v3/99-verify.sql @@ -32,9 +32,9 @@ SELECT 'qqbot_message_delivery' AS table_name, COUNT(*) AS row_count FROM qqbot_ SELECT 'seed_qqbot_message_template' AS check_name, COUNT(*) AS matched_rows FROM qqbot_message_template WHERE id = 2041700000000200601 - AND name = 'STUN 映射端口变更默认模板' - AND source_key = 'network.stun.mapping-port-changed' - AND content = '当前STUN的端口已变更为${{endpoint}}' + AND BINARY name = BINARY 'STUN 映射端口变更默认模板' + AND BINARY source_key = BINARY 'network.stun.mapping-port-changed' + AND BINARY content = BINARY '当前STUN的端口已变更为${{endpoint}}' AND enabled = 1 AND is_deleted = 0; diff --git a/test/modules/qqbot/message-push/qqbot-message-push-sql.spec.ts b/test/modules/qqbot/message-push/qqbot-message-push-sql.spec.ts index 8fd046d..9ecb136 100644 --- a/test/modules/qqbot/message-push/qqbot-message-push-sql.spec.ts +++ b/test/modules/qqbot/message-push/qqbot-message-push-sql.spec.ts @@ -437,6 +437,27 @@ describe('QQBot message-push SQL contract', () => { for (const sql of [bootstrapSql, seedSql]) expect(sql).toContain(expectedTemplate); }); + it('verifies the default template stable values with case-sensitive text comparisons', () => { + const defaultTemplateVerify = extractVerificationStatement(verifySql, 'seed_qqbot_message_template'); + expect(defaultTemplateVerify).toBe(normalizeSql(` + select 'seed_qqbot_message_template' as check_name, count(*) as matched_rows + from qqbot_message_template + where id = 2041700000000200601 + and binary name = binary 'STUN 映射端口变更默认模板' + and binary source_key = binary 'network.stun.mapping-port-changed' + and binary content = binary '当前STUN的端口已变更为\${{endpoint}}' + and enabled = 1 + and is_deleted = 0; + `)); + }); + + it('verifies every message-push table with its own complete row-count statement', () => { + for (const table of Object.keys(messagePushTableDefinitions)) { + const statement = extractVerificationStatement(verifySql, table); + expect(statement).toBe(`select '${table}' as table_name, count(*) as row_count from ${table};`); + } + }); + it('keeps every stable menu tuple together and exactly once in every seed file', () => { for (const sql of [bootstrapSql, seedSql, vbenSql]) { const rows = extractMessagePushMenuRows(sql);