Fix potential assignee query for repo (#18994)
* Fix potential assignee query for repo * Add tests for `GetRepoAssignees` - As per https://github.com/go-gitea/gitea/pull/18994#issuecomment-1058506640 Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Gusted <williamzijl7@hotmail.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
parent
5184c83f6b
commit
e46a8c90ea
2 changed files with 19 additions and 1 deletions
|
@ -153,7 +153,7 @@ func getRepoAssignees(ctx context.Context, repo *repo_model.Repository) (_ []*us
|
||||||
userIDs := make([]int64, 0, 10)
|
userIDs := make([]int64, 0, 10)
|
||||||
if err = e.Table("access").
|
if err = e.Table("access").
|
||||||
Where("repo_id = ? AND mode >= ?", repo.ID, perm.AccessModeWrite).
|
Where("repo_id = ? AND mode >= ?", repo.ID, perm.AccessModeWrite).
|
||||||
Select("id").
|
Select("user_id").
|
||||||
Find(&userIDs); err != nil {
|
Find(&userIDs); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,3 +167,21 @@ func TestLinkedRepository(t *testing.T) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestRepoAssignees(t *testing.T) {
|
||||||
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
||||||
|
|
||||||
|
repo2 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2}).(*repo_model.Repository)
|
||||||
|
users, err := GetRepoAssignees(repo2)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Len(t, users, 1)
|
||||||
|
assert.Equal(t, users[0].ID, int64(2))
|
||||||
|
|
||||||
|
repo21 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 21}).(*repo_model.Repository)
|
||||||
|
users, err = GetRepoAssignees(repo21)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
assert.Len(t, users, 3)
|
||||||
|
assert.Equal(t, users[0].ID, int64(15))
|
||||||
|
assert.Equal(t, users[1].ID, int64(18))
|
||||||
|
assert.Equal(t, users[2].ID, int64(16))
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue