Commit 913084e6 authored by Stan Hu's avatar Stan Hu

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
......@@ -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
......@@ -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)
......
---
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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment