diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-12-20 15:12:25 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-12-20 15:12:25 +0000 |
commit | 068b3a417794ab8506b2e149301b3a60c01df078 (patch) | |
tree | 26ce51b45ae535a6fc47fb04cad8da42ec408a2f /spec/lib/gitlab_spec.rb | |
parent | 62c78157be8fe8888787162293f13945a5fa5d3e (diff) | |
download | gitlab-ce-068b3a417794ab8506b2e149301b3a60c01df078.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/lib/gitlab_spec.rb')
-rw-r--r-- | spec/lib/gitlab_spec.rb | 131 |
1 files changed, 13 insertions, 118 deletions
diff --git a/spec/lib/gitlab_spec.rb b/spec/lib/gitlab_spec.rb index 869eaf26772..49ba4debe31 100644 --- a/spec/lib/gitlab_spec.rb +++ b/spec/lib/gitlab_spec.rb @@ -3,9 +3,19 @@ require 'spec_helper' RSpec.describe Gitlab do - describe '.root' do - it 'returns the root path of the app' do - expect(described_class.root).to eq(Pathname.new(File.expand_path('../..', __dir__))) + %w[root extensions ee? jh?].each do |method_name| + it "delegates #{method_name} to GitlabEdition" do + expect(GitlabEdition).to receive(method_name) + + described_class.public_send(method_name) + end + end + + %w[ee jh].each do |method_name| + it "delegates #{method_name} to GitlabEdition" do + expect(GitlabEdition).to receive(method_name) + + described_class.public_send(method_name) {} end end @@ -248,121 +258,6 @@ RSpec.describe Gitlab do end end - describe 'ee? and jh?' do - before do - # Make sure the ENV is clean - stub_env('FOSS_ONLY', nil) - stub_env('EE_ONLY', nil) - - described_class.instance_variable_set(:@is_ee, nil) - described_class.instance_variable_set(:@is_jh, nil) - end - - after do - described_class.instance_variable_set(:@is_ee, nil) - described_class.instance_variable_set(:@is_jh, nil) - end - - def stub_path(*paths, **arguments) - root = Pathname.new('dummy') - pathname = double(:path, **arguments) - - allow(described_class) - .to receive(:root) - .and_return(root) - - allow(root).to receive(:join) - - paths.each do |path| - allow(root) - .to receive(:join) - .with(path) - .and_return(pathname) - end - end - - describe '.ee?' do - context 'for EE' do - before do - stub_path('ee/app/models/license.rb', exist?: true) - end - - context 'when using FOSS_ONLY=1' do - before do - stub_env('FOSS_ONLY', '1') - end - - it 'returns not to be EE' do - expect(described_class).not_to be_ee - end - end - - context 'when using FOSS_ONLY=0' do - before do - stub_env('FOSS_ONLY', '0') - end - - it 'returns to be EE' do - expect(described_class).to be_ee - end - end - - context 'when using default FOSS_ONLY' do - it 'returns to be EE' do - expect(described_class).to be_ee - end - end - end - - context 'for CE' do - before do - stub_path('ee/app/models/license.rb', exist?: false) - end - - it 'returns not to be EE' do - expect(described_class).not_to be_ee - end - end - end - - describe '.jh?' do - context 'for JH' do - before do - stub_path( - 'ee/app/models/license.rb', - 'jh', - exist?: true) - end - - context 'when using default FOSS_ONLY and EE_ONLY' do - it 'returns to be JH' do - expect(described_class).to be_jh - end - end - - context 'when using FOSS_ONLY=1' do - before do - stub_env('FOSS_ONLY', '1') - end - - it 'returns not to be JH' do - expect(described_class).not_to be_jh - end - end - - context 'when using EE_ONLY=1' do - before do - stub_env('EE_ONLY', '1') - end - - it 'returns not to be JH' do - expect(described_class).not_to be_jh - end - end - end - end - end - describe '.http_proxy_env?' do it 'returns true when lower case https' do stub_env('https_proxy', 'https://my.proxy') |