bug fixed for API to get user's repos (#1622)
* bug fixed for API to get user's repos * add tests and fix another place * test user2 since user1 has no repos
This commit is contained in:
parent
cebe3a6b2f
commit
61b08b5c01
|
@ -0,0 +1,23 @@
|
|||
// Copyright 2017 The Gitea Authors. All rights reserved.
|
||||
// Use of this source code is governed by a MIT-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package integrations
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"testing"
|
||||
|
||||
"code.gitea.io/gitea/models"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestAPIUserReposNotLogin(t *testing.T) {
|
||||
assert.NoError(t, models.LoadFixtures())
|
||||
|
||||
req, err := http.NewRequest("GET", "/api/v1/users/user2/repos", nil)
|
||||
assert.NoError(t, err)
|
||||
resp := MakeRequest(req)
|
||||
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
|
||||
}
|
|
@ -9,15 +9,18 @@ import (
|
|||
// listUserRepos - List the repositories owned by the given user.
|
||||
func listUserRepos(ctx *context.APIContext, u *models.User) {
|
||||
userID := u.ID
|
||||
showPrivateRepos := (ctx.User.ID == userID || ctx.User.IsAdmin) && ctx.IsSigned
|
||||
showPrivateRepos := ctx.IsSigned && (ctx.User.ID == userID || ctx.User.IsAdmin)
|
||||
ownRepos, err := models.GetUserRepositories(userID, showPrivateRepos, 1, u.NumRepos, "")
|
||||
if err != nil {
|
||||
ctx.Error(500, "GetUserRepositories", err)
|
||||
return
|
||||
}
|
||||
accessibleRepos, err := getAccessibleRepos(ctx)
|
||||
if err != nil {
|
||||
ctx.Error(500, "GetAccessibleRepos", err)
|
||||
var accessibleRepos []*api.Repository
|
||||
if ctx.User != nil {
|
||||
accessibleRepos, err = getAccessibleRepos(ctx)
|
||||
if err != nil {
|
||||
ctx.Error(500, "GetAccessibleRepos", err)
|
||||
}
|
||||
}
|
||||
apiRepos := make([]*api.Repository, len(ownRepos)+len(accessibleRepos))
|
||||
// Set owned repositories.
|
||||
|
|
Loading…
Reference in New Issue