diff options
author | Robert Speicher <robert@gitlab.com> | 2016-05-05 22:27:40 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2016-05-05 22:27:40 +0000 |
commit | 4fce876542365baa1d79fa7812d343afd498904a (patch) | |
tree | 50696eeb51edc2837a0718b17adc96195fc2afb6 | |
parent | 9864b2dbc5d7b6dddc8a41a8ee51391334801961 (diff) | |
parent | 9a9681772c3c8a6523bb94e758655e5c555cea91 (diff) | |
download | gitlab-ce-4fce876542365baa1d79fa7812d343afd498904a.tar.gz |
Merge branch 'fix/import-url-issues' into 'master'
Fix importer bug when throwing exceptions
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/15681
See merge request !3941
-rw-r--r-- | lib/gitlab/bitbucket_import/client.rb | 2 | ||||
-rw-r--r-- | spec/lib/gitlab/bitbucket_import/client_spec.rb | 26 |
2 files changed, 21 insertions, 7 deletions
diff --git a/lib/gitlab/bitbucket_import/client.rb b/lib/gitlab/bitbucket_import/client.rb index 9bb507b5edd..9b83292ef33 100644 --- a/lib/gitlab/bitbucket_import/client.rb +++ b/lib/gitlab/bitbucket_import/client.rb @@ -12,7 +12,7 @@ module Gitlab token_secret = import_data_credentials[:bb_session][:bitbucket_access_token_secret] new(token, token_secret) else - raise Projects::ImportService::Error, "Unable to find project import data credentials for project ID: #{@project.id}" + raise Projects::ImportService::Error, "Unable to find project import data credentials for project ID: #{project.id}" end end diff --git a/spec/lib/gitlab/bitbucket_import/client_spec.rb b/spec/lib/gitlab/bitbucket_import/client_spec.rb index aa0699f2ebf..af839f42421 100644 --- a/spec/lib/gitlab/bitbucket_import/client_spec.rb +++ b/spec/lib/gitlab/bitbucket_import/client_spec.rb @@ -34,18 +34,32 @@ describe Gitlab::BitbucketImport::Client, lib: true do it 'retrieves issues over a number of pages' do stub_request(:get, "https://bitbucket.org/api/1.0/repositories/#{project_id}/issues?limit=50&sort=utc_created_on&start=0"). - to_return(status: 200, - body: first_sample_data.to_json, - headers: {}) + to_return(status: 200, + body: first_sample_data.to_json, + headers: {}) stub_request(:get, "https://bitbucket.org/api/1.0/repositories/#{project_id}/issues?limit=50&sort=utc_created_on&start=50"). - to_return(status: 200, - body: second_sample_data.to_json, - headers: {}) + to_return(status: 200, + body: second_sample_data.to_json, + headers: {}) issues = client.issues(project_id) expect(issues.count).to eq(95) end end + + context 'project import' do + it 'calls .from_project with no errors' do + project = create(:empty_project) + project.create_or_update_import_data(credentials: + { user: "git", + password: nil, + bb_session: { bitbucket_access_token: "test", + bitbucket_access_token_secret: "test" } }) + project.import_url = "ssh://git@bitbucket.org/test/test.git" + + expect { described_class.from_project(project) }.to_not raise_error + end + end end |