summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2017-04-30 13:08:09 +0800
committerBo-Yi Wu <appleboy.tw@gmail.com>2017-04-30 13:08:09 +0800
commit0308d44a16d7bdcda75c1e946dc06efca48ed624 (patch)
treec75453c5a5d59ba59ce7a3939ca183d2d1eaec2f
parent00324cea108bd7625dffcfdbd0d86a4b67fe3f2f (diff)
downloadgitea-0308d44a16d7bdcda75c1e946dc06efca48ed624.tar.gz
gitea-0308d44a16d7bdcda75c1e946dc06efca48ed624.zip
fix #1643 and improve integration test (#1645)
-rw-r--r--integrations/api_repo_test.go9
-rw-r--r--integrations/repo_test.go (renamed from integrations/view_test.go)9
-rw-r--r--integrations/user_test.go21
-rw-r--r--routers/api/v1/repo/repo.go7
4 files changed, 36 insertions, 10 deletions
diff --git a/integrations/api_repo_test.go b/integrations/api_repo_test.go
index febdf31ef2..64649efe1d 100644
--- a/integrations/api_repo_test.go
+++ b/integrations/api_repo_test.go
@@ -21,3 +21,12 @@ func TestAPIUserReposNotLogin(t *testing.T) {
resp := MakeRequest(req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
}
+
+func TestAPISearchRepoNotLogin(t *testing.T) {
+ assert.NoError(t, models.LoadFixtures())
+
+ req, err := http.NewRequest("GET", "/api/v1/repos/search?q=Test", nil)
+ assert.NoError(t, err)
+ resp := MakeRequest(req)
+ assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
+}
diff --git a/integrations/view_test.go b/integrations/repo_test.go
index 26d8348afe..37874c275d 100644
--- a/integrations/view_test.go
+++ b/integrations/repo_test.go
@@ -19,12 +19,3 @@ func TestViewRepo(t *testing.T) {
resp := MakeRequest(req)
assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
}
-
-func TestViewUser(t *testing.T) {
- prepareTestEnv(t)
-
- req, err := http.NewRequest("GET", "/user2", nil)
- assert.NoError(t, err)
- resp := MakeRequest(req)
- assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
-}
diff --git a/integrations/user_test.go b/integrations/user_test.go
new file mode 100644
index 0000000000..f9358c1682
--- /dev/null
+++ b/integrations/user_test.go
@@ -0,0 +1,21 @@
+// 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"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestViewUser(t *testing.T) {
+ prepareTestEnv(t)
+
+ req, err := http.NewRequest("GET", "/user2", nil)
+ assert.NoError(t, err)
+ resp := MakeRequest(req)
+ assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
+}
diff --git a/routers/api/v1/repo/repo.go b/routers/api/v1/repo/repo.go
index 0f22eaeb8f..c0b8bb3d7b 100644
--- a/routers/api/v1/repo/repo.go
+++ b/routers/api/v1/repo/repo.go
@@ -55,6 +55,11 @@ func Search(ctx *context.APIContext) {
return
}
+ var userID int64
+ if ctx.IsSigned {
+ userID = ctx.User.ID
+ }
+
results := make([]*api.Repository, len(repos))
for i, repo := range repos {
if err = repo.GetOwner(); err != nil {
@@ -64,7 +69,7 @@ func Search(ctx *context.APIContext) {
})
return
}
- accessMode, err := models.AccessLevel(ctx.User.ID, repo)
+ accessMode, err := models.AccessLevel(userID, repo)
if err != nil {
ctx.JSON(500, map[string]interface{}{
"ok": false,