Skip to content

Commit 62a1322

Browse files
guillep2klunny
andauthored
Fix "access" fixtures and tests (#10247)
* 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 <[email protected]>
1 parent a97fe76 commit 62a1322

File tree

6 files changed

+187
-39
lines changed

6 files changed

+187
-39
lines changed

integrations/api_repo_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ func TestAPIOrgRepos(t *testing.T) {
231231
includesPrivate bool
232232
}{
233233
nil: {count: 1},
234-
user: {count: 2, includesPrivate: true},
234+
user: {count: 3, includesPrivate: true},
235235
user2: {count: 3, includesPrivate: true},
236236
user3: {count: 1},
237237
}

models/access_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ func TestUser_GetAccessibleRepositories(t *testing.T) {
112112
user2 := AssertExistsAndLoadBean(t, &User{ID: 2}).(*User)
113113
repos, err = user2.GetAccessibleRepositories(0)
114114
assert.NoError(t, err)
115-
assert.Len(t, repos, 1)
115+
assert.Len(t, repos, 4)
116116

117117
user29 := AssertExistsAndLoadBean(t, &User{ID: 29}).(*User)
118118
repos, err = user29.GetAccessibleRepositories(0)

models/fixture_access_test.go

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
// Copyright 2020 The Gitea Authors. All rights reserved.
2+
// Use of this source code is governed by a MIT-style
3+
// license that can be found in the LICENSE file.
4+
5+
// +build access_fixtures
6+
7+
package models
8+
9+
// This file is excluded from build and tests, and is intended for assisting
10+
// in keeping access.yml in sync with the other .yml files.
11+
12+
// To use it, do:
13+
// cd models
14+
// go test -tags "access_fixtures sqlite sqlite_unlock_notify" -run TestBuildAccessFixturesYaml
15+
16+
import (
17+
"bufio"
18+
"fmt"
19+
"os"
20+
"testing"
21+
22+
"github.com/stretchr/testify/assert"
23+
)
24+
25+
func TestBuildAccessFixturesYaml(t *testing.T) {
26+
assert.NoError(t, PrepareTestDatabase())
27+
28+
repos := make([]*Repository, 0, 50)
29+
assert.NoError(t, x.Find(&repos))
30+
for _, repo := range repos {
31+
repo.MustOwner()
32+
assert.NoError(t, repo.RecalculateAccesses())
33+
}
34+
35+
f, err := os.Create("fixtures/access.yml")
36+
assert.NoError(t, err)
37+
w := bufio.NewWriter(f)
38+
39+
accesses := make([]*Access, 0, 200)
40+
assert.NoError(t, x.OrderBy("user_id, repo_id").Find(&accesses))
41+
for i, a := range accesses {
42+
fmt.Fprintf(w, "-\n")
43+
fmt.Fprintf(w, " id: %d\n", i+1)
44+
fmt.Fprintf(w, " user_id: %d\n", a.UserID)
45+
fmt.Fprintf(w, " repo_id: %d\n", a.RepoID)
46+
fmt.Fprintf(w, " mode: %d\n", a.Mode)
47+
fmt.Fprintf(w, "\n")
48+
}
49+
50+
w.Flush()
51+
f.Close()
52+
}

models/fixtures/access.yml

Lines changed: 73 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,88 +2,125 @@
22
id: 1
33
user_id: 2
44
repo_id: 3
5-
mode: 2 # write
5+
mode: 4
66

77
-
88
id: 2
9-
user_id: 4
10-
repo_id: 4
11-
mode: 2 # write
9+
user_id: 2
10+
repo_id: 5
11+
mode: 4
1212

1313
-
1414
id: 3
15-
user_id: 4
16-
repo_id: 3
17-
mode: 2 # write
15+
user_id: 2
16+
repo_id: 24
17+
mode: 2
1818

1919
-
2020
id: 4
21-
user_id: 15
22-
repo_id: 22
23-
mode: 2 # write
21+
user_id: 2
22+
repo_id: 32
23+
mode: 4
2424

2525
-
2626
id: 5
27+
user_id: 4
28+
repo_id: 3
29+
mode: 2
30+
31+
-
32+
id: 6
33+
user_id: 4
34+
repo_id: 4
35+
mode: 2
36+
37+
-
38+
id: 7
39+
user_id: 4
40+
repo_id: 40
41+
mode: 2
42+
43+
-
44+
id: 8
2745
user_id: 15
2846
repo_id: 21
29-
mode: 2 # write
47+
mode: 2
3048

3149
-
32-
id: 6
50+
id: 9
51+
user_id: 15
52+
repo_id: 22
53+
mode: 2
54+
55+
-
56+
id: 10
3357
user_id: 15
3458
repo_id: 23
35-
mode: 4 # owner
59+
mode: 4
3660

3761
-
38-
id: 7
62+
id: 11
3963
user_id: 15
4064
repo_id: 24
41-
mode: 4 # owner
65+
mode: 4
4266

4367
-
44-
id: 8
45-
user_id: 18
46-
repo_id: 23
47-
mode: 4 # owner
68+
id: 12
69+
user_id: 15
70+
repo_id: 32
71+
mode: 2
4872

4973
-
50-
id: 9
74+
id: 13
5175
user_id: 18
52-
repo_id: 24
53-
mode: 4 # owner
76+
repo_id: 21
77+
mode: 2
5478

5579
-
56-
id: 10
80+
id: 14
5781
user_id: 18
5882
repo_id: 22
59-
mode: 2 # write
83+
mode: 2
6084

6185
-
62-
id: 11
86+
id: 15
6387
user_id: 18
64-
repo_id: 21
65-
mode: 2 # write
88+
repo_id: 23
89+
mode: 4
6690

6791
-
68-
id: 12
92+
id: 16
93+
user_id: 18
94+
repo_id: 24
95+
mode: 4
96+
97+
-
98+
id: 17
99+
user_id: 20
100+
repo_id: 24
101+
mode: 1
102+
103+
-
104+
id: 18
69105
user_id: 20
70106
repo_id: 27
71-
mode: 4 # owner
72-
107+
mode: 4
108+
73109
-
74-
id: 13
110+
id: 19
75111
user_id: 20
76112
repo_id: 28
77-
mode: 4 # owner
113+
mode: 4
78114

79115
-
80-
id: 14
116+
id: 20
81117
user_id: 29
82118
repo_id: 4
83-
mode: 2 # write (collaborator)
119+
mode: 2
84120

85121
-
86-
id: 15
122+
id: 21
87123
user_id: 29
88124
repo_id: 24
89-
mode: 1 # read
125+
mode: 1
126+

models/fixtures/collaboration.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,27 @@
2121
repo_id: 4
2222
user_id: 29
2323
mode: 2 # write
24+
25+
-
26+
id: 5
27+
repo_id: 21
28+
user_id: 15
29+
mode: 2 # write
30+
31+
-
32+
id: 6
33+
repo_id: 21
34+
user_id: 18
35+
mode: 2 # write
36+
37+
-
38+
id: 7
39+
repo_id: 22
40+
user_id: 15
41+
mode: 2 # write
42+
43+
-
44+
id: 8
45+
repo_id: 22
46+
user_id: 18
47+
mode: 2 # write

models/fixtures/repo_unit.yml

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -478,4 +478,39 @@
478478
repo_id: 2
479479
type: 2
480480
config: "{}"
481-
created_unix: 946684810
481+
created_unix: 946684810
482+
483+
-
484+
id: 70
485+
repo_id: 5
486+
type: 4
487+
config: "{}"
488+
created_unix: 946684810
489+
490+
-
491+
id: 71
492+
repo_id: 5
493+
type: 5
494+
config: "{}"
495+
created_unix: 946684810
496+
497+
-
498+
id: 72
499+
repo_id: 5
500+
type: 1
501+
config: "{}"
502+
created_unix: 946684810
503+
504+
-
505+
id: 73
506+
repo_id: 5
507+
type: 2
508+
config: "{\"EnableTimetracker\":true,\"AllowOnlyContributorsToTrackTime\":true}"
509+
created_unix: 946684810
510+
511+
-
512+
id: 74
513+
repo_id: 5
514+
type: 3
515+
config: "{\"IgnoreWhitespaceConflicts\":false,\"AllowMerge\":true,\"AllowRebase\":true,\"AllowRebaseMerge\":true,\"AllowSquash\":true}"
516+
created_unix: 946684810

0 commit comments

Comments
 (0)