@@ -77,6 +77,34 @@ class SettingsTest < Minitest::Test
7777 assert_equal new_settings . security [ :signature_method ] , XMLSecurity ::Document ::RSA_SHA1
7878 end
7979
80+ it "overrides only provided security attributes passing a second parameter" do
81+ config = {
82+ :security => {
83+ :metadata_signed => true
84+ }
85+ }
86+
87+ @default_attributes = OneLogin ::RubySaml ::Settings ::DEFAULTS
88+
89+ @settings = OneLogin ::RubySaml ::Settings . new ( config , true )
90+ assert_equal @settings . security [ :metadata_signed ] , true
91+ assert_equal @settings . security [ :digest_method ] , @default_attributes [ :security ] [ :digest_method ]
92+ end
93+
94+ it "doesn't override only provided security attributes without passing a second parameter" do
95+ config = {
96+ :security => {
97+ :metadata_signed => true
98+ }
99+ }
100+
101+ @default_attributes = OneLogin ::RubySaml ::Settings ::DEFAULTS
102+
103+ @settings = OneLogin ::RubySaml ::Settings . new ( config )
104+ assert_equal @settings . security [ :metadata_signed ] , true
105+ assert_equal @settings . security [ :digest_method ] , nil
106+ end
107+
80108 describe "#single_logout_service_url" do
81109 it "when single_logout_service_url is nil but assertion_consumer_logout_service_url returns its value" do
82110 @settings . single_logout_service_url = nil
@@ -93,7 +121,7 @@ class SettingsTest < Minitest::Test
93121
94122 assert_equal "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" , @settings . single_logout_service_binding
95123 end
96- end
124+ end
97125
98126 describe "#get_idp_cert" do
99127 it "returns nil when the cert is an empty string" do
@@ -169,7 +197,7 @@ class SettingsTest < Minitest::Test
169197
170198 assert @settings . get_idp_cert_multi . kind_of? Hash
171199 assert @settings . get_idp_cert_multi [ :signing ] . kind_of? Array
172- assert @settings . get_idp_cert_multi [ :encryption ] . kind_of? Array
200+ assert @settings . get_idp_cert_multi [ :encryption ] . kind_of? Array
173201 assert @settings . get_idp_cert_multi [ :signing ] [ 0 ] . kind_of? OpenSSL ::X509 ::Certificate
174202 assert @settings . get_idp_cert_multi [ :encryption ] [ 0 ] . kind_of? OpenSSL ::X509 ::Certificate
175203 end
0 commit comments