Skip to content
Snippets Groups Projects
Commit 837a9065 authored by Douglas Barbosa Alexandre's avatar Douglas Barbosa Alexandre
Browse files

Ensure that we're only importing local pull requests

parent 2dc74b48
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -42,7 +42,7 @@ module Gitlab
direction: :asc).each do |raw_data|
pull_request = PullRequestFormatter.new(project, raw_data)
 
if pull_request.valid?
if !pull_request.cross_project? && pull_request.valid?
merge_request = MergeRequest.create!(pull_request.attributes)
import_comments(pull_request.number, merge_request)
import_comments_on_diff(pull_request.number, merge_request)
Loading
Loading
Loading
Loading
@@ -17,6 +17,10 @@ module Gitlab
}
end
 
def cross_project?
source_repo.fork == true
end
def number
raw_data.number
end
Loading
Loading
@@ -57,6 +61,10 @@ module Gitlab
project
end
 
def source_repo
raw_data.head.repo
end
def source_branch
source_project.repository.find_branch(raw_data.head.ref)
end
Loading
Loading
Loading
Loading
@@ -124,6 +124,28 @@ describe Gitlab::GithubImport::PullRequestFormatter, lib: true do
end
end
 
describe '#cross_project?' do
context 'when source repo is not a fork' do
let(:local_repo) { OpenStruct.new(fork: false) }
let(:source_branch) { OpenStruct.new(ref: 'feature', repo: local_repo) }
let(:raw_data) { OpenStruct.new(base_data.merge(head: source_branch)) }
it 'returns false' do
expect(pull_request.cross_project?).to eq false
end
end
context 'when source repo is a fork' do
let(:forked_repo) { OpenStruct.new(fork: true) }
let(:source_branch) { OpenStruct.new(ref: 'feature', repo: forked_repo) }
let(:raw_data) { OpenStruct.new(base_data.merge(head: source_branch)) }
it 'returns true' do
expect(pull_request.cross_project?).to eq true
end
end
end
describe '#number' do
let(:raw_data) { OpenStruct.new(base_data.merge(number: 1347)) }
 
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment