diff options
author | James Lopez <james@jameslopez.es> | 2017-11-07 14:25:35 +0100 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2017-11-07 14:25:35 +0100 |
commit | 179b8178bd54362873def1db666a5d9ae605dca5 (patch) | |
tree | f5b01ad52f01667865b712cfd517b945ee82c6d8 | |
parent | 4338823416791c6039ce89069a1a91fd84f042b5 (diff) | |
download | gitlab-ce-179b8178bd54362873def1db666a5d9ae605dca5.tar.gz |
Fix arguments error on Import/Export fetch_ref method
Added unit test and updated integration spec to test for this as well.
-rw-r--r-- | lib/gitlab/import_export/merge_request_parser.rb | 2 | ||||
-rw-r--r-- | spec/features/projects/import_export/test_project_export.tar.gz | bin | 679559 -> 688161 bytes | |||
-rw-r--r-- | spec/lib/gitlab/import_export/merge_request_parser_spec.rb | 12 |
3 files changed, 12 insertions, 2 deletions
diff --git a/lib/gitlab/import_export/merge_request_parser.rb b/lib/gitlab/import_export/merge_request_parser.rb index 81a213e8321..3e842cd2919 100644 --- a/lib/gitlab/import_export/merge_request_parser.rb +++ b/lib/gitlab/import_export/merge_request_parser.rb @@ -26,7 +26,7 @@ module Gitlab end def fetch_ref - @project.repository.fetch_ref(@project.repository.path, @diff_head_sha, @merge_request.source_branch) + @project.repository.fetch_ref(@project.repository.path, source_ref: @diff_head_sha, target_ref: @merge_request.source_branch) end def branch_exists?(branch_name) diff --git a/spec/features/projects/import_export/test_project_export.tar.gz b/spec/features/projects/import_export/test_project_export.tar.gz Binary files differindex 9614c72cdc3..fb6a3b8e733 100644 --- a/spec/features/projects/import_export/test_project_export.tar.gz +++ b/spec/features/projects/import_export/test_project_export.tar.gz diff --git a/spec/lib/gitlab/import_export/merge_request_parser_spec.rb b/spec/lib/gitlab/import_export/merge_request_parser_spec.rb index 473ba40fae7..db357f3995c 100644 --- a/spec/lib/gitlab/import_export/merge_request_parser_spec.rb +++ b/spec/lib/gitlab/import_export/merge_request_parser_spec.rb @@ -13,7 +13,7 @@ describe Gitlab::ImportExport::MergeRequestParser do let(:parsed_merge_request) do described_class.new(project, - merge_request.diff_head_sha, + 'abcd', merge_request, merge_request.as_json).parse! end @@ -29,4 +29,14 @@ describe Gitlab::ImportExport::MergeRequestParser do it 'has a target branch' do expect(project.repository.branch_exists?(parsed_merge_request.target_branch)).to be true end + + it 'parses a MR that has no source branch' do + allow_any_instance_of(Gitlab::ImportExport::MergeRequestParser).to receive(:branch_exists?).and_call_original + allow_any_instance_of(Gitlab::ImportExport::MergeRequestParser).to receive(:branch_exists?).with(merge_request.source_branch).and_return(false) + allow_any_instance_of(Gitlab::ImportExport::MergeRequestParser).to receive(:fork_merge_request?).and_return(true) + allow(Gitlab::GitalyClient).to receive(:migrate).and_call_original + allow(Gitlab::GitalyClient).to receive(:migrate).with(:fetch_ref).and_return([nil, 0]) + + expect(parsed_merge_request).to eq(merge_request) + end end |