Commit f832b96a authored by Douglas Barbosa Alexandre's avatar Douglas Barbosa Alexandre

Merge branch 'use-keyword-args-for-databuilder-push' into 'master'

Use keyword args for databuilder push

See merge request gitlab-org/gitlab-ce!24088
parents 17e8e8d3 f48605c7
...@@ -73,13 +73,13 @@ module Git ...@@ -73,13 +73,13 @@ module Git
def push_data def push_data
@push_data ||= Gitlab::DataBuilder::Push.build( @push_data ||= Gitlab::DataBuilder::Push.build(
project, project: project,
current_user, user: current_user,
params[:oldrev], oldrev: params[:oldrev],
params[:newrev], newrev: params[:newrev],
params[:ref], ref: params[:ref],
limited_commits, commits: limited_commits,
event_message, message: event_message,
commits_count: commits_count, commits_count: commits_count,
push_options: params[:push_options] || {} push_options: params[:push_options] || {}
) )
......
...@@ -41,12 +41,11 @@ module Tags ...@@ -41,12 +41,11 @@ module Tags
def build_push_data(tag) def build_push_data(tag)
Gitlab::DataBuilder::Push.build( Gitlab::DataBuilder::Push.build(
project, project: project,
current_user, user: current_user,
tag.dereferenced_target.sha, oldrev: tag.dereferenced_target.sha,
Gitlab::Git::BLANK_SHA, newrev: Gitlab::Git::BLANK_SHA,
"#{Gitlab::Git::TAG_REF_PREFIX}#{tag.name}", ref: "#{Gitlab::Git::TAG_REF_PREFIX}#{tag.name}")
[])
end end
end end
end end
...@@ -58,7 +58,10 @@ module Gitlab ...@@ -58,7 +58,10 @@ module Gitlab
# } # }
# #
# rubocop:disable Metrics/ParameterLists # rubocop:disable Metrics/ParameterLists
def build(project, user, oldrev, newrev, ref, commits = [], message = nil, commits_count: nil, push_options: {}) def build(
project:, user:, ref:, oldrev: nil, newrev: nil,
commits: [], commits_count: nil, message: nil, push_options: {})
commits = Array(commits) commits = Array(commits)
# Total commits count # Total commits count
...@@ -113,7 +116,12 @@ module Gitlab ...@@ -113,7 +116,12 @@ module Gitlab
ref = "#{Gitlab::Git::BRANCH_REF_PREFIX}#{project.default_branch}" ref = "#{Gitlab::Git::BRANCH_REF_PREFIX}#{project.default_branch}"
commits = project.repository.commits(project.default_branch.to_s, limit: 3) commits = project.repository.commits(project.default_branch.to_s, limit: 3)
build(project, user, commits.last&.id, commits.first&.id, ref, commits) build(project: project,
user: user,
oldrev: commits.last&.id,
newrev: commits.first&.id,
ref: ref,
commits: commits)
end end
def sample_data def sample_data
......
...@@ -23,9 +23,12 @@ describe Gitlab::DataBuilder::Push do ...@@ -23,9 +23,12 @@ describe Gitlab::DataBuilder::Push do
describe '.build' do describe '.build' do
let(:data) do let(:data) do
described_class.build(project, user, Gitlab::Git::BLANK_SHA, described_class.build(
'8a2a6eb295bb170b34c24c76c49ed0e9b2eaf34b', project: project,
'refs/tags/v1.1.0') user: user,
oldrev: Gitlab::Git::BLANK_SHA,
newrev: '8a2a6eb295bb170b34c24c76c49ed0e9b2eaf34b',
ref: 'refs/tags/v1.1.0')
end end
it { expect(data).to be_a(Hash) } it { expect(data).to be_a(Hash) }
...@@ -47,7 +50,7 @@ describe Gitlab::DataBuilder::Push do ...@@ -47,7 +50,7 @@ describe Gitlab::DataBuilder::Push do
include_examples 'deprecated repository hook data' include_examples 'deprecated repository hook data'
it 'does not raise an error when given nil commits' do it 'does not raise an error when given nil commits' do
expect { described_class.build(spy, spy, spy, spy, 'refs/tags/v1.1.0', nil) } expect { described_class.build(project: spy, user: spy, ref: 'refs/tags/v1.1.0', commits: nil) }
.not_to raise_error .not_to raise_error
end end
end end
......
...@@ -98,12 +98,11 @@ describe HipchatService do ...@@ -98,12 +98,11 @@ describe HipchatService do
context 'tag_push events' do context 'tag_push events' do
let(:push_sample_data) do let(:push_sample_data) do
Gitlab::DataBuilder::Push.build( Gitlab::DataBuilder::Push.build(
project, project: project,
user, user: user,
Gitlab::Git::BLANK_SHA, oldrev: Gitlab::Git::BLANK_SHA,
'1' * 40, newrev: '1' * 40,
'refs/tags/test', ref: 'refs/tags/test')
[])
end end
it "calls Hipchat API for tag push events" do it "calls Hipchat API for tag push events" do
......
...@@ -70,7 +70,7 @@ shared_examples_for "chat service" do |service_name| ...@@ -70,7 +70,7 @@ shared_examples_for "chat service" do |service_name|
context "with not default branch" do context "with not default branch" do
let(:sample_data) do let(:sample_data) do
Gitlab::DataBuilder::Push.build(project, user, nil, nil, "not-the-default-branch") Gitlab::DataBuilder::Push.build(project: project, user: user, ref: "not-the-default-branch")
end end
context "when notify_only_default_branch enabled" do context "when notify_only_default_branch enabled" do
......
...@@ -275,7 +275,7 @@ RSpec.shared_examples 'slack or mattermost notifications' do ...@@ -275,7 +275,7 @@ RSpec.shared_examples 'slack or mattermost notifications' do
it 'does not notify push events if they are not for the default branch' do it 'does not notify push events if they are not for the default branch' do
ref = "#{Gitlab::Git::BRANCH_REF_PREFIX}test" ref = "#{Gitlab::Git::BRANCH_REF_PREFIX}test"
push_sample_data = Gitlab::DataBuilder::Push.build(project, user, nil, nil, ref, []) push_sample_data = Gitlab::DataBuilder::Push.build(project: project, user: user, ref: ref)
chat_service.execute(push_sample_data) chat_service.execute(push_sample_data)
...@@ -292,7 +292,7 @@ RSpec.shared_examples 'slack or mattermost notifications' do ...@@ -292,7 +292,7 @@ RSpec.shared_examples 'slack or mattermost notifications' do
it 'still notifies about pushed tags' do it 'still notifies about pushed tags' do
ref = "#{Gitlab::Git::TAG_REF_PREFIX}test" ref = "#{Gitlab::Git::TAG_REF_PREFIX}test"
push_sample_data = Gitlab::DataBuilder::Push.build(project, user, nil, nil, ref, []) push_sample_data = Gitlab::DataBuilder::Push.build(project: project, user: user, ref: ref)
chat_service.execute(push_sample_data) chat_service.execute(push_sample_data)
...@@ -307,7 +307,7 @@ RSpec.shared_examples 'slack or mattermost notifications' do ...@@ -307,7 +307,7 @@ RSpec.shared_examples 'slack or mattermost notifications' do
it 'notifies about all push events' do it 'notifies about all push events' do
ref = "#{Gitlab::Git::BRANCH_REF_PREFIX}test" ref = "#{Gitlab::Git::BRANCH_REF_PREFIX}test"
push_sample_data = Gitlab::DataBuilder::Push.build(project, user, nil, nil, ref, []) push_sample_data = Gitlab::DataBuilder::Push.build(project: project, user: user, ref: ref)
chat_service.execute(push_sample_data) chat_service.execute(push_sample_data)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment