* 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.21.12.1
| @@ -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 | |||