Smail/backend/services/verification/row_lock_test.go
smail 2697ba7ac0
Some checks are pending
Security Checks / security (push) Waiting to run
修复验证码服务在 PostgreSQL 下的事务行锁查询
2026-10-06 03:12:46 +08:00

26 lines
710 B
Go

package verification
import "testing"
func TestVerificationLockQuery(t *testing.T) {
const query = "SELECT * FROM verification_rate_limit WHERE dimension_key = ?"
for _, driver := range []string{"postgres", "mysql", "sqlite", "sqlite3"} {
t.Run(driver, func(t *testing.T) {
got, err := verificationLockQuery(driver, query)
if err != nil {
t.Fatal(err)
}
want := query
if driver == "postgres" || driver == "mysql" {
want += " FOR UPDATE"
}
if got != want {
t.Fatalf("query = %q, want %q", got, want)
}
})
}
if got, err := verificationLockQuery("unknown", query); err == nil || got != "" {
t.Fatalf("unsupported driver did not fail closed: %q, %v", got, err)
}
}