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
@@ -42,7 +42,7 @@ module Gitlab
Loading
@@ -42,7 +42,7 @@ module Gitlab
direction: :asc).each do |raw_data| direction: :asc).each do |raw_data|
pull_request = PullRequestFormatter.new(project, 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) merge_request = MergeRequest.create!(pull_request.attributes)
import_comments(pull_request.number, merge_request) import_comments(pull_request.number, merge_request)
import_comments_on_diff(pull_request.number, merge_request) import_comments_on_diff(pull_request.number, merge_request)
Loading
Loading
Loading
@@ -17,6 +17,10 @@ module Gitlab
Loading
@@ -17,6 +17,10 @@ module Gitlab
} }
end end
   
def cross_project?
source_repo.fork == true
end
def number def number
raw_data.number raw_data.number
end end
Loading
@@ -57,6 +61,10 @@ module Gitlab
Loading
@@ -57,6 +61,10 @@ module Gitlab
project project
end end
   
def source_repo
raw_data.head.repo
end
def source_branch def source_branch
source_project.repository.find_branch(raw_data.head.ref) source_project.repository.find_branch(raw_data.head.ref)
end end
Loading
Loading
Loading
@@ -124,6 +124,28 @@ describe Gitlab::GithubImport::PullRequestFormatter, lib: true do
Loading
@@ -124,6 +124,28 @@ describe Gitlab::GithubImport::PullRequestFormatter, lib: true do
end end
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 describe '#number' do
let(:raw_data) { OpenStruct.new(base_data.merge(number: 1347)) } 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