Trigger iid logic from GitHub importer for merge requests.
This commit is contained in:
parent
358675d09f
commit
fb98496f49
|
@ -76,7 +76,13 @@ module Gitlab
|
|||
merge_request_id = GithubImport
|
||||
.insert_and_return_id(attributes, project.merge_requests)
|
||||
|
||||
[project.merge_requests.find(merge_request_id), false]
|
||||
merge_request = project.merge_requests.find(merge_request_id)
|
||||
|
||||
# We use .insert_and_return_id which effectively disables all callbacks.
|
||||
# Trigger iid logic here to make sure we track internal id values consistently.
|
||||
merge_request.ensure_target_project_iid!
|
||||
|
||||
[merge_request, false]
|
||||
end
|
||||
rescue ActiveRecord::InvalidForeignKey
|
||||
# It's possible the project has been deleted since scheduling this
|
||||
|
|
|
@ -111,6 +111,16 @@ describe Gitlab::GithubImport::Importer::PullRequestImporter, :clean_gitlab_redi
|
|||
expect(mr).to be_instance_of(MergeRequest)
|
||||
expect(exists).to eq(false)
|
||||
end
|
||||
|
||||
it 'triggers internal_id functionality to track greatest iids' do
|
||||
mr = build_stubbed(:merge_request, source_project: project, target_project: project)
|
||||
allow(Gitlab::GithubImport).to receive(:insert_and_return_id).and_return(mr.id)
|
||||
allow(project.merge_requests).to receive(:find).with(mr.id).and_return(mr)
|
||||
|
||||
expect(mr).to receive(:ensure_target_project_iid!)
|
||||
|
||||
importer.create_merge_request
|
||||
end
|
||||
end
|
||||
|
||||
context 'when the author could not be found' do
|
||||
|
|
Loading…
Reference in New Issue