From 7e9c479f7de77702622631cff2628a9c8dcbc627 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Thu, 19 Nov 2020 08:27:35 +0000 Subject: Add latest changes from gitlab-org/gitlab@13-6-stable-ee --- .../project_policy_table_shared_context.rb | 903 +++++++++++---------- 1 file changed, 483 insertions(+), 420 deletions(-) (limited to 'spec/support/shared_contexts/policies') diff --git a/spec/support/shared_contexts/policies/project_policy_table_shared_context.rb b/spec/support/shared_contexts/policies/project_policy_table_shared_context.rb index efd82ecb15a..8c9a60fa703 100644 --- a/spec/support/shared_contexts/policies/project_policy_table_shared_context.rb +++ b/spec/support/shared_contexts/policies/project_policy_table_shared_context.rb @@ -3,6 +3,8 @@ RSpec.shared_context 'ProjectPolicyTable context' do using RSpec::Parameterized::TableSyntax + include AdminModeHelper + let(:pendings) { {} } let(:pending?) do pendings.include?( @@ -10,106 +12,117 @@ RSpec.shared_context 'ProjectPolicyTable context' do project_level: project_level, feature_access_level: feature_access_level, membership: membership, + admin_mode: admin_mode, expected_count: expected_count } ) end # rubocop:disable Metrics/AbcSize - # project_level, :feature_access_level, :membership, :expected_count + # project_level, :feature_access_level, :membership, :admin_mode, :expected_count def permission_table_for_reporter_feature_access - :public | :enabled | :admin | 1 - :public | :enabled | :reporter | 1 - :public | :enabled | :guest | 1 - :public | :enabled | :non_member | 1 - :public | :enabled | :anonymous | 1 - - :public | :private | :admin | 1 - :public | :private | :reporter | 1 - :public | :private | :guest | 0 - :public | :private | :non_member | 0 - :public | :private | :anonymous | 0 - - :public | :disabled | :reporter | 0 - :public | :disabled | :guest | 0 - :public | :disabled | :non_member | 0 - :public | :disabled | :anonymous | 0 - - :internal | :enabled | :admin | 1 - :internal | :enabled | :reporter | 1 - :internal | :enabled | :guest | 1 - :internal | :enabled | :non_member | 1 - :internal | :enabled | :anonymous | 0 - - :internal | :private | :admin | 1 - :internal | :private | :reporter | 1 - :internal | :private | :guest | 0 - :internal | :private | :non_member | 0 - :internal | :private | :anonymous | 0 - - :internal | :disabled | :reporter | 0 - :internal | :disabled | :guest | 0 - :internal | :disabled | :non_member | 0 - :internal | :disabled | :anonymous | 0 - - :private | :private | :admin | 1 - :private | :private | :reporter | 1 - :private | :private | :guest | 0 - :private | :private | :non_member | 0 - :private | :private | :anonymous | 0 - - :private | :disabled | :reporter | 0 - :private | :disabled | :guest | 0 - :private | :disabled | :non_member | 0 - :private | :disabled | :anonymous | 0 + :public | :enabled | :admin | true | 1 + :public | :enabled | :admin | false | 1 + :public | :enabled | :reporter | nil | 1 + :public | :enabled | :guest | nil | 1 + :public | :enabled | :non_member | nil | 1 + :public | :enabled | :anonymous | nil | 1 + + :public | :private | :admin | true | 1 + :public | :private | :admin | false | 0 + :public | :private | :reporter | nil | 1 + :public | :private | :guest | nil | 0 + :public | :private | :non_member | nil | 0 + :public | :private | :anonymous | nil | 0 + + :public | :disabled | :reporter | nil | 0 + :public | :disabled | :guest | nil | 0 + :public | :disabled | :non_member | nil | 0 + :public | :disabled | :anonymous | nil | 0 + + :internal | :enabled | :admin | true | 1 + :internal | :enabled | :admin | false | 1 + :internal | :enabled | :reporter | nil | 1 + :internal | :enabled | :guest | nil | 1 + :internal | :enabled | :non_member | nil | 1 + :internal | :enabled | :anonymous | nil | 0 + + :internal | :private | :admin | true | 1 + :internal | :private | :admin | false | 0 + :internal | :private | :reporter | nil | 1 + :internal | :private | :guest | nil | 0 + :internal | :private | :non_member | nil | 0 + :internal | :private | :anonymous | nil | 0 + + :internal | :disabled | :reporter | nil | 0 + :internal | :disabled | :guest | nil | 0 + :internal | :disabled | :non_member | nil | 0 + :internal | :disabled | :anonymous | nil | 0 + + :private | :private | :admin | true | 1 + :private | :private | :admin | false | 0 + :private | :private | :reporter | nil | 1 + :private | :private | :guest | nil | 0 + :private | :private | :non_member | nil | 0 + :private | :private | :anonymous | nil | 0 + + :private | :disabled | :reporter | nil | 0 + :private | :disabled | :guest | nil | 0 + :private | :disabled | :non_member | nil | 0 + :private | :disabled | :anonymous | nil | 0 end - # project_level, :feature_access_level, :membership, :expected_count + # project_level, :feature_access_level, :membership, :admin_mode, :expected_count def permission_table_for_guest_feature_access - :public | :enabled | :admin | 1 - :public | :enabled | :reporter | 1 - :public | :enabled | :guest | 1 - :public | :enabled | :non_member | 1 - :public | :enabled | :anonymous | 1 - - :public | :private | :admin | 1 - :public | :private | :reporter | 1 - :public | :private | :guest | 1 - :public | :private | :non_member | 0 - :public | :private | :anonymous | 0 - - :public | :disabled | :reporter | 0 - :public | :disabled | :guest | 0 - :public | :disabled | :non_member | 0 - :public | :disabled | :anonymous | 0 - - :internal | :enabled | :admin | 1 - :internal | :enabled | :reporter | 1 - :internal | :enabled | :guest | 1 - :internal | :enabled | :non_member | 1 - :internal | :enabled | :anonymous | 0 - - :internal | :private | :admin | 1 - :internal | :private | :reporter | 1 - :internal | :private | :guest | 1 - :internal | :private | :non_member | 0 - :internal | :private | :anonymous | 0 - - :internal | :disabled | :reporter | 0 - :internal | :disabled | :guest | 0 - :internal | :disabled | :non_member | 0 - :internal | :disabled | :anonymous | 0 - - :private | :private | :admin | 1 - :private | :private | :reporter | 1 - :private | :private | :guest | 1 - :private | :private | :non_member | 0 - :private | :private | :anonymous | 0 - - :private | :disabled | :reporter | 0 - :private | :disabled | :guest | 0 - :private | :disabled | :non_member | 0 - :private | :disabled | :anonymous | 0 + :public | :enabled | :admin | true | 1 + :public | :enabled | :admin | false | 1 + :public | :enabled | :reporter | nil | 1 + :public | :enabled | :guest | nil | 1 + :public | :enabled | :non_member | nil | 1 + :public | :enabled | :anonymous | nil | 1 + + :public | :private | :admin | true | 1 + :public | :private | :admin | false | 0 + :public | :private | :reporter | nil | 1 + :public | :private | :guest | nil | 1 + :public | :private | :non_member | nil | 0 + :public | :private | :anonymous | nil | 0 + + :public | :disabled | :reporter | nil | 0 + :public | :disabled | :guest | nil | 0 + :public | :disabled | :non_member | nil | 0 + :public | :disabled | :anonymous | nil | 0 + + :internal | :enabled | :admin | true | 1 + :internal | :enabled | :admin | false | 1 + :internal | :enabled | :reporter | nil | 1 + :internal | :enabled | :guest | nil | 1 + :internal | :enabled | :non_member | nil | 1 + :internal | :enabled | :anonymous | nil | 0 + + :internal | :private | :admin | true | 1 + :internal | :private | :admin | false | 0 + :internal | :private | :reporter | nil | 1 + :internal | :private | :guest | nil | 1 + :internal | :private | :non_member | nil | 0 + :internal | :private | :anonymous | nil | 0 + + :internal | :disabled | :reporter | nil | 0 + :internal | :disabled | :guest | nil | 0 + :internal | :disabled | :non_member | nil | 0 + :internal | :disabled | :anonymous | nil | 0 + + :private | :private | :admin | true | 1 + :private | :private | :admin | false | 0 + :private | :private | :reporter | nil | 1 + :private | :private | :guest | nil | 1 + :private | :private | :non_member | nil | 0 + :private | :private | :anonymous | nil | 0 + + :private | :disabled | :reporter | nil | 0 + :private | :disabled | :guest | nil | 0 + :private | :disabled | :non_member | nil | 0 + :private | :disabled | :anonymous | nil | 0 end # This table is based on permission_table_for_guest_feature_access, @@ -121,184 +134,208 @@ RSpec.shared_context 'ProjectPolicyTable context' do # e.g. `repository` feature has minimum requirement of GUEST, # but a GUEST are prohibited from reading code if project is private. # - # project_level, :feature_access_level, :membership, :expected_count + # project_level, :feature_access_level, :membership, :admin_mode, :expected_count def permission_table_for_guest_feature_access_and_non_private_project_only - :public | :enabled | :admin | 1 - :public | :enabled | :reporter | 1 - :public | :enabled | :guest | 1 - :public | :enabled | :non_member | 1 - :public | :enabled | :anonymous | 1 - - :public | :private | :admin | 1 - :public | :private | :reporter | 1 - :public | :private | :guest | 1 - :public | :private | :non_member | 0 - :public | :private | :anonymous | 0 - - :public | :disabled | :reporter | 0 - :public | :disabled | :guest | 0 - :public | :disabled | :non_member | 0 - :public | :disabled | :anonymous | 0 - - :internal | :enabled | :admin | 1 - :internal | :enabled | :reporter | 1 - :internal | :enabled | :guest | 1 - :internal | :enabled | :non_member | 1 - :internal | :enabled | :anonymous | 0 - - :internal | :private | :admin | 1 - :internal | :private | :reporter | 1 - :internal | :private | :guest | 1 - :internal | :private | :non_member | 0 - :internal | :private | :anonymous | 0 - - :internal | :disabled | :reporter | 0 - :internal | :disabled | :guest | 0 - :internal | :disabled | :non_member | 0 - :internal | :disabled | :anonymous | 0 - - :private | :private | :admin | 1 - :private | :private | :reporter | 1 - :private | :private | :guest | 0 - :private | :private | :non_member | 0 - :private | :private | :anonymous | 0 - - :private | :disabled | :reporter | 0 - :private | :disabled | :guest | 0 - :private | :disabled | :non_member | 0 - :private | :disabled | :anonymous | 0 + :public | :enabled | :admin | true | 1 + :public | :enabled | :admin | false | 1 + :public | :enabled | :reporter | nil | 1 + :public | :enabled | :guest | nil | 1 + :public | :enabled | :non_member | nil | 1 + :public | :enabled | :anonymous | nil | 1 + + :public | :private | :admin | true | 1 + :public | :private | :admin | false | 0 + :public | :private | :reporter | nil | 1 + :public | :private | :guest | nil | 1 + :public | :private | :non_member | nil | 0 + :public | :private | :anonymous | nil | 0 + + :public | :disabled | :reporter | nil | 0 + :public | :disabled | :guest | nil | 0 + :public | :disabled | :non_member | nil | 0 + :public | :disabled | :anonymous | nil | 0 + + :internal | :enabled | :admin | true | 1 + :internal | :enabled | :admin | false | 1 + :internal | :enabled | :reporter | nil | 1 + :internal | :enabled | :guest | nil | 1 + :internal | :enabled | :non_member | nil | 1 + :internal | :enabled | :anonymous | nil | 0 + + :internal | :private | :admin | true | 1 + :internal | :private | :admin | false | 0 + :internal | :private | :reporter | nil | 1 + :internal | :private | :guest | nil | 1 + :internal | :private | :non_member | nil | 0 + :internal | :private | :anonymous | nil | 0 + + :internal | :disabled | :reporter | nil | 0 + :internal | :disabled | :guest | nil | 0 + :internal | :disabled | :non_member | nil | 0 + :internal | :disabled | :anonymous | nil | 0 + + :private | :private | :admin | true | 1 + :private | :private | :admin | false | 0 + :private | :private | :reporter | nil | 1 + :private | :private | :guest | nil | 0 + :private | :private | :non_member | nil | 0 + :private | :private | :anonymous | nil | 0 + + :private | :disabled | :reporter | nil | 0 + :private | :disabled | :guest | nil | 0 + :private | :disabled | :non_member | nil | 0 + :private | :disabled | :anonymous | nil | 0 end - # :project_level, :issues_access_level, :merge_requests_access_level, :membership, :expected_count + # :project_level, :issues_access_level, :merge_requests_access_level, :membership, :admin_mode, :expected_count def permission_table_for_milestone_access - :public | :enabled | :enabled | :admin | 1 - :public | :enabled | :enabled | :reporter | 1 - :public | :enabled | :enabled | :guest | 1 - :public | :enabled | :enabled | :non_member | 1 - :public | :enabled | :enabled | :anonymous | 1 - - :public | :enabled | :private | :admin | 1 - :public | :enabled | :private | :reporter | 1 - :public | :enabled | :private | :guest | 1 - :public | :enabled | :private | :non_member | 1 - :public | :enabled | :private | :anonymous | 1 - - :public | :enabled | :disabled | :admin | 1 - :public | :enabled | :disabled | :reporter | 1 - :public | :enabled | :disabled | :guest | 1 - :public | :enabled | :disabled | :non_member | 1 - :public | :enabled | :disabled | :anonymous | 1 - - :public | :private | :enabled | :admin | 1 - :public | :private | :enabled | :reporter | 1 - :public | :private | :enabled | :guest | 1 - :public | :private | :enabled | :non_member | 1 - :public | :private | :enabled | :anonymous | 1 - - :public | :private | :private | :admin | 1 - :public | :private | :private | :reporter | 1 - :public | :private | :private | :guest | 1 - :public | :private | :private | :non_member | 0 - :public | :private | :private | :anonymous | 0 - - :public | :private | :disabled | :admin | 1 - :public | :private | :disabled | :reporter | 1 - :public | :private | :disabled | :guest | 1 - :public | :private | :disabled | :non_member | 0 - :public | :private | :disabled | :anonymous | 0 - - :public | :disabled | :enabled | :admin | 1 - :public | :disabled | :enabled | :reporter | 1 - :public | :disabled | :enabled | :guest | 1 - :public | :disabled | :enabled | :non_member | 1 - :public | :disabled | :enabled | :anonymous | 1 - - :public | :disabled | :private | :admin | 1 - :public | :disabled | :private | :reporter | 1 - :public | :disabled | :private | :guest | 0 - :public | :disabled | :private | :non_member | 0 - :public | :disabled | :private | :anonymous | 0 - - :public | :disabled | :disabled | :reporter | 0 - :public | :disabled | :disabled | :guest | 0 - :public | :disabled | :disabled | :non_member | 0 - :public | :disabled | :disabled | :anonymous | 0 - - :internal | :enabled | :enabled | :admin | 1 - :internal | :enabled | :enabled | :reporter | 1 - :internal | :enabled | :enabled | :guest | 1 - :internal | :enabled | :enabled | :non_member | 1 - :internal | :enabled | :enabled | :anonymous | 0 - - :internal | :enabled | :private | :admin | 1 - :internal | :enabled | :private | :reporter | 1 - :internal | :enabled | :private | :guest | 1 - :internal | :enabled | :private | :non_member | 1 - :internal | :enabled | :private | :anonymous | 0 - - :internal | :enabled | :disabled | :admin | 1 - :internal | :enabled | :disabled | :reporter | 1 - :internal | :enabled | :disabled | :guest | 1 - :internal | :enabled | :disabled | :non_member | 1 - :internal | :enabled | :disabled | :anonymous | 0 - - :internal | :private | :enabled | :admin | 1 - :internal | :private | :enabled | :reporter | 1 - :internal | :private | :enabled | :guest | 1 - :internal | :private | :enabled | :non_member | 1 - :internal | :private | :enabled | :anonymous | 0 - - :internal | :private | :private | :admin | 1 - :internal | :private | :private | :reporter | 1 - :internal | :private | :private | :guest | 1 - :internal | :private | :private | :non_member | 0 - :internal | :private | :private | :anonymous | 0 - - :internal | :private | :disabled | :admin | 1 - :internal | :private | :disabled | :reporter | 1 - :internal | :private | :disabled | :guest | 1 - :internal | :private | :disabled | :non_member | 0 - :internal | :private | :disabled | :anonymous | 0 - - :internal | :disabled | :enabled | :admin | 1 - :internal | :disabled | :enabled | :reporter | 1 - :internal | :disabled | :enabled | :guest | 1 - :internal | :disabled | :enabled | :non_member | 1 - :internal | :disabled | :enabled | :anonymous | 0 - - :internal | :disabled | :private | :admin | 1 - :internal | :disabled | :private | :reporter | 1 - :internal | :disabled | :private | :guest | 0 - :internal | :disabled | :private | :non_member | 0 - :internal | :disabled | :private | :anonymous | 0 - - :internal | :disabled | :disabled | :reporter | 0 - :internal | :disabled | :disabled | :guest | 0 - :internal | :disabled | :disabled | :non_member | 0 - :internal | :disabled | :disabled | :anonymous | 0 - - :private | :private | :private | :admin | 1 - :private | :private | :private | :reporter | 1 - :private | :private | :private | :guest | 1 - :private | :private | :private | :non_member | 0 - :private | :private | :private | :anonymous | 0 - - :private | :private | :disabled | :admin | 1 - :private | :private | :disabled | :reporter | 1 - :private | :private | :disabled | :guest | 1 - :private | :private | :disabled | :non_member | 0 - :private | :private | :disabled | :anonymous | 0 - - :private | :disabled | :private | :admin | 1 - :private | :disabled | :private | :reporter | 1 - :private | :disabled | :private | :guest | 0 - :private | :disabled | :private | :non_member | 0 - :private | :disabled | :private | :anonymous | 0 - - :private | :disabled | :disabled | :reporter | 0 - :private | :disabled | :disabled | :guest | 0 - :private | :disabled | :disabled | :non_member | 0 - :private | :disabled | :disabled | :anonymous | 0 + :public | :enabled | :enabled | :admin | true | 1 + :public | :enabled | :enabled | :admin | false | 1 + :public | :enabled | :enabled | :reporter | nil | 1 + :public | :enabled | :enabled | :guest | nil | 1 + :public | :enabled | :enabled | :non_member | nil | 1 + :public | :enabled | :enabled | :anonymous | nil | 1 + + :public | :enabled | :private | :admin | true | 1 + :public | :enabled | :private | :admin | false | 1 + :public | :enabled | :private | :reporter | nil | 1 + :public | :enabled | :private | :guest | nil | 1 + :public | :enabled | :private | :non_member | nil | 1 + :public | :enabled | :private | :anonymous | nil | 1 + + :public | :enabled | :disabled | :admin | true | 1 + :public | :enabled | :disabled | :admin | false | 1 + :public | :enabled | :disabled | :reporter | nil | 1 + :public | :enabled | :disabled | :guest | nil | 1 + :public | :enabled | :disabled | :non_member | nil | 1 + :public | :enabled | :disabled | :anonymous | nil | 1 + + :public | :private | :enabled | :admin | true | 1 + :public | :private | :enabled | :admin | false | 1 + :public | :private | :enabled | :reporter | nil | 1 + :public | :private | :enabled | :guest | nil | 1 + :public | :private | :enabled | :non_member | nil | 1 + :public | :private | :enabled | :anonymous | nil | 1 + + :public | :private | :private | :admin | true | 1 + :public | :private | :private | :admin | false | 0 + :public | :private | :private | :reporter | nil | 1 + :public | :private | :private | :guest | nil | 1 + :public | :private | :private | :non_member | nil | 0 + :public | :private | :private | :anonymous | nil | 0 + + :public | :private | :disabled | :admin | true | 1 + :public | :private | :disabled | :admin | false | 0 + :public | :private | :disabled | :reporter | nil | 1 + :public | :private | :disabled | :guest | nil | 1 + :public | :private | :disabled | :non_member | nil | 0 + :public | :private | :disabled | :anonymous | nil | 0 + + :public | :disabled | :enabled | :admin | true | 1 + :public | :disabled | :enabled | :admin | false | 1 + :public | :disabled | :enabled | :reporter | nil | 1 + :public | :disabled | :enabled | :guest | nil | 1 + :public | :disabled | :enabled | :non_member | nil | 1 + :public | :disabled | :enabled | :anonymous | nil | 1 + + :public | :disabled | :private | :admin | true | 1 + :public | :disabled | :private | :admin | false | 0 + :public | :disabled | :private | :reporter | nil | 1 + :public | :disabled | :private | :guest | nil | 0 + :public | :disabled | :private | :non_member | nil | 0 + :public | :disabled | :private | :anonymous | nil | 0 + + :public | :disabled | :disabled | :reporter | nil | 0 + :public | :disabled | :disabled | :guest | nil | 0 + :public | :disabled | :disabled | :non_member | nil | 0 + :public | :disabled | :disabled | :anonymous | nil | 0 + + :internal | :enabled | :enabled | :admin | true | 1 + :internal | :enabled | :enabled | :admin | false | 1 + :internal | :enabled | :enabled | :reporter | nil | 1 + :internal | :enabled | :enabled | :guest | nil | 1 + :internal | :enabled | :enabled | :non_member | nil | 1 + :internal | :enabled | :enabled | :anonymous | nil | 0 + + :internal | :enabled | :private | :admin | true | 1 + :internal | :enabled | :private | :admin | false | 1 + :internal | :enabled | :private | :reporter | nil | 1 + :internal | :enabled | :private | :guest | nil | 1 + :internal | :enabled | :private | :non_member | nil | 1 + :internal | :enabled | :private | :anonymous | nil | 0 + + :internal | :enabled | :disabled | :admin | true | 1 + :internal | :enabled | :disabled | :admin | false | 1 + :internal | :enabled | :disabled | :reporter | nil | 1 + :internal | :enabled | :disabled | :guest | nil | 1 + :internal | :enabled | :disabled | :non_member | nil | 1 + :internal | :enabled | :disabled | :anonymous | nil | 0 + + :internal | :private | :enabled | :admin | true | 1 + :internal | :private | :enabled | :admin | false | 1 + :internal | :private | :enabled | :reporter | nil | 1 + :internal | :private | :enabled | :guest | nil | 1 + :internal | :private | :enabled | :non_member | nil | 1 + :internal | :private | :enabled | :anonymous | nil | 0 + + :internal | :private | :private | :admin | true | 1 + :internal | :private | :private | :admin | false | 0 + :internal | :private | :private | :reporter | nil | 1 + :internal | :private | :private | :guest | nil | 1 + :internal | :private | :private | :non_member | nil | 0 + :internal | :private | :private | :anonymous | nil | 0 + + :internal | :private | :disabled | :admin | true | 1 + :internal | :private | :disabled | :admin | false | 0 + :internal | :private | :disabled | :reporter | nil | 1 + :internal | :private | :disabled | :guest | nil | 1 + :internal | :private | :disabled | :non_member | nil | 0 + :internal | :private | :disabled | :anonymous | nil | 0 + + :internal | :disabled | :enabled | :admin | true | 1 + :internal | :disabled | :enabled | :admin | false | 1 + :internal | :disabled | :enabled | :reporter | nil | 1 + :internal | :disabled | :enabled | :guest | nil | 1 + :internal | :disabled | :enabled | :non_member | nil | 1 + :internal | :disabled | :enabled | :anonymous | nil | 0 + + :internal | :disabled | :private | :admin | true | 1 + :internal | :disabled | :private | :admin | false | 0 + :internal | :disabled | :private | :reporter | nil | 1 + :internal | :disabled | :private | :guest | nil | 0 + :internal | :disabled | :private | :non_member | nil | 0 + :internal | :disabled | :private | :anonymous | nil | 0 + + :internal | :disabled | :disabled | :reporter | nil | 0 + :internal | :disabled | :disabled | :guest | nil | 0 + :internal | :disabled | :disabled | :non_member | nil | 0 + :internal | :disabled | :disabled | :anonymous | nil | 0 + + :private | :private | :private | :admin | true | 1 + :private | :private | :private | :admin | false | 0 + :private | :private | :private | :reporter | nil | 1 + :private | :private | :private | :guest | nil | 1 + :private | :private | :private | :non_member | nil | 0 + :private | :private | :private | :anonymous | nil | 0 + + :private | :private | :disabled | :admin | true | 1 + :private | :private | :disabled | :admin | false | 0 + :private | :private | :disabled | :reporter | nil | 1 + :private | :private | :disabled | :guest | nil | 1 + :private | :private | :disabled | :non_member | nil | 0 + :private | :private | :disabled | :anonymous | nil | 0 + + :private | :disabled | :private | :admin | true | 1 + :private | :disabled | :private | :admin | false | 0 + :private | :disabled | :private | :reporter | nil | 1 + :private | :disabled | :private | :guest | nil | 0 + :private | :disabled | :private | :non_member | nil | 0 + :private | :disabled | :private | :anonymous | nil | 0 + + :private | :disabled | :disabled | :reporter | nil | 0 + :private | :disabled | :disabled | :guest | nil | 0 + :private | :disabled | :disabled | :non_member | nil | 0 + :private | :disabled | :disabled | :anonymous | nil | 0 end # :project_level, :membership, :expected_count @@ -321,166 +358,192 @@ RSpec.shared_context 'ProjectPolicyTable context' do # :snippet_level, :project_level, :feature_access_level, :membership, :expected_count def permission_table_for_project_snippet_access - :public | :public | :enabled | :admin | 1 - :public | :public | :enabled | :reporter | 1 - :public | :public | :enabled | :guest | 1 - :public | :public | :enabled | :non_member | 1 - :public | :public | :enabled | :anonymous | 1 - - :public | :public | :private | :admin | 1 - :public | :public | :private | :reporter | 1 - :public | :public | :private | :guest | 1 - :public | :public | :private | :non_member | 0 - :public | :public | :private | :anonymous | 0 - - :public | :public | :disabled | :admin | 1 - :public | :public | :disabled | :reporter | 0 - :public | :public | :disabled | :guest | 0 - :public | :public | :disabled | :non_member | 0 - :public | :public | :disabled | :anonymous | 0 - - :public | :internal | :enabled | :admin | 1 - :public | :internal | :enabled | :reporter | 1 - :public | :internal | :enabled | :guest | 1 - :public | :internal | :enabled | :non_member | 1 - :public | :internal | :enabled | :anonymous | 0 - - :public | :internal | :private | :admin | 1 - :public | :internal | :private | :reporter | 1 - :public | :internal | :private | :guest | 1 - :public | :internal | :private | :non_member | 0 - :public | :internal | :private | :anonymous | 0 - - :public | :internal | :disabled | :admin | 1 - :public | :internal | :disabled | :reporter | 0 - :public | :internal | :disabled | :guest | 0 - :public | :internal | :disabled | :non_member | 0 - :public | :internal | :disabled | :anonymous | 0 - - :public | :private | :private | :admin | 1 - :public | :private | :private | :reporter | 1 - :public | :private | :private | :guest | 1 - :public | :private | :private | :non_member | 0 - :public | :private | :private | :anonymous | 0 - - :public | :private | :disabled | :reporter | 0 - :public | :private | :disabled | :guest | 0 - :public | :private | :disabled | :non_member | 0 - :public | :private | :disabled | :anonymous | 0 - - :internal | :public | :enabled | :admin | 1 - :internal | :public | :enabled | :reporter | 1 - :internal | :public | :enabled | :guest | 1 - :internal | :public | :enabled | :non_member | 1 - :internal | :public | :enabled | :anonymous | 0 - - :internal | :public | :private | :admin | 1 - :internal | :public | :private | :reporter | 1 - :internal | :public | :private | :guest | 1 - :internal | :public | :private | :non_member | 0 - :internal | :public | :private | :anonymous | 0 - - :internal | :public | :disabled | :admin | 1 - :internal | :public | :disabled | :reporter | 0 - :internal | :public | :disabled | :guest | 0 - :internal | :public | :disabled | :non_member | 0 - :internal | :public | :disabled | :anonymous | 0 - - :internal | :internal | :enabled | :admin | 1 - :internal | :internal | :enabled | :reporter | 1 - :internal | :internal | :enabled | :guest | 1 - :internal | :internal | :enabled | :non_member | 1 - :internal | :internal | :enabled | :anonymous | 0 - - :internal | :internal | :private | :admin | 1 - :internal | :internal | :private | :reporter | 1 - :internal | :internal | :private | :guest | 1 - :internal | :internal | :private | :non_member | 0 - :internal | :internal | :private | :anonymous | 0 - - :internal | :internal | :disabled | :admin | 1 - :internal | :internal | :disabled | :reporter | 0 - :internal | :internal | :disabled | :guest | 0 - :internal | :internal | :disabled | :non_member | 0 - :internal | :internal | :disabled | :anonymous | 0 - - :internal | :private | :private | :admin | 1 - :internal | :private | :private | :reporter | 1 - :internal | :private | :private | :guest | 1 - :internal | :private | :private | :non_member | 0 - :internal | :private | :private | :anonymous | 0 - - :internal | :private | :disabled | :admin | 1 - :internal | :private | :disabled | :reporter | 0 - :internal | :private | :disabled | :guest | 0 - :internal | :private | :disabled | :non_member | 0 - :internal | :private | :disabled | :anonymous | 0 - - :private | :public | :enabled | :admin | 1 - :private | :public | :enabled | :reporter | 1 - :private | :public | :enabled | :guest | 1 - :private | :public | :enabled | :non_member | 0 - :private | :public | :enabled | :anonymous | 0 - - :private | :public | :private | :admin | 1 - :private | :public | :private | :reporter | 1 - :private | :public | :private | :guest | 1 - :private | :public | :private | :non_member | 0 - :private | :public | :private | :anonymous | 0 - - :private | :public | :disabled | :admin | 1 - :private | :public | :disabled | :reporter | 0 - :private | :public | :disabled | :guest | 0 - :private | :public | :disabled | :non_member | 0 - :private | :public | :disabled | :anonymous | 0 - - :private | :internal | :enabled | :admin | 1 - :private | :internal | :enabled | :reporter | 1 - :private | :internal | :enabled | :guest | 1 - :private | :internal | :enabled | :non_member | 0 - :private | :internal | :enabled | :anonymous | 0 - - :private | :internal | :private | :admin | 1 - :private | :internal | :private | :reporter | 1 - :private | :internal | :private | :guest | 1 - :private | :internal | :private | :non_member | 0 - :private | :internal | :private | :anonymous | 0 - - :private | :internal | :disabled | :admin | 1 - :private | :internal | :disabled | :reporter | 0 - :private | :internal | :disabled | :guest | 0 - :private | :internal | :disabled | :non_member | 0 - :private | :internal | :disabled | :anonymous | 0 - - :private | :private | :private | :admin | 1 - :private | :private | :private | :reporter | 1 - :private | :private | :private | :guest | 1 - :private | :private | :private | :non_member | 0 - :private | :private | :private | :anonymous | 0 - - :private | :private | :disabled | :admin | 1 - :private | :private | :disabled | :reporter | 0 - :private | :private | :disabled | :guest | 0 - :private | :private | :disabled | :non_member | 0 - :private | :private | :disabled | :anonymous | 0 + :public | :public | :enabled | :admin | true | 1 + :public | :public | :enabled | :admin | false | 1 + :public | :public | :enabled | :reporter | nil | 1 + :public | :public | :enabled | :guest | nil | 1 + :public | :public | :enabled | :non_member | nil | 1 + :public | :public | :enabled | :anonymous | nil | 1 + + :public | :public | :private | :admin | true | 1 + :public | :public | :private | :admin | false | 0 + :public | :public | :private | :reporter | nil | 1 + :public | :public | :private | :guest | nil | 1 + :public | :public | :private | :non_member | nil | 0 + :public | :public | :private | :anonymous | nil | 0 + + :public | :public | :disabled | :admin | true | 1 + :public | :public | :disabled | :admin | false | 0 + :public | :public | :disabled | :reporter | nil | 0 + :public | :public | :disabled | :guest | nil | 0 + :public | :public | :disabled | :non_member | nil | 0 + :public | :public | :disabled | :anonymous | nil | 0 + + :public | :internal | :enabled | :admin | true | 1 + :public | :internal | :enabled | :admin | false | 1 + :public | :internal | :enabled | :reporter | nil | 1 + :public | :internal | :enabled | :guest | nil | 1 + :public | :internal | :enabled | :non_member | nil | 1 + :public | :internal | :enabled | :anonymous | nil | 0 + + :public | :internal | :private | :admin | true | 1 + :public | :internal | :private | :admin | false | 0 + :public | :internal | :private | :reporter | nil | 1 + :public | :internal | :private | :guest | nil | 1 + :public | :internal | :private | :non_member | nil | 0 + :public | :internal | :private | :anonymous | nil | 0 + + :public | :internal | :disabled | :admin | true | 1 + :public | :internal | :disabled | :admin | false | 0 + :public | :internal | :disabled | :reporter | nil | 0 + :public | :internal | :disabled | :guest | nil | 0 + :public | :internal | :disabled | :non_member | nil | 0 + :public | :internal | :disabled | :anonymous | nil | 0 + + :public | :private | :private | :admin | true | 1 + :public | :private | :private | :admin | false | 0 + :public | :private | :private | :reporter | nil | 1 + :public | :private | :private | :guest | nil | 1 + :public | :private | :private | :non_member | nil | 0 + :public | :private | :private | :anonymous | nil | 0 + + :public | :private | :disabled | :reporter | nil | 0 + :public | :private | :disabled | :guest | nil | 0 + :public | :private | :disabled | :non_member | nil | 0 + :public | :private | :disabled | :anonymous | nil | 0 + + :internal | :public | :enabled | :admin | true | 1 + :internal | :public | :enabled | :admin | false | 1 + :internal | :public | :enabled | :reporter | nil | 1 + :internal | :public | :enabled | :guest | nil | 1 + :internal | :public | :enabled | :non_member | nil | 1 + :internal | :public | :enabled | :anonymous | nil | 0 + + :internal | :public | :private | :admin | true | 1 + :internal | :public | :private | :admin | false | 0 + :internal | :public | :private | :reporter | nil | 1 + :internal | :public | :private | :guest | nil | 1 + :internal | :public | :private | :non_member | nil | 0 + :internal | :public | :private | :anonymous | nil | 0 + + :internal | :public | :disabled | :admin | true | 1 + :internal | :public | :disabled | :admin | false | 0 + :internal | :public | :disabled | :reporter | nil | 0 + :internal | :public | :disabled | :guest | nil | 0 + :internal | :public | :disabled | :non_member | nil | 0 + :internal | :public | :disabled | :anonymous | nil | 0 + + :internal | :internal | :enabled | :admin | true | 1 + :internal | :internal | :enabled | :admin | false | 1 + :internal | :internal | :enabled | :reporter | nil | 1 + :internal | :internal | :enabled | :guest | nil | 1 + :internal | :internal | :enabled | :non_member | nil | 1 + :internal | :internal | :enabled | :anonymous | nil | 0 + + :internal | :internal | :private | :admin | true | 1 + :internal | :internal | :private | :admin | false | 0 + :internal | :internal | :private | :reporter | nil | 1 + :internal | :internal | :private | :guest | nil | 1 + :internal | :internal | :private | :non_member | nil | 0 + :internal | :internal | :private | :anonymous | nil | 0 + + :internal | :internal | :disabled | :admin | true | 1 + :internal | :internal | :disabled | :admin | false | 0 + :internal | :internal | :disabled | :reporter | nil | 0 + :internal | :internal | :disabled | :guest | nil | 0 + :internal | :internal | :disabled | :non_member | nil | 0 + :internal | :internal | :disabled | :anonymous | nil | 0 + + :internal | :private | :private | :admin | true | 1 + :internal | :private | :private | :admin | false | 0 + :internal | :private | :private | :reporter | nil | 1 + :internal | :private | :private | :guest | nil | 1 + :internal | :private | :private | :non_member | nil | 0 + :internal | :private | :private | :anonymous | nil | 0 + + :internal | :private | :disabled | :admin | true | 1 + :internal | :private | :disabled | :admin | false | 0 + :internal | :private | :disabled | :reporter | nil | 0 + :internal | :private | :disabled | :guest | nil | 0 + :internal | :private | :disabled | :non_member | nil | 0 + :internal | :private | :disabled | :anonymous | nil | 0 + + :private | :public | :enabled | :admin | true | 1 + :private | :public | :enabled | :admin | false | 0 + :private | :public | :enabled | :reporter | nil | 1 + :private | :public | :enabled | :guest | nil | 1 + :private | :public | :enabled | :non_member | nil | 0 + :private | :public | :enabled | :anonymous | nil | 0 + + :private | :public | :private | :admin | true | 1 + :private | :public | :private | :admin | false | 0 + :private | :public | :private | :reporter | nil | 1 + :private | :public | :private | :guest | nil | 1 + :private | :public | :private | :non_member | nil | 0 + :private | :public | :private | :anonymous | nil | 0 + + :private | :public | :disabled | :admin | true | 1 + :private | :public | :disabled | :admin | false | 0 + :private | :public | :disabled | :reporter | nil | 0 + :private | :public | :disabled | :guest | nil | 0 + :private | :public | :disabled | :non_member | nil | 0 + :private | :public | :disabled | :anonymous | nil | 0 + + :private | :internal | :enabled | :admin | true | 1 + :private | :internal | :enabled | :admin | false | 0 + :private | :internal | :enabled | :reporter | nil | 1 + :private | :internal | :enabled | :guest | nil | 1 + :private | :internal | :enabled | :non_member | nil | 0 + :private | :internal | :enabled | :anonymous | nil | 0 + + :private | :internal | :private | :admin | true | 1 + :private | :internal | :private | :admin | false | 0 + :private | :internal | :private | :reporter | nil | 1 + :private | :internal | :private | :guest | nil | 1 + :private | :internal | :private | :non_member | nil | 0 + :private | :internal | :private | :anonymous | nil | 0 + + :private | :internal | :disabled | :admin | true | 1 + :private | :internal | :disabled | :admin | false | 0 + :private | :internal | :disabled | :reporter | nil | 0 + :private | :internal | :disabled | :guest | nil | 0 + :private | :internal | :disabled | :non_member | nil | 0 + :private | :internal | :disabled | :anonymous | nil | 0 + + :private | :private | :private | :admin | true | 1 + :private | :private | :private | :admin | false | 0 + :private | :private | :private | :reporter | nil | 1 + :private | :private | :private | :guest | nil | 1 + :private | :private | :private | :non_member | nil | 0 + :private | :private | :private | :anonymous | nil | 0 + + :private | :private | :disabled | :admin | true | 1 + :private | :private | :disabled | :admin | false | 0 + :private | :private | :disabled | :reporter | nil | 0 + :private | :private | :disabled | :guest | nil | 0 + :private | :private | :disabled | :non_member | nil | 0 + :private | :private | :disabled | :anonymous | nil | 0 end # :snippet_level, :membership, :expected_count def permission_table_for_personal_snippet_access - :public | :admin | 1 - :public | :author | 1 - :public | :non_member | 1 - :public | :anonymous | 1 - - :internal | :admin | 1 - :internal | :author | 1 - :internal | :non_member | 1 - :internal | :anonymous | 0 - - :private | :admin | 1 - :private | :author | 1 - :private | :non_member | 0 - :private | :anonymous | 0 + :public | :admin | true | 1 + :public | :admin | false | 1 + :public | :author | nil | 1 + :public | :non_member | nil | 1 + :public | :anonymous | nil | 1 + + :internal | :admin | true | 1 + :internal | :admin | false | 1 + :internal | :author | nil | 1 + :internal | :non_member | nil | 1 + :internal | :anonymous | nil | 0 + + :private | :admin | true | 1 + :private | :admin | false | 0 + :private | :author | nil | 1 + :private | :non_member | nil | 0 + :private | :anonymous | nil | 0 end # rubocop:enable Metrics/AbcSize end -- cgit v1.2.3