* Add fixture gen tool and fix "access" test * Close file before exiting * Add missing repo_unit for repo id: 5 * Fix count on TestAPIOrgRepos Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>tags/v1.10.5
@@ -231,7 +231,7 @@ func TestAPIOrgRepos(t *testing.T) { | |||
includesPrivate bool | |||
}{ | |||
nil: {count: 1}, | |||
user: {count: 2, includesPrivate: true}, | |||
user: {count: 3, includesPrivate: true}, | |||
user2: {count: 3, includesPrivate: true}, | |||
user3: {count: 1}, | |||
} |
@@ -112,7 +112,7 @@ func TestUser_GetAccessibleRepositories(t *testing.T) { | |||
user2 := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | |||
repos, err = user2.GetAccessibleRepositories(0) | |||
assert.NoError(t, err) | |||
assert.Len(t, repos, 1) | |||
assert.Len(t, repos, 4) | |||
user29 := AssertExistsAndLoadBean(t, &User{ID: 29}).(*User) | |||
repos, err = user29.GetAccessibleRepositories(0) |
@@ -0,0 +1,52 @@ | |||
// Copyright 2020 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. | |||
// +build access_fixtures | |||
package models | |||
// This file is excluded from build and tests, and is intended for assisting | |||
// in keeping access.yml in sync with the other .yml files. | |||
// To use it, do: | |||
// cd models | |||
// go test -tags "access_fixtures sqlite sqlite_unlock_notify" -run TestBuildAccessFixturesYaml | |||
import ( | |||
"bufio" | |||
"fmt" | |||
"os" | |||
"testing" | |||
"github.com/stretchr/testify/assert" | |||
) | |||
func TestBuildAccessFixturesYaml(t *testing.T) { | |||
assert.NoError(t, PrepareTestDatabase()) | |||
repos := make([]*Repository, 0, 50) | |||
assert.NoError(t, x.Find(&repos)) | |||
for _, repo := range repos { | |||
repo.MustOwner() | |||
assert.NoError(t, repo.RecalculateAccesses()) | |||
} | |||
f, err := os.Create("fixtures/access.yml") | |||
assert.NoError(t, err) | |||
w := bufio.NewWriter(f) | |||
accesses := make([]*Access, 0, 200) | |||
assert.NoError(t, x.OrderBy("user_id, repo_id").Find(&accesses)) | |||
for i, a := range accesses { | |||
fmt.Fprintf(w, "-\n") | |||
fmt.Fprintf(w, " id: %d\n", i+1) | |||
fmt.Fprintf(w, " user_id: %d\n", a.UserID) | |||
fmt.Fprintf(w, " repo_id: %d\n", a.RepoID) | |||
fmt.Fprintf(w, " mode: %d\n", a.Mode) | |||
fmt.Fprintf(w, "\n") | |||
} | |||
w.Flush() | |||
f.Close() | |||
} |
@@ -2,88 +2,125 @@ | |||
id: 1 | |||
user_id: 2 | |||
repo_id: 3 | |||
mode: 2 # write | |||
mode: 4 | |||
- | |||
id: 2 | |||
user_id: 4 | |||
repo_id: 4 | |||
mode: 2 # write | |||
user_id: 2 | |||
repo_id: 5 | |||
mode: 4 | |||
- | |||
id: 3 | |||
user_id: 4 | |||
repo_id: 3 | |||
mode: 2 # write | |||
user_id: 2 | |||
repo_id: 24 | |||
mode: 2 | |||
- | |||
id: 4 | |||
user_id: 15 | |||
repo_id: 22 | |||
mode: 2 # write | |||
user_id: 2 | |||
repo_id: 32 | |||
mode: 4 | |||
- | |||
id: 5 | |||
user_id: 4 | |||
repo_id: 3 | |||
mode: 2 | |||
- | |||
id: 6 | |||
user_id: 4 | |||
repo_id: 4 | |||
mode: 2 | |||
- | |||
id: 7 | |||
user_id: 4 | |||
repo_id: 40 | |||
mode: 2 | |||
- | |||
id: 8 | |||
user_id: 15 | |||
repo_id: 21 | |||
mode: 2 # write | |||
mode: 2 | |||
- | |||
id: 6 | |||
id: 9 | |||
user_id: 15 | |||
repo_id: 22 | |||
mode: 2 | |||
- | |||
id: 10 | |||
user_id: 15 | |||
repo_id: 23 | |||
mode: 4 # owner | |||
mode: 4 | |||
- | |||
id: 7 | |||
id: 11 | |||
user_id: 15 | |||
repo_id: 24 | |||
mode: 4 # owner | |||
mode: 4 | |||
- | |||
id: 8 | |||
user_id: 18 | |||
repo_id: 23 | |||
mode: 4 # owner | |||
id: 12 | |||
user_id: 15 | |||
repo_id: 32 | |||
mode: 2 | |||
- | |||
id: 9 | |||
id: 13 | |||
user_id: 18 | |||
repo_id: 24 | |||
mode: 4 # owner | |||
repo_id: 21 | |||
mode: 2 | |||
- | |||
id: 10 | |||
id: 14 | |||
user_id: 18 | |||
repo_id: 22 | |||
mode: 2 # write | |||
mode: 2 | |||
- | |||
id: 11 | |||
id: 15 | |||
user_id: 18 | |||
repo_id: 21 | |||
mode: 2 # write | |||
repo_id: 23 | |||
mode: 4 | |||
- | |||
id: 12 | |||
id: 16 | |||
user_id: 18 | |||
repo_id: 24 | |||
mode: 4 | |||
- | |||
id: 17 | |||
user_id: 20 | |||
repo_id: 24 | |||
mode: 1 | |||
- | |||
id: 18 | |||
user_id: 20 | |||
repo_id: 27 | |||
mode: 4 # owner | |||
mode: 4 | |||
- | |||
id: 13 | |||
id: 19 | |||
user_id: 20 | |||
repo_id: 28 | |||
mode: 4 # owner | |||
mode: 4 | |||
- | |||
id: 14 | |||
id: 20 | |||
user_id: 29 | |||
repo_id: 4 | |||
mode: 2 # write (collaborator) | |||
mode: 2 | |||
- | |||
id: 15 | |||
id: 21 | |||
user_id: 29 | |||
repo_id: 24 | |||
mode: 1 # read | |||
mode: 1 | |||
@@ -21,3 +21,27 @@ | |||
repo_id: 4 | |||
user_id: 29 | |||
mode: 2 # write | |||
- | |||
id: 5 | |||
repo_id: 21 | |||
user_id: 15 | |||
mode: 2 # write | |||
- | |||
id: 6 | |||
repo_id: 21 | |||
user_id: 18 | |||
mode: 2 # write | |||
- | |||
id: 7 | |||
repo_id: 22 | |||
user_id: 15 | |||
mode: 2 # write | |||
- | |||
id: 8 | |||
repo_id: 22 | |||
user_id: 18 | |||
mode: 2 # write |
@@ -478,4 +478,39 @@ | |||
repo_id: 2 | |||
type: 2 | |||
config: "{}" | |||
created_unix: 946684810 | |||
created_unix: 946684810 | |||
- | |||
id: 70 | |||
repo_id: 5 | |||
type: 4 | |||
config: "{}" | |||
created_unix: 946684810 | |||
- | |||
id: 71 | |||
repo_id: 5 | |||
type: 5 | |||
config: "{}" | |||
created_unix: 946684810 | |||
- | |||
id: 72 | |||
repo_id: 5 | |||
type: 1 | |||
config: "{}" | |||
created_unix: 946684810 | |||
- | |||
id: 73 | |||
repo_id: 5 | |||
type: 2 | |||
config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}" | |||
created_unix: 946684810 | |||
- | |||
id: 74 | |||
repo_id: 5 | |||
type: 3 | |||
config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowRebaseMerge\":true,\"AllowSquash\":true}" | |||
created_unix: 946684810 |