githaven/models/fixtures/repository.yml
zeripath 0b4a8be26b
Ensure that restricted users can access repos for which they are members (#17460)
There is a small bug in the way that repo access is checked in
repoAssignment: Accessibility is checked by checking if the user has a
marked access to the repository instead of checking if the user has any
team granted access.

This PR changes this permissions check to use HasAccess() which does the
correct test. There is also a fix in the release api ListReleases where
it should return draft releases if the user is a member of a team with
write access to the releases.

The PR also adds a testcase.

Signed-off-by: Andrew Thornton <art27@cantab.net>
2021-10-28 10:54:40 +08:00

739 lines
12 KiB
YAML

-
id: 1
owner_id: 2
owner_name: user2
lower_name: repo1
name: repo1
is_archived: false
is_empty: false
is_private: false
num_issues: 2
num_closed_issues: 1
num_pulls: 3
num_closed_pulls: 0
num_milestones: 3
num_closed_milestones: 1
num_watches: 4
num_projects: 1
num_closed_projects: 0
status: 0
-
id: 2
owner_id: 2
owner_name: user2
lower_name: repo2
name: repo2
is_archived: false
is_private: true
num_issues: 2
num_closed_issues: 1
num_pulls: 0
num_closed_pulls: 0
num_stars: 1
close_issues_via_commit_in_any_branch: true
status: 0
-
id: 3
owner_id: 3
owner_name: user3
lower_name: repo3
name: repo3
is_private: true
num_issues: 1
num_closed_issues: 0
num_pulls: 1
num_closed_pulls: 0
num_watches: 0
num_projects: 1
num_closed_projects: 0
status: 0
-
id: 4
owner_id: 5
owner_name: user5
lower_name: repo4
name: repo4
is_private: false
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
num_stars: 1
num_projects: 0
num_closed_projects: 1
status: 0
-
id: 5
owner_id: 3
owner_name: user3
lower_name: repo5
name: repo5
is_private: true
num_issues: 1
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
num_watches: 0
is_mirror: true
status: 0
-
id: 6
owner_id: 10
owner_name: user10
lower_name: repo6
name: repo6
is_private: true
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
status: 0
-
id: 7
owner_id: 10
owner_name: user10
lower_name: repo7
name: repo7
is_private: true
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
status: 0
-
id: 8
owner_id: 10
owner_name: user10
lower_name: repo8
name: repo8
is_private: false
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
status: 0
-
id: 9
owner_id: 11
owner_name: user11
lower_name: repo9
name: repo9
is_private: false
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
status: 0
-
id: 10
owner_id: 12
owner_name: user12
lower_name: repo10
name: repo10
is_private: false
num_issues: 0
num_closed_issues: 0
num_pulls: 1
num_closed_pulls: 0
num_milestones: 1
is_mirror: false
num_forks: 1
status: 0
-
id: 11
fork_id: 10
owner_id: 13
owner_name: user13
lower_name: repo11
name: repo11
is_private: false
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
status: 0
-
id: 12
owner_id: 14
owner_name: user14
lower_name: test_repo_12
name: test_repo_12
is_private: false
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
status: 0
-
id: 13
owner_id: 14
owner_name: user14
lower_name: test_repo_13
name: test_repo_13
is_private: true
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
status: 0
-
id: 14
owner_id: 14
owner_name: user14
lower_name: test_repo_14
name: test_repo_14
description: test_description_14
is_private: false
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
status: 0
-
id: 15
owner_id: 2
owner_name: user2
lower_name: repo15
name: repo15
is_empty: true
status: 0
-
id: 16
owner_id: 2
owner_name: user2
lower_name: repo16
name: repo16
is_private: true
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
num_watches: 0
status: 0
-
id: 17
owner_id: 15
owner_name: user15
lower_name: big_test_public_1
name: big_test_public_1
is_private: false
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
num_watches: 0
is_mirror: false
is_fork: false
status: 0
-
id: 18
owner_id: 15
owner_name: user15
lower_name: big_test_public_2
name: big_test_public_2
is_private: false
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
is_fork: false
status: 0
-
id: 19
owner_id: 15
owner_name: user15
lower_name: big_test_private_1
name: big_test_private_1
is_private: true
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
is_fork: false
status: 0
-
id: 20
owner_id: 15
owner_name: user15
lower_name: big_test_private_2
name: big_test_private_2
is_private: true
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
is_fork: false
status: 0
-
id: 21
owner_id: 16
owner_name: user16
lower_name: big_test_public_3
name: big_test_public_3
is_private: false
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
is_fork: false
status: 0
-
id: 22
owner_id: 16
owner_name: user16
lower_name: big_test_private_3
name: big_test_private_3
is_private: true
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
is_fork: false
status: 0
-
id: 23
owner_id: 17
owner_name: user17
lower_name: big_test_public_4
name: big_test_public_4
is_private: false
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
is_fork: false
status: 0
-
id: 24
owner_id: 17
owner_name: user17
lower_name: big_test_private_4
name: big_test_private_4
is_private: true
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
is_fork: false
status: 0
-
id: 25
owner_id: 20
owner_name: user20
lower_name: big_test_public_mirror_5
name: big_test_public_mirror_5
is_private: false
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
num_watches: 0
is_mirror: true
is_fork: false
status: 0
-
id: 26
owner_id: 20
owner_name: user20
lower_name: big_test_private_mirror_5
name: big_test_private_mirror_5
is_private: true
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
num_watches: 0
is_mirror: true
is_fork: false
status: 0
-
id: 27
owner_id: 19
owner_name: user19
lower_name: big_test_public_mirror_6
name: big_test_public_mirror_6
is_private: false
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
num_watches: 0
is_mirror: true
num_forks: 1
is_fork: false
status: 0
-
id: 28
owner_id: 19
owner_name: user19
lower_name: big_test_private_mirror_6
name: big_test_private_mirror_6
is_private: true
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
num_watches: 0
is_mirror: true
num_forks: 1
is_fork: false
status: 0
-
id: 29
fork_id: 27
owner_id: 20
owner_name: user20
lower_name: big_test_public_fork_7
name: big_test_public_fork_7
is_private: false
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
is_fork: true
status: 0
-
id: 30
fork_id: 28
owner_id: 20
owner_name: user20
lower_name: big_test_private_fork_7
name: big_test_private_fork_7
is_private: true
num_issues: 0
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
is_mirror: false
is_fork: true
status: 0
-
id: 31
owner_id: 2
owner_name: user2
lower_name: repo20
name: repo20
num_stars: 0
num_forks: 0
num_issues: 0
is_mirror: false
status: 0
-
id: 32 # org public repo
owner_id: 3
owner_name: user3
lower_name: repo21
name: repo21
is_private: false
num_stars: 0
num_forks: 0
num_issues: 0
is_mirror: false
status: 0
-
id: 33
owner_id: 2
owner_name: user2
lower_name: utf8
name: utf8
is_private: false
status: 0
-
id: 34
owner_id: 21
owner_name: user21
lower_name: golang
name: golang
is_private: false
num_stars: 0
num_forks: 0
num_issues: 0
is_mirror: false
status: 0
-
id: 35
owner_id: 21
owner_name: user21
lower_name: graphql
name: graphql
is_private: false
num_stars: 0
num_forks: 0
num_issues: 0
is_mirror: false
status: 0
-
id: 36
owner_id: 2
owner_name: user2
lower_name: commits_search_test
name: commits_search_test
is_private: false
num_stars: 0
num_forks: 0
num_issues: 0
is_mirror: false
status: 0
-
id: 37
owner_id: 2
owner_name: user2
lower_name: git_hooks_test
name: git_hooks_test
is_private: false
num_stars: 0
num_forks: 0
num_issues: 0
is_mirror: false
status: 0
-
id: 38
owner_id: 22
owner_name: limited_org
lower_name: public_repo_on_limited_org
name: public_repo_on_limited_org
is_private: false
num_stars: 0
num_forks: 0
num_issues: 0
is_mirror: false
status: 0
-
id: 39
owner_id: 22
owner_name: limited_org
lower_name: private_repo_on_limited_org
name: private_repo_on_limited_org
is_private: true
num_stars: 0
num_forks: 0
num_issues: 0
is_mirror: false
status: 0
-
id: 40
owner_id: 23
owner_name: privated_org
lower_name: public_repo_on_private_org
name: public_repo_on_private_org
is_private: false
num_stars: 0
num_forks: 0
num_issues: 0
is_mirror: false
status: 0
-
id: 41
owner_id: 23
owner_name: privated_org
lower_name: private_repo_on_private_org
name: private_repo_on_private_org
is_private: true
num_stars: 0
num_forks: 0
num_issues: 0
is_mirror: false
-
id: 42
owner_id: 2
owner_name: user2
lower_name: glob
name: glob
is_private: false
num_stars: 0
num_forks: 0
num_issues: 1
num_milestones: 1
is_mirror: false
-
id: 43
owner_id: 26
owner_name: org26
lower_name: repo26
name: repo26
is_private: true
num_stars: 0
num_forks: 0
num_issues: 0
is_mirror: false
status: 0
-
id: 44
owner_id: 27
owner_name: user27
lower_name: template1
name: template1
is_private: false
is_template: true
num_stars: 0
num_forks: 0
num_issues: 0
is_mirror: false
status: 0
-
id: 45
owner_id: 27
owner_name: user27
lower_name: template2
name: template2
is_private: false
is_template: true
num_stars: 0
num_forks: 0
num_issues: 0
is_mirror: false
status: 0
-
id: 46
owner_id: 26
owner_name: org26
lower_name: repo_external_tracker
name: repo_external_tracker
is_private: false
num_stars: 0
num_forks: 0
num_issues: 0
is_mirror: false
status: 0
-
id: 47
owner_id: 26
owner_name: org26
lower_name: repo_external_tracker_numeric
name: repo_external_tracker_numeric
is_private: false
num_stars: 0
num_forks: 0
num_issues: 0
is_mirror: false
status: 0
-
id: 48
owner_id: 26
owner_name: org26
lower_name: repo_external_tracker_alpha
name: repo_external_tracker_alpha
is_private: false
num_stars: 0
num_forks: 0
num_issues: 0
num_pulls: 1
is_mirror: false
status: 0
-
id: 49
owner_id: 27
owner_name: user27
lower_name: repo49
name: repo49
is_private: false
num_stars: 0
num_forks: 0
num_issues: 0
is_mirror: false
status: 0
-
id: 50
owner_id: 30
owner_name: user30
lower_name: repo50
name: repo50
is_archived: false
is_empty: false
is_private: false
num_issues: 1
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
num_milestones: 0
num_closed_milestones: 0
num_watches: 0
num_projects: 0
num_closed_projects: 0
status: 0
-
id: 51
owner_id: 30
owner_name: user30
lower_name: repo51
name: repo51
is_archived: true
is_empty: false
is_private: false
num_issues: 1
num_closed_issues: 0
num_pulls: 0
num_closed_pulls: 0
num_milestones: 0
num_closed_milestones: 0
num_watches: 0
num_projects: 0
num_closed_projects: 0
status: 0