Skip to content

Commit

Permalink
Use new behaviour only providing a flag
Browse files Browse the repository at this point in the history
  • Loading branch information
davidlibrera committed Jul 3, 2018
1 parent 4a4577d commit 11cecaa
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 6 deletions.
13 changes: 9 additions & 4 deletions lib/onelogin/ruby-saml/settings.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,15 @@ module RubySaml
# SAML2 Toolkit Settings
#
class Settings
def initialize(overrides = {})
security_attributes = overrides.delete(:security) || {}
config = DEFAULTS.merge(overrides)
config[:security] = DEFAULTS[:security].merge(security_attributes)
def initialize(overrides = {}, keep_security_attributes = false)
if keep_security_attributes
security_attributes = overrides.delete(:security) || {}
config = DEFAULTS.merge(overrides)
config[:security] = DEFAULTS[:security].merge(security_attributes)
else
config = DEFAULTS.merge(overrides)
end

config.each do |k,v|
acc = "#{k.to_s}=".to_sym
if respond_to? acc
Expand Down
4 changes: 2 additions & 2 deletions test/settings_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ class SettingsTest < Minitest::Test
assert_equal new_settings.security[:signature_method], XMLSecurity::Document::RSA_SHA1
end

it "overrides only provided security attributes" do
it "overrides only provided security attributes passing a second parameter" do
config = {
:security => {
:metadata_signed => true
Expand All @@ -86,7 +86,7 @@ class SettingsTest < Minitest::Test

@default_attributes = OneLogin::RubySaml::Settings::DEFAULTS

@settings = OneLogin::RubySaml::Settings.new(config)
@settings = OneLogin::RubySaml::Settings.new(config, true)
assert_equal @settings.security[:metadata_signed], true
assert_equal @settings.security[:digest_method], @default_attributes[:security][:digest_method]
end
Expand Down

0 comments on commit 11cecaa

Please sign in to comment.