summaryrefslogtreecommitdiff
path: root/spec/features/security/project/private_access_spec.rb
diff options
context:
space:
mode:
authorDosuken shinya <gitlab.shinyamaeda@gmail.com>2017-04-28 09:38:32 +0000
committerRémy Coutable <remy@rymai.me>2017-04-28 09:38:32 +0000
commit73ac7b2dd6ad31b0ab3191d123cc0b17c669cefb (patch)
treef6b628a6e8d6baea557ed989e669a830ec6873b0 /spec/features/security/project/private_access_spec.rb
parent00fd0259e5878957320ef2adc4940cbd73614add (diff)
downloadgitlab-ce-73ac7b2dd6ad31b0ab3191d123cc0b17c669cefb.tar.gz
Resolve "Add more tests for spec/controllers/projects/builds_controller_spec.rb"
Diffstat (limited to 'spec/features/security/project/private_access_spec.rb')
-rw-r--r--spec/features/security/project/private_access_spec.rb32
1 files changed, 32 insertions, 0 deletions
diff --git a/spec/features/security/project/private_access_spec.rb b/spec/features/security/project/private_access_spec.rb
index a8fc0624588..5d58494a22a 100644
--- a/spec/features/security/project/private_access_spec.rb
+++ b/spec/features/security/project/private_access_spec.rb
@@ -388,6 +388,38 @@ describe "Private Project Access", feature: true do
end
end
+ describe 'GET /:project_path/builds/:id/trace' do
+ let(:pipeline) { create(:ci_pipeline, project: project) }
+ let(:build) { create(:ci_build, pipeline: pipeline) }
+ subject { trace_namespace_project_build_path(project.namespace, project, build.id) }
+
+ it { is_expected.to be_allowed_for(:admin) }
+ it { is_expected.to be_allowed_for(:owner).of(project) }
+ it { is_expected.to be_allowed_for(:master).of(project) }
+ it { is_expected.to be_allowed_for(:developer).of(project) }
+ it { is_expected.to be_allowed_for(:reporter).of(project) }
+ it { is_expected.to be_denied_for(:guest).of(project) }
+ it { is_expected.to be_denied_for(:user) }
+ it { is_expected.to be_denied_for(:external) }
+ it { is_expected.to be_denied_for(:visitor) }
+
+ context 'when public builds is enabled' do
+ before do
+ project.update(public_builds: true)
+ end
+
+ it { is_expected.to be_allowed_for(:guest).of(project) }
+ end
+
+ context 'when public builds is disabled' do
+ before do
+ project.update(public_builds: false)
+ end
+
+ it { is_expected.to be_denied_for(:guest).of(project) }
+ end
+ end
+
describe "GET /:project_path/environments" do
subject { namespace_project_environments_path(project.namespace, project) }