fix: fix unit test
This commit is contained in:
parent
96596e6608
commit
896b1be443
@ -356,24 +356,29 @@ func TestDuplicateMany2ManyAssociation(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestConcurrentMany2ManyAssociation(t *testing.T) {
|
func TestConcurrentMany2ManyAssociation(t *testing.T) {
|
||||||
|
db, err := OpenTestConnection()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("open test connection failed, err: %+v", err)
|
||||||
|
}
|
||||||
|
|
||||||
var count = 3
|
var count = 3
|
||||||
|
|
||||||
var languages []Language
|
var languages []Language
|
||||||
for i := 0; i < count; i++ {
|
for i := 0; i < count; i++ {
|
||||||
language := Language{Code: fmt.Sprintf("consurrent %d", i)}
|
language := Language{Code: fmt.Sprintf("consurrent %d", i)}
|
||||||
DB.Create(&language)
|
db.Create(&language)
|
||||||
languages = append(languages, language)
|
languages = append(languages, language)
|
||||||
}
|
}
|
||||||
|
|
||||||
user := User{}
|
user := User{}
|
||||||
DB.Create(&user)
|
db.Create(&user)
|
||||||
DB.Preload("Languages").FirstOrCreate(&user)
|
db.Preload("Languages").FirstOrCreate(&user)
|
||||||
|
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
for i := 0; i < count; i++ {
|
for i := 0; i < count; i++ {
|
||||||
wg.Add(1)
|
wg.Add(1)
|
||||||
go func(user User, language Language) {
|
go func(user User, language Language) {
|
||||||
err := DB.Model(&user).Association("Languages").Append(&language)
|
err := db.Model(&user).Association("Languages").Append(&language)
|
||||||
AssertEqual(t, err, nil)
|
AssertEqual(t, err, nil)
|
||||||
|
|
||||||
wg.Done()
|
wg.Done()
|
||||||
@ -382,7 +387,7 @@ func TestConcurrentMany2ManyAssociation(t *testing.T) {
|
|||||||
wg.Wait()
|
wg.Wait()
|
||||||
|
|
||||||
var find User
|
var find User
|
||||||
err := DB.Preload(clause.Associations).Where("id = ?", user.ID).First(&find).Error
|
err = db.Preload(clause.Associations).Where("id = ?", user.ID).First(&find).Error
|
||||||
AssertEqual(t, err, nil)
|
AssertEqual(t, err, nil)
|
||||||
AssertAssociationCount(t, find, "Languages", int64(count), "after concurrent append")
|
AssertAssociationCount(t, find, "Languages", int64(count), "after concurrent append")
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user