Expire cache when merge request source branch was removed
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
parent
abb5b9f6e5
commit
39ee52f1b1
3 changed files with 33 additions and 1 deletions
|
@ -14,6 +14,10 @@ class MergeWorker
|
|||
if result[:status] == :success && params[:should_remove_source_branch].present?
|
||||
DeleteBranchService.new(merge_request.source_project, current_user).
|
||||
execute(merge_request.source_branch)
|
||||
|
||||
merge_request.source_project.repository.expire_branch_names
|
||||
end
|
||||
|
||||
result
|
||||
end
|
||||
end
|
||||
|
|
28
spec/workers/merge_worker_spec.rb
Normal file
28
spec/workers/merge_worker_spec.rb
Normal file
|
@ -0,0 +1,28 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe MergeWorker do
|
||||
describe "remove source branch" do
|
||||
let!(:merge_request) { create(:merge_request, source_branch: "markdown") }
|
||||
let!(:source_project) { merge_request.source_project }
|
||||
let!(:project) { merge_request.project }
|
||||
let!(:author) { merge_request.author }
|
||||
|
||||
before do
|
||||
source_project.team << [author, :master]
|
||||
source_project.repository.expire_branch_names
|
||||
end
|
||||
|
||||
it 'clears cache of source repo after removing source branch' do
|
||||
expect(source_project.repository.branch_names).to include('markdown')
|
||||
|
||||
MergeWorker.new.perform(
|
||||
merge_request.id, merge_request.author_id,
|
||||
commit_message: 'wow such merge',
|
||||
should_remove_source_branch: true)
|
||||
|
||||
merge_request.reload
|
||||
expect(merge_request).to be_merged
|
||||
expect(source_project.repository.branch_names).not_to include('markdown')
|
||||
end
|
||||
end
|
||||
end
|
|
@ -4,7 +4,7 @@ describe PostReceive do
|
|||
let(:changes) { "123456 789012 refs/heads/tést\n654321 210987 refs/tags/tag" }
|
||||
let(:wrongly_encoded_changes) { changes.encode("ISO-8859-1").force_encoding("UTF-8") }
|
||||
let(:base64_changes) { Base64.encode64(wrongly_encoded_changes) }
|
||||
|
||||
|
||||
context "as a resque worker" do
|
||||
it "reponds to #perform" do
|
||||
expect(PostReceive.new).to respond_to(:perform)
|
||||
|
|
Loading…
Reference in a new issue