Simplify the name for data builder, feedback:

https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5620#note_13671791
This commit is contained in:
Lin Jen-Shin 2016-08-12 16:09:29 +08:00
parent 0a20897bbe
commit d5264e8804
32 changed files with 85 additions and 63 deletions

View File

@ -343,7 +343,7 @@ module Ci
def execute_hooks
return unless project
build_data = Gitlab::DataBuilder::BuildDataBuilder.build(self)
build_data = Gitlab::DataBuilder::Build.build(self)
project.execute_hooks(build_data.dup, :build_hooks)
project.execute_services(build_data.dup, :build_hooks)
project.running_or_pending_build_count(force: true)

View File

@ -222,7 +222,7 @@ module Ci
end
def pipeline_data
Gitlab::DataBuilder::PipelineDataBuilder.build(self)
Gitlab::DataBuilder::Pipeline.build(self)
end
def keep_around_commits

View File

@ -51,8 +51,7 @@ class BuildsEmailService < Service
end
def test_data(project = nil, user = nil)
build = project.builds.last
Gitlab::DataBuilder::BuildDataBuilder.build(build)
Gitlab::DataBuilder::Build.build(project.builds.last)
end
def fields

View File

@ -80,7 +80,7 @@ class Service < ActiveRecord::Base
end
def test_data(project, user)
Gitlab::DataBuilder::PushDataBuilder.build_sample(project, user)
Gitlab::DataBuilder::Push.build_sample(project, user)
end
def event_channel_names

View File

@ -39,7 +39,12 @@ class DeleteBranchService < BaseService
end
def build_push_data(branch)
Gitlab::DataBuilder::PushDataBuilder
.build(project, current_user, branch.target.sha, Gitlab::Git::BLANK_SHA, "#{Gitlab::Git::BRANCH_REF_PREFIX}#{branch.name}", [])
Gitlab::DataBuilder::Push.build(
project,
current_user,
branch.target.sha,
Gitlab::Git::BLANK_SHA,
"#{Gitlab::Git::BRANCH_REF_PREFIX}#{branch.name}",
[])
end
end

View File

@ -33,7 +33,12 @@ class DeleteTagService < BaseService
end
def build_push_data(tag)
Gitlab::DataBuilder::PushDataBuilder
.build(project, current_user, tag.target.sha, Gitlab::Git::BLANK_SHA, "#{Gitlab::Git::TAG_REF_PREFIX}#{tag.name}", [])
Gitlab::DataBuilder::Push.build(
project,
current_user,
tag.target.sha,
Gitlab::Git::BLANK_SHA,
"#{Gitlab::Git::TAG_REF_PREFIX}#{tag.name}",
[])
end
end

View File

@ -138,13 +138,23 @@ class GitPushService < BaseService
end
def build_push_data
@push_data ||= Gitlab::DataBuilder::PushDataBuilder.
build(@project, current_user, params[:oldrev], params[:newrev], params[:ref], push_commits)
@push_data ||= Gitlab::DataBuilder::Push.build(
@project,
current_user,
params[:oldrev],
params[:newrev],
params[:ref],
push_commits)
end
def build_push_data_system_hook
@push_data_system ||= Gitlab::DataBuilder::PushDataBuilder.
build(@project, current_user, params[:oldrev], params[:newrev], params[:ref], [])
@push_data_system ||= Gitlab::DataBuilder::Push.build(
@project,
current_user,
params[:oldrev],
params[:newrev],
params[:ref],
[])
end
def push_to_existing_branch?

View File

@ -34,12 +34,24 @@ class GitTagPushService < BaseService
end
end
Gitlab::DataBuilder::PushDataBuilder.
build(project, current_user, params[:oldrev], params[:newrev], params[:ref], commits, message)
Gitlab::DataBuilder::Push.build(
project,
current_user,
params[:oldrev],
params[:newrev],
params[:ref],
commits,
message)
end
def build_system_push_data
Gitlab::DataBuilder::PushDataBuilder.
build(project, current_user, params[:oldrev], params[:newrev], params[:ref], [], '')
Gitlab::DataBuilder::Push.build(
project,
current_user,
params[:oldrev],
params[:newrev],
params[:ref],
[],
'')
end
end

View File

@ -16,7 +16,7 @@ module Notes
end
def hook_data
Gitlab::DataBuilder::NoteDataBuilder.build(@note, @note.author)
Gitlab::DataBuilder::Note.build(@note, @note.author)
end
def execute_note_hooks

View File

@ -1,7 +1,6 @@
class TestHookService
def execute(hook, current_user)
data = Gitlab::DataBuilder::PushDataBuilder.
build_sample(hook.project, current_user)
data = Gitlab::DataBuilder::Push.build_sample(hook.project, current_user)
hook.execute(data, 'push_hooks')
end
end

View File

@ -1,6 +1,6 @@
module Gitlab
module DataBuilder
module BuildDataBuilder
module Build
extend self
def build(build)

View File

@ -1,6 +1,6 @@
module Gitlab
module DataBuilder
module NoteDataBuilder
module Note
extend self
# Produce a hash of post-receive data

View File

@ -1,6 +1,6 @@
module Gitlab
module DataBuilder
module PipelineDataBuilder
module Pipeline
extend self
def build(pipeline)

View File

@ -1,6 +1,6 @@
module Gitlab
module DataBuilder
module PushDataBuilder
module Push
extend self
# Produce a hash of post-receive data

View File

@ -1,6 +1,6 @@
require 'spec_helper'
describe Gitlab::DataBuilder::BuildDataBuilder do
describe Gitlab::DataBuilder::Build do
let(:build) { create(:ci_build) }
describe '.build' do

View File

@ -1,6 +1,6 @@
require 'spec_helper'
describe Gitlab::DataBuilder::NoteDataBuilder, lib: true do
describe Gitlab::DataBuilder::Note, lib: true do
let(:project) { create(:project) }
let(:user) { create(:user) }
let(:data) { described_class.build(note, user) }

View File

@ -1,6 +1,6 @@
require 'spec_helper'
describe Gitlab::DataBuilder::PipelineDataBuilder do
describe Gitlab::DataBuilder::Pipeline do
let(:user) { create(:user) }
let(:project) { create(:project) }

View File

@ -1,6 +1,6 @@
require 'spec_helper'
describe Gitlab::DataBuilder::PushDataBuilder, lib: true do
describe Gitlab::DataBuilder::Push, lib: true do
let(:project) { create(:project) }
let(:user) { create(:user) }

View File

@ -39,8 +39,7 @@ describe AssemblaService, models: true do
token: 'verySecret',
subdomain: 'project_name'
)
@sample_data = Gitlab::DataBuilder::PushDataBuilder.
build_sample(project, user)
@sample_data = Gitlab::DataBuilder::Push.build_sample(project, user)
@api_url = 'https://atlas.assembla.com/spaces/project_name/github_tool?secret_key=verySecret'
WebMock.stub_request(:post, @api_url)
end

View File

@ -2,7 +2,7 @@ require 'spec_helper'
describe BuildsEmailService do
let(:data) do
Gitlab::DataBuilder::BuildDataBuilder.build(create(:ci_build))
Gitlab::DataBuilder::Build.build(create(:ci_build))
end
describe 'Validations' do
@ -41,7 +41,7 @@ describe BuildsEmailService do
describe '#test' do
it 'sends email' do
data = Gitlab::DataBuilder::BuildDataBuilder.build(create(:ci_build))
data = Gitlab::DataBuilder::Build.build(create(:ci_build))
subject.recipients = 'test@gitlab.com'
expect(BuildEmailWorker).to receive(:perform_async)
@ -51,7 +51,7 @@ describe BuildsEmailService do
context 'notify only failed builds is true' do
it 'sends email' do
data = Gitlab::DataBuilder::BuildDataBuilder.build(create(:ci_build))
data = Gitlab::DataBuilder::Build.build(create(:ci_build))
data[:build_status] = "success"
subject.recipients = 'test@gitlab.com'

View File

@ -54,7 +54,7 @@ describe CampfireService, models: true do
subdomain: 'project-name',
room: 'test-room'
)
@sample_data = Gitlab::PushDataBuilder.build_sample(project, user)
@sample_data = Gitlab::DataBuilder::Push.build_sample(project, user)
@rooms_url = 'https://verySecret:X@project-name.campfirenow.com/rooms.json'
@headers = { 'Content-Type' => 'application/json; charset=utf-8' }
end

View File

@ -85,7 +85,7 @@ describe DroneCiService, models: true do
let(:user) { create(:user, username: 'username') }
let(:push_sample_data) do
Gitlab::DataBuilder::PushDataBuilder.build_sample(project, user)
Gitlab::DataBuilder::Push.build_sample(project, user)
end
it do

View File

@ -52,8 +52,7 @@ describe FlowdockService, models: true do
service_hook: true,
token: 'verySecret'
)
@sample_data = Gitlab::DataBuilder::PushDataBuilder.
build_sample(project, user)
@sample_data = Gitlab::DataBuilder::Push.build_sample(project, user)
@api_url = 'https://api.flowdock.com/v1/messages'
WebMock.stub_request(:post, @api_url)
end

View File

@ -55,8 +55,7 @@ describe GemnasiumService, models: true do
token: 'verySecret',
api_key: 'GemnasiumUserApiKey'
)
@sample_data = Gitlab::DataBuilder::PushDataBuilder.
build_sample(project, user)
@sample_data = Gitlab::DataBuilder::Push.build_sample(project, user)
end
it "calls Gemnasium service" do
expect(Gemnasium::GitlabService).to receive(:execute).with(an_instance_of(Hash)).once

View File

@ -49,7 +49,7 @@ describe HipchatService, models: true do
let(:token) { 'verySecret' }
let(:server_url) { 'https://hipchat.example.com'}
let(:push_sample_data) do
Gitlab::DataBuilder::PushDataBuilder.build_sample(project, user)
Gitlab::DataBuilder::Push.build_sample(project, user)
end
before(:each) do
@ -111,7 +111,7 @@ describe HipchatService, models: true do
context 'tag_push events' do
let(:push_sample_data) do
Gitlab::DataBuilder::PushDataBuilder.build(
Gitlab::DataBuilder::Push.build(
project,
user,
Gitlab::Git::BLANK_SHA,
@ -195,7 +195,7 @@ describe HipchatService, models: true do
end
it "calls Hipchat API for commit comment events" do
data = Gitlab::DataBuilder::NoteDataBuilder.build(commit_note, user)
data = Gitlab::DataBuilder::Note.build(commit_note, user)
hipchat.execute(data)
expect(WebMock).to have_requested(:post, api_url).once
@ -227,7 +227,7 @@ describe HipchatService, models: true do
end
it "calls Hipchat API for merge request comment events" do
data = Gitlab::DataBuilder::NoteDataBuilder.build(merge_request_note, user)
data = Gitlab::DataBuilder::Note.build(merge_request_note, user)
hipchat.execute(data)
expect(WebMock).to have_requested(:post, api_url).once
@ -254,7 +254,7 @@ describe HipchatService, models: true do
end
it "calls Hipchat API for issue comment events" do
data = Gitlab::DataBuilder::NoteDataBuilder.build(issue_note, user)
data = Gitlab::DataBuilder::Note.build(issue_note, user)
hipchat.execute(data)
message = hipchat.send(:create_message, data)
@ -280,7 +280,7 @@ describe HipchatService, models: true do
end
it "calls Hipchat API for snippet comment events" do
data = Gitlab::DataBuilder::NoteDataBuilder.build(snippet_note, user)
data = Gitlab::DataBuilder::Note.build(snippet_note, user)
hipchat.execute(data)
expect(WebMock).to have_requested(:post, api_url).once
@ -303,7 +303,7 @@ describe HipchatService, models: true do
context 'build events' do
let(:pipeline) { create(:ci_empty_pipeline) }
let(:build) { create(:ci_build, pipeline: pipeline) }
let(:data) { Gitlab::DataBuilder::BuildDataBuilder.build(build) }
let(:data) { Gitlab::DataBuilder::Build.build(build) }
context 'for failed' do
before { build.drop }

View File

@ -47,7 +47,7 @@ describe IrkerService, models: true do
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:sample_data) do
Gitlab::DataBuilder::PushDataBuilder.build_sample(project, user)
Gitlab::DataBuilder::Push.build_sample(project, user)
end
let(:recipients) { '#commits irc://test.net/#test ftp://bad' }

View File

@ -66,8 +66,7 @@ describe JiraService, models: true do
password: 'gitlab_jira_password'
)
@jira_service.save # will build API URL, as api_url was not specified above
@sample_data = Gitlab::DataBuilder::PushDataBuilder.
build_sample(project, user)
@sample_data = Gitlab::DataBuilder::Push.build_sample(project, user)
# https://github.com/bblimke/webmock#request-with-basic-authentication
@api_url = 'http://gitlab_jira_username:gitlab_jira_password@jira.example.com/rest/api/2/issue/JIRA-123/transitions'
@comment_url = 'http://gitlab_jira_username:gitlab_jira_password@jira.example.com/rest/api/2/issue/JIRA-123/comment'

View File

@ -49,7 +49,7 @@ describe PushoverService, models: true do
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:sample_data) do
Gitlab::DataBuilder::PushDataBuilder.build_sample(project, user)
Gitlab::DataBuilder::Push.build_sample(project, user)
end
let(:api_key) { 'verySecret' }

View File

@ -46,7 +46,7 @@ describe SlackService, models: true do
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:push_sample_data) do
Gitlab::DataBuilder::PushDataBuilder.build_sample(project, user)
Gitlab::DataBuilder::Push.build_sample(project, user)
end
let(:webhook_url) { 'https://hooks.slack.com/services/SVRWFV0VVAR97N/B02R25XN3/ZBqu7xMupaEEICInN685' }
let(:username) { 'slack_username' }
@ -197,8 +197,7 @@ describe SlackService, models: true do
it "uses the right channel" do
slack.update_attributes(note_channel: "random")
note_data = Gitlab::DataBuilder::NoteDataBuilder.
build(issue_note, user)
note_data = Gitlab::DataBuilder::Note.build(issue_note, user)
expect(Slack::Notifier).to receive(:new).
with(webhook_url, channel: "random").
@ -238,7 +237,7 @@ describe SlackService, models: true do
end
it "calls Slack API for commit comment events" do
data = Gitlab::DataBuilder::NoteDataBuilder.build(commit_note, user)
data = Gitlab::DataBuilder::Note.build(commit_note, user)
slack.execute(data)
expect(WebMock).to have_requested(:post, webhook_url).once
@ -252,8 +251,7 @@ describe SlackService, models: true do
end
it "calls Slack API for merge request comment events" do
data = Gitlab::DataBuilder::NoteDataBuilder.
build(merge_request_note, user)
data = Gitlab::DataBuilder::Note.build(merge_request_note, user)
slack.execute(data)
expect(WebMock).to have_requested(:post, webhook_url).once
@ -266,7 +264,7 @@ describe SlackService, models: true do
end
it "calls Slack API for issue comment events" do
data = Gitlab::DataBuilder::NoteDataBuilder.build(issue_note, user)
data = Gitlab::DataBuilder::Note.build(issue_note, user)
slack.execute(data)
expect(WebMock).to have_requested(:post, webhook_url).once
@ -280,7 +278,7 @@ describe SlackService, models: true do
end
it "calls Slack API for snippet comment events" do
data = Gitlab::DataBuilder::NoteDataBuilder.build(snippet_note, user)
data = Gitlab::DataBuilder::Note.build(snippet_note, user)
slack.execute(data)
expect(WebMock).to have_requested(:post, webhook_url).once

View File

@ -896,7 +896,7 @@ describe User, models: true do
let!(:project1) { create(:project) }
let!(:project2) { create(:project, forked_from_project: project1) }
let!(:push_data) do
Gitlab::DataBuilder::PushDataBuilder.build_sample(project2, subject)
Gitlab::DataBuilder::Push.build_sample(project2, subject)
end
let!(:push_event) { create(:event, action: Event::PUSHED, project: project2, target: project1, author: subject, data: push_data) }

View File

@ -5,7 +5,7 @@ describe BuildEmailWorker do
let(:build) { create(:ci_build) }
let(:user) { create(:user) }
let(:data) { Gitlab::DataBuilder::BuildDataBuilder.build(build) }
let(:data) { Gitlab::DataBuilder::Build.build(build) }
subject { BuildEmailWorker.new }

View File

@ -5,9 +5,7 @@ describe EmailsOnPushWorker do
let(:project) { create(:project) }
let(:user) { create(:user) }
let(:data) do
Gitlab::DataBuilder::PushDataBuilder.build_sample(project, user)
end
let(:data) { Gitlab::DataBuilder::Push.build_sample(project, user) }
let(:recipients) { user.email }
let(:perform) { subject.perform(project.id, recipients, data.stringify_keys) }