Do not authorize with OAuth for CICD only projects

This commit is contained in:
Matija Čupić 2019-07-15 19:15:10 +02:00
parent 96277bb9d6
commit 1f40372029
No known key found for this signature in database
GPG key ID: 4BAF84FFACD2E5DE
2 changed files with 16 additions and 2 deletions

View file

@ -10,7 +10,7 @@ class Import::GithubController < Import::BaseController
rescue_from Octokit::Unauthorized, with: :provider_unauthorized
def new
if github_import_configured? && logged_in_with_provider?
if !ci_cd_only? && github_import_configured? && logged_in_with_provider?
go_to_provider_for_permissions
elsif session[access_token_key]
redirect_to status_import_url
@ -169,11 +169,15 @@ class Import::GithubController < Import::BaseController
# rubocop: enable CodeReuse/ActiveRecord
def provider_auth
if session[access_token_key].blank?
if !ci_cd_only? && session[access_token_key].blank?
go_to_provider_for_permissions
end
end
def ci_cd_only?
%w[1 true].include?(params[:ci_cd_only])
end
def client_options
{}
end

View file

@ -33,6 +33,16 @@ describe Import::GithubController do
expect(response).to have_http_status(200)
end
context 'when importing a CI/CD project' do
it 'always prompts for an access token' do
allow(controller).to receive(:github_import_configured?).and_return(true)
get :new, params: { ci_cd_only: true }
expect(response).to render_template(:new)
end
end
end
describe "GET callback" do