Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Speicher <robert@gitlab.com>2015-09-24 22:41:58 +0300
committerRobert Speicher <rspeicher@gmail.com>2015-09-24 22:49:43 +0300
commit199448781a0db5a5e07af7235fb3de007db7febc (patch)
tree21242747d844d72c532c8a95c9f485dcab773bda
parent3334d1647784ffee23763f878e50315a0995b085 (diff)
Merge branch 'get-ci-token-from-ci-projects' into 'master'
Get CI token from ci projects This fixes problem when GitLabCiService had different token than stored in Ci::Project. See merge request !1425
-rw-r--r--app/models/project_services/gitlab_ci_service.rb8
-rw-r--r--app/services/ci/create_project_service.rb2
-rw-r--r--spec/lib/gitlab/backend/grack_auth_spec.rb5
-rw-r--r--spec/requests/api/projects_spec.rb2
4 files changed, 12 insertions, 5 deletions
diff --git a/app/models/project_services/gitlab_ci_service.rb b/app/models/project_services/gitlab_ci_service.rb
index 9e2b3bcd873..40dd1b44d02 100644
--- a/app/models/project_services/gitlab_ci_service.rb
+++ b/app/models/project_services/gitlab_ci_service.rb
@@ -19,8 +19,6 @@
#
class GitlabCiService < CiService
- prop_accessor :token
-
after_save :compose_service_hook, if: :activated?
def compose_service_hook
@@ -51,6 +49,12 @@ class GitlabCiService < CiService
end
end
+ def token
+ if project.gitlab_ci_project.present?
+ project.gitlab_ci_project.token
+ end
+ end
+
def get_ci_commit(sha, ref)
Ci::Project.find(project.gitlab_ci_project).commits.find_by_sha_and_ref!(sha, ref)
end
diff --git a/app/services/ci/create_project_service.rb b/app/services/ci/create_project_service.rb
index 839d3f6b444..f42babd2388 100644
--- a/app/services/ci/create_project_service.rb
+++ b/app/services/ci/create_project_service.rb
@@ -10,7 +10,7 @@ module Ci
gl_project = ::Project.find(@project.gitlab_id)
gl_project.build_missing_services
- gl_project.gitlab_ci_service.update_attributes(active: true, token: @project.token)
+ gl_project.gitlab_ci_service.update_attributes(active: true)
end
if forked_project
diff --git a/spec/lib/gitlab/backend/grack_auth_spec.rb b/spec/lib/gitlab/backend/grack_auth_spec.rb
index 9bed8f8ee5c..829a9c197ef 100644
--- a/spec/lib/gitlab/backend/grack_auth_spec.rb
+++ b/spec/lib/gitlab/backend/grack_auth_spec.rb
@@ -175,11 +175,14 @@ describe Grack::Auth do
context "when a gitlab ci token is provided" do
let(:token) { "123" }
+ let(:gitlab_ci_project) { FactoryGirl.create :ci_project, token: token }
before do
+ project.gitlab_ci_project = gitlab_ci_project
+ project.save
+
gitlab_ci_service = project.build_gitlab_ci_service
gitlab_ci_service.active = true
- gitlab_ci_service.token = token
gitlab_ci_service.save
env["HTTP_AUTHORIZATION"] = ActionController::HttpAuthentication::Basic.encode_credentials("gitlab-ci-token", token)
diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb
index 3007a15b0b1..580bbec77d1 100644
--- a/spec/requests/api/projects_spec.rb
+++ b/spec/requests/api/projects_spec.rb
@@ -89,7 +89,7 @@ describe API::API, api: true do
it 'returns projects in the correct order when ci_enabled_first parameter is passed' do
[project, project2, project3].each{ |project| project.build_missing_services }
- project2.gitlab_ci_service.update(active: true, token: "token")
+ project2.gitlab_ci_service.update(active: true)
get api('/projects', user), { ci_enabled_first: 'true' }
expect(response.status).to eq(200)
expect(json_response).to be_an Array