show group runners setup only to group master
This commit is contained in:
parent
c585004b59
commit
bfc694f511
|
@ -20,8 +20,11 @@
|
|||
- elsif @group_runners.empty?
|
||||
This group does not provide any group Runners yet.
|
||||
|
||||
= render partial: 'ci/runner/how_to_setup_runner',
|
||||
locals: { registration_token: @project.group.runners_token, type: 'group' }
|
||||
- if can?(current_user, :admin_pipeline, @project.group)
|
||||
= render partial: 'ci/runner/how_to_setup_runner',
|
||||
locals: { registration_token: @project.group.runners_token, type: 'group' }
|
||||
- else
|
||||
Ask your group master to setup a group Runner.
|
||||
|
||||
- else
|
||||
%h4.underlined-title Available group Runners : #{@group_runners.count}
|
||||
|
|
|
@ -187,51 +187,77 @@ feature 'Runners' do
|
|||
project.add_master(user)
|
||||
end
|
||||
|
||||
context 'project without a group' do
|
||||
given(:project) { create :project }
|
||||
given(:group) { create :group }
|
||||
|
||||
scenario 'group runners are not available' do
|
||||
visit runners_path(project)
|
||||
context 'as project and group master' do
|
||||
background do
|
||||
group.add_master(user)
|
||||
end
|
||||
|
||||
expect(page).to have_content 'This project does not belong to a group and can therefore not make use of group Runners.'
|
||||
context 'project with a group but no group runner' do
|
||||
given(:project) { create :project, group: group }
|
||||
|
||||
scenario 'group runners are not available' do
|
||||
visit runners_path(project)
|
||||
|
||||
expect(page).to have_content 'This group does not provide any group Runners yet.'
|
||||
|
||||
expect(page).to have_content 'Setup a group Runner manually'
|
||||
expect(page).not_to have_content 'Ask your group master to setup a group Runner.'
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'project with a group but no group runner' do
|
||||
given(:group) { create :group }
|
||||
given(:project) { create :project, group: group }
|
||||
context 'as project master' do
|
||||
context 'project without a group' do
|
||||
given(:project) { create :project }
|
||||
|
||||
scenario 'group runners are not available' do
|
||||
visit runners_path(project)
|
||||
scenario 'group runners are not available' do
|
||||
visit runners_path(project)
|
||||
|
||||
expect(page).to have_content 'This group does not provide any group Runners yet.'
|
||||
end
|
||||
end
|
||||
|
||||
context 'project with a group and a group runner' do
|
||||
given(:group) { create :group }
|
||||
given(:project) { create :project, group: group }
|
||||
given!(:ci_runner) { create :ci_runner, groups: [group], description: 'group-runner' }
|
||||
|
||||
scenario 'group runners are available' do
|
||||
visit runners_path(project)
|
||||
|
||||
expect(page).to have_content 'Available group Runners : 1'
|
||||
expect(page).to have_content 'group-runner'
|
||||
expect(page).to have_content 'This project does not belong to a group and can therefore not make use of group Runners.'
|
||||
end
|
||||
end
|
||||
|
||||
scenario 'group runners may be disabled for a project' do
|
||||
visit runners_path(project)
|
||||
context 'project with a group but no group runner' do
|
||||
given(:group) { create :group }
|
||||
given(:project) { create :project, group: group }
|
||||
|
||||
click_on 'Disable group Runners'
|
||||
scenario 'group runners are not available' do
|
||||
visit runners_path(project)
|
||||
|
||||
expect(page).to have_content 'Enable group Runners'
|
||||
expect(project.reload.group_runners_enabled).to be false
|
||||
expect(page).to have_content 'This group does not provide any group Runners yet.'
|
||||
|
||||
click_on 'Enable group Runners'
|
||||
expect(page).not_to have_content 'Setup a group Runner manually'
|
||||
expect(page).to have_content 'Ask your group master to setup a group Runner.'
|
||||
end
|
||||
end
|
||||
|
||||
expect(page).to have_content 'Disable group Runners'
|
||||
expect(project.reload.group_runners_enabled).to be true
|
||||
context 'project with a group and a group runner' do
|
||||
given(:group) { create :group }
|
||||
given(:project) { create :project, group: group }
|
||||
given!(:ci_runner) { create :ci_runner, groups: [group], description: 'group-runner' }
|
||||
|
||||
scenario 'group runners are available' do
|
||||
visit runners_path(project)
|
||||
|
||||
expect(page).to have_content 'Available group Runners : 1'
|
||||
expect(page).to have_content 'group-runner'
|
||||
end
|
||||
|
||||
scenario 'group runners may be disabled for a project' do
|
||||
visit runners_path(project)
|
||||
|
||||
click_on 'Disable group Runners'
|
||||
|
||||
expect(page).to have_content 'Enable group Runners'
|
||||
expect(project.reload.group_runners_enabled).to be false
|
||||
|
||||
click_on 'Enable group Runners'
|
||||
|
||||
expect(page).to have_content 'Disable group Runners'
|
||||
expect(project.reload.group_runners_enabled).to be true
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue