trabajo-afectivo/spec/db/migrate/issue_2140_reset_ldap_config_spec.rb

36 lines
1 KiB
Ruby
Raw Normal View History

require 'rails_helper'
RSpec.describe Issue2140ResetLdapConfig, type: :db_migration do
before { Setting.set('ldap_config', config) }
context 'when LDAP config isnt broken' do
let(:config) do
{ 'wizardData' =>
{ 'backend_user_attributes' =>
{ 'foo' => 'bar' },
'user_attributes' =>
{ 'baz' => 'qux' } } }.with_indifferent_access
end
it 'makes no changes' do
expect { migrate }.not_to change { Setting.get('ldap_config') }
end
end
context 'when LDAP config is broken' do
let(:config) do
{ 'wizardData' =>
{ 'backend_user_attributes' =>
{ 'foo' => "\u0001\u0001\u0004€" },
'user_attributes' =>
{ 'baz' => 'qux' } } }.with_indifferent_access
end
it 'removes the offending backend_user_attributes sub-hash' do
expect { migrate }
.to change { Setting.get('ldap_config') }
.to(config.tap { |c| c[:wizardData].delete(:backend_user_attributes) })
end
end
end