summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil TrzciƄski <ayufan@ayufan.eu>2018-05-23 15:29:48 +0200
committerDylan Griffith <dyl.griffith@gmail.com>2018-05-31 10:56:28 +0200
commit03ff1da278117ce36aaec4e0af267bbc07dc571c (patch)
tree632577b3d693a6b367aef6fd8397f12b92584684
parent1fcc9ad7bb60f83824e1e7ead8a0b07c459ab545 (diff)
downloadgitlab-ce-03ff1da278117ce36aaec4e0af267bbc07dc571c.tar.gz
Fix some failures
-rw-r--r--app/models/clusters/applications/runner.rb5
-rw-r--r--spec/factories/ci/runners.rb4
-rw-r--r--spec/requests/api/runners_spec.rb40
3 files changed, 9 insertions, 40 deletions
diff --git a/app/models/clusters/applications/runner.rb b/app/models/clusters/applications/runner.rb
index b881b4eaf36..e6f795f3e0b 100644
--- a/app/models/clusters/applications/runner.rb
+++ b/app/models/clusters/applications/runner.rb
@@ -43,7 +43,7 @@ module Clusters
def create_and_assign_runner
transaction do
- project.runners.create!(runner_create_params).tap do |runner|
+ Ci::Runner.create!(runner_create_params).tap do |runner|
update!(runner_id: runner.id)
end
end
@@ -53,7 +53,8 @@ module Clusters
{
name: 'kubernetes-cluster',
runner_type: :project_type,
- tag_list: %w(kubernetes cluster)
+ tag_list: %w(kubernetes cluster),
+ projects: [project]
}
end
diff --git a/spec/factories/ci/runners.rb b/spec/factories/ci/runners.rb
index 354aa0f65fc..e9bbb9f36e8 100644
--- a/spec/factories/ci/runners.rb
+++ b/spec/factories/ci/runners.rb
@@ -9,6 +9,10 @@ FactoryBot.define do
is_shared true
runner_type :instance_type
+ trait :online do
+ contacted_at Time.now
+ end
+
trait :instance do
is_shared true
runner_type :instance_type
diff --git a/spec/requests/api/runners_spec.rb b/spec/requests/api/runners_spec.rb
index 532afde2db1..41cd93ac672 100644
--- a/spec/requests/api/runners_spec.rb
+++ b/spec/requests/api/runners_spec.rb
@@ -12,21 +12,8 @@ describe API::Runners do
let(:group2) { create(:group).tap { |group| group.add_owner(user) } }
let!(:shared_runner) { create(:ci_runner, :instance, description: 'Shared runner') }
- let!(:unused_project_runner) { create(:ci_runner) }
-
- let!(:project_runner) do
- create(:ci_runner, description: 'Project runner').tap do |runner|
- create(:ci_runner_project, runner: runner, project: project)
- end
- end
-
- let!(:two_projects_runner) do
- create(:ci_runner, description: 'Two projects runner').tap do |runner|
- create(:ci_runner_project, runner: runner, project: project)
- create(:ci_runner_project, runner: runner, project: project2)
- end
- end
-
+ let!(:project_runner) { create(:ci_runner, :project, description: 'Project runner', projects: [project]) }
+ let!(:two_projects_runner) { create(:ci_runner, :project, description: 'Two projects runner', projects: [project, project2])
let!(:group_runner) { create(:ci_runner, :group, description: 'Group runner', groups: [group]) }
before do
@@ -310,14 +297,6 @@ describe API::Runners do
end
context 'when runner is not shared' do
- it 'deletes unused runner' do
- expect do
- delete api("/runners/#{unused_project_runner.id}", admin)
-
- expect(response).to have_gitlab_http_status(204)
- end.to change { Ci::Runner.specific.count }.by(-1)
- end
-
it 'deletes used project runner' do
expect do
delete api("/runners/#{project_runner.id}", admin)
@@ -586,13 +565,6 @@ describe API::Runners do
end
context 'user is admin' do
- it 'enables any specific runner' do
- expect do
- post api("/projects/#{project.id}/runners", admin), runner_id: unused_project_runner.id
- end.to change { project.runners.count }.by(+1)
- expect(response).to have_gitlab_http_status(201)
- end
-
it 'enables a shared runner' do
expect do
post api("/projects/#{project.id}/runners", admin), runner_id: shared_runner.id
@@ -603,14 +575,6 @@ describe API::Runners do
end
end
- context 'user is not admin' do
- it 'does not enable runner without access to' do
- post api("/projects/#{project.id}/runners", user), runner_id: unused_project_runner.id
-
- expect(response).to have_gitlab_http_status(403)
- end
- end
-
it 'raises an error when no runner_id param is provided' do
post api("/projects/#{project.id}/runners", admin)