Skip to content
Snippets Groups Projects
Commit 913084e6 authored by Stan Hu's avatar Stan Hu
Browse files

Fix clone URL not showing if protocol is HTTPS

GitLab 11.6.2 fixed the case for HTTP. However, HTTPS still did
not work because the protocol returned to `http_enabled?`
was the actual protocol in use (e.g. `https` instead of `http`).

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/55896
parent 0e20c8eb
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -20,7 +20,7 @@ module ApplicationSettingsHelper
def enabled_protocol
case Gitlab::CurrentSettings.enabled_git_access_protocol
when 'http'
gitlab_config.protocol
Gitlab.config.gitlab.protocol
when 'ssh'
'ssh'
end
Loading
Loading
@@ -35,7 +35,7 @@ module ApplicationSettingsHelper
end
 
def http_enabled?
all_protocols_enabled? || enabled_protocol == 'http'
all_protocols_enabled? || Gitlab::CurrentSettings.enabled_git_access_protocol == 'http'
end
 
def enabled_project_button(project, protocol)
Loading
Loading
---
title: Fix clone URL not showing if protocol is HTTPS
merge_request: 24131
author:
type: fixed
# frozen_string_literal: true
require 'spec_helper'
describe ApplicationSettingsHelper do
context 'when all protocols in use' do
before do
stub_application_setting(enabled_git_access_protocol: '')
end
it { expect(all_protocols_enabled?).to be_truthy }
it { expect(http_enabled?).to be_truthy }
it { expect(ssh_enabled?).to be_truthy }
end
context 'when SSH is only in use' do
before do
stub_application_setting(enabled_git_access_protocol: 'ssh')
end
it { expect(all_protocols_enabled?).to be_falsey }
it { expect(http_enabled?).to be_falsey }
it { expect(ssh_enabled?).to be_truthy }
end
shared_examples 'when HTTP protocol is in use' do |protocol|
before do
allow(Gitlab.config.gitlab).to receive(:protocol).and_return(protocol)
stub_application_setting(enabled_git_access_protocol: 'http')
end
it { expect(all_protocols_enabled?).to be_falsey }
it { expect(http_enabled?).to be_truthy }
it { expect(ssh_enabled?).to be_falsey }
end
it_behaves_like 'when HTTP protocol is in use', 'https'
it_behaves_like 'when HTTP protocol is in use', 'http'
end
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