Files
EdgeAPI/internal/db/models/sys_locker_dao_test.go

47 lines
708 B
Go
Raw Normal View History

2020-09-26 08:06:40 +08:00
package models
import (
_ "github.com/go-sql-driver/mysql"
2021-01-10 17:34:35 +08:00
"github.com/iwind/TeaGo/dbs"
"sync"
2020-09-26 08:06:40 +08:00
"testing"
)
func TestSysLockerDAO_Lock(t *testing.T) {
2021-01-10 17:34:35 +08:00
var tx *dbs.Tx
isOk, err := SharedSysLockerDAO.Lock(tx, "test", 600)
2020-09-26 08:06:40 +08:00
if err != nil {
t.Fatal(err)
}
t.Log(isOk)
if isOk {
2021-01-10 17:34:35 +08:00
err = SharedSysLockerDAO.Unlock(tx, "test")
2020-09-26 08:06:40 +08:00
if err != nil {
t.Fatal(err)
}
}
}
func TestSysLocker_Increase(t *testing.T) {
count := 100
wg := sync.WaitGroup{}
wg.Add(count)
for i := 0; i < count; i++ {
go func() {
defer wg.Done()
v, err := NewSysLockerDAO().Increase(nil, "hello", 0)
if err != nil {
t.Log("err:", err)
return
}
t.Log("v:", v)
}()
}
wg.Wait()
t.Log("ok")
}