fix: 明确拦截档口入库码唯一冲突 (#231)
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user