omnibus-gitlab/spec/chef/cookbooks/gitlab/recipes/gitlab-rails/gitlab_yml/extra_spec.rb

90 lines
2.8 KiB
Ruby

require 'chef_helper'
RSpec.describe 'gitlab::gitlab-rails' do
include_context 'gitlab-rails'
describe 'extra settings' do
context 'with default values' do
it 'renders gitlab.yml without extra settings' do
expect(gitlab_yml[:production][:extra]).to be nil
end
end
context 'with user specified values' do
describe 'matomo settings' do
context 'with just matomo_url specified' do
before do
stub_gitlab_rb(
gitlab_rails: {
extra_matomo_url: 'http://foobar.com'
}
)
end
it 'renders gitlab.yml with default values for other matomo settings' do
expect(gitlab_yml[:production][:extra][:matomo_url]).to eq('http://foobar.com')
expect(gitlab_yml[:production][:extra][:matomo_site_id]).to be nil
expect(gitlab_yml[:production][:extra][:matomo_disable_cookies]).to be nil
end
end
context 'with all settings specified' do
before do
stub_gitlab_rb(
gitlab_rails: {
extra_matomo_url: 'http://foobar.com',
extra_matomo_site_id: 'foobar',
extra_matomo_disable_cookies: true
}
)
end
it 'renders gitlab.yml with specified matomo settings' do
expect(gitlab_yml[:production][:extra][:matomo_url]).to eq('http://foobar.com')
expect(gitlab_yml[:production][:extra][:matomo_site_id]).to eq('foobar')
expect(gitlab_yml[:production][:extra][:matomo_disable_cookies]).to be true
end
end
end
describe 'one_trust_id setting' do
before do
stub_gitlab_rb(gitlab_rails: { extra_one_trust_id: '0000-0000-test' })
end
it 'renders gitlab.yml with the provided value' do
expect(gitlab_yml[:production][:extra][:one_trust_id]).to eq('0000-0000-test')
end
end
describe 'google_tag_manager_nonce_id setting' do
before do
stub_gitlab_rb(gitlab_rails: { extra_google_tag_manager_nonce_id: '0000-0000' })
end
it 'renders gitlab.yml with the provided value' do
expect(gitlab_yml[:production][:extra][:google_tag_manager_nonce_id]).to eq('0000-0000')
end
end
context 'bizible' do
context 'when true' do
before do
stub_gitlab_rb(
gitlab_rails: { bizible: true }
)
end
it 'should set bizible to true' do
expect(chef_run).to create_templatesymlink('Create a gitlab.yml and create a symlink to Rails root').with_variables(
hash_including(
'bizible' => true
)
)
end
end
end
end
end
end