* 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
includesPrivate bool | includesPrivate bool | ||||
}{ | }{ | ||||
nil: {count: 1}, | nil: {count: 1}, | ||||
user: {count: 2, includesPrivate: true}, | |||||
user: {count: 3, includesPrivate: true}, | |||||
user2: {count: 3, includesPrivate: true}, | user2: {count: 3, includesPrivate: true}, | ||||
user3: {count: 1}, | user3: {count: 1}, | ||||
} | } |
user2 := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | user2 := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User) | ||||
repos, err = user2.GetAccessibleRepositories(0) | repos, err = user2.GetAccessibleRepositories(0) | ||||
assert.NoError(t, err) | assert.NoError(t, err) | ||||
assert.Len(t, repos, 1) | |||||
assert.Len(t, repos, 4) | |||||
user29 := AssertExistsAndLoadBean(t, &User{ID: 29}).(*User) | user29 := AssertExistsAndLoadBean(t, &User{ID: 29}).(*User) | ||||
repos, err = user29.GetAccessibleRepositories(0) | repos, err = user29.GetAccessibleRepositories(0) |
// 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() | |||||
} |
id: 1 | id: 1 | ||||
user_id: 2 | user_id: 2 | ||||
repo_id: 3 | repo_id: 3 | ||||
mode: 2 # write | |||||
mode: 4 | |||||
- | - | ||||
id: 2 | id: 2 | ||||
user_id: 4 | |||||
repo_id: 4 | |||||
mode: 2 # write | |||||
user_id: 2 | |||||
repo_id: 5 | |||||
mode: 4 | |||||
- | - | ||||
id: 3 | id: 3 | ||||
user_id: 4 | |||||
repo_id: 3 | |||||
mode: 2 # write | |||||
user_id: 2 | |||||
repo_id: 24 | |||||
mode: 2 | |||||
- | - | ||||
id: 4 | id: 4 | ||||
user_id: 15 | |||||
repo_id: 22 | |||||
mode: 2 # write | |||||
user_id: 2 | |||||
repo_id: 32 | |||||
mode: 4 | |||||
- | - | ||||
id: 5 | 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 | user_id: 15 | ||||
repo_id: 21 | 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 | user_id: 15 | ||||
repo_id: 23 | repo_id: 23 | ||||
mode: 4 # owner | |||||
mode: 4 | |||||
- | - | ||||
id: 7 | |||||
id: 11 | |||||
user_id: 15 | user_id: 15 | ||||
repo_id: 24 | 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 | user_id: 18 | ||||
repo_id: 24 | |||||
mode: 4 # owner | |||||
repo_id: 21 | |||||
mode: 2 | |||||
- | - | ||||
id: 10 | |||||
id: 14 | |||||
user_id: 18 | user_id: 18 | ||||
repo_id: 22 | repo_id: 22 | ||||
mode: 2 # write | |||||
mode: 2 | |||||
- | - | ||||
id: 11 | |||||
id: 15 | |||||
user_id: 18 | 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 | user_id: 20 | ||||
repo_id: 27 | repo_id: 27 | ||||
mode: 4 # owner | |||||
mode: 4 | |||||
- | - | ||||
id: 13 | |||||
id: 19 | |||||
user_id: 20 | user_id: 20 | ||||
repo_id: 28 | repo_id: 28 | ||||
mode: 4 # owner | |||||
mode: 4 | |||||
- | - | ||||
id: 14 | |||||
id: 20 | |||||
user_id: 29 | user_id: 29 | ||||
repo_id: 4 | repo_id: 4 | ||||
mode: 2 # write (collaborator) | |||||
mode: 2 | |||||
- | - | ||||
id: 15 | |||||
id: 21 | |||||
user_id: 29 | user_id: 29 | ||||
repo_id: 24 | repo_id: 24 | ||||
mode: 1 # read | |||||
mode: 1 | |||||
repo_id: 4 | repo_id: 4 | ||||
user_id: 29 | user_id: 29 | ||||
mode: 2 # write | 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 |
repo_id: 2 | repo_id: 2 | ||||
type: 2 | type: 2 | ||||
config: "{}" | 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 |