fix: 明确拦截档口入库码唯一冲突 (#231)

This commit is contained in:
chengma
2026-08-15 09:12:23 +08:00
parent 9ca7f83289
commit c0eb957097
3 changed files with 44 additions and 2 deletions
+12
View File
@@ -2,8 +2,10 @@ package repository
import (
"database/sql"
"errors"
"testing"
"github.com/go-sql-driver/mysql"
_ "modernc.org/sqlite"
)
@@ -38,3 +40,13 @@ func TestInterruptApplyingInnerCodes_只收敛回写中记录(t *testing.T) {
t.Fatalf("ready 记录不应变化 status=%s err=%v", status, err)
}
}
func TestInnerCodeImportWriteError_唯一冲突不泄漏索引细节(t *testing.T) {
err := innerCodeImportWriteError("新增失败", &mysql.MySQLError{Number: 1062, Message: "Duplicate entry for uq-secret"})
if !errors.Is(err, ErrInnerCodeUniqueConflict) {
t.Fatalf("应识别 MySQL 1062: %v", err)
}
if err.Error() != "新增失败: "+ErrInnerCodeUniqueConflict.Error() {
t.Fatalf("不应回显索引细节: %v", err)
}
}