@@ -10,6 +10,7 @@ class RubySamlTest < Minitest::Test
1010
1111 let ( :settings ) { OneLogin ::RubySaml ::Settings . new }
1212 let ( :logout_request ) { OneLogin ::RubySaml ::SloLogoutrequest . new ( logout_request_document ) }
13+ let ( :logout_request_encrypted_nameid ) { OneLogin ::RubySaml ::SloLogoutrequest . new ( logout_request_encrypted_nameid_document ) }
1314 let ( :invalid_logout_request ) { OneLogin ::RubySaml ::SloLogoutrequest . new ( invalid_logout_request_document ) }
1415
1516 before do
@@ -87,6 +88,18 @@ class RubySamlTest < Minitest::Test
8788 it "extract the value of the name id element" do
8889 assert_equal "someone@example.org" , logout_request . nameid
8990 end
91+
92+ it 'is not possible when encryptID but no private key' do
93+ assert_raises ( OneLogin ::RubySaml ::ValidationError , "An EncryptedID found and no SP private key found on the settings to decrypt it" ) do
94+ assert_equal "someone@example.org" , logout_request_encrypted_nameid . nameid
95+ end
96+ end
97+
98+ it "extract the value of the name id element inside an EncryptedId" do
99+ settings . private_key = ruby_saml_key_text
100+ logout_request_encrypted_nameid . settings = settings
101+ assert_equal "someone@example.org" , logout_request_encrypted_nameid . nameid
102+ end
90103 end
91104
92105 describe "#nameid_format" do
@@ -95,6 +108,18 @@ class RubySamlTest < Minitest::Test
95108 it "extract the format attribute of the name id element" do
96109 assert_equal "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" , logout_request . nameid_format
97110 end
111+
112+ it 'is not possible when encryptID but no private key' do
113+ assert_raises ( OneLogin ::RubySaml ::ValidationError , "An EncryptedID found and no SP private key found on the settings to decrypt it" ) do
114+ assert_equal "someone@example.org" , logout_request_encrypted_nameid . nameid
115+ end
116+ end
117+
118+ it "extract the format attribute of the name id element" do
119+ settings . private_key = ruby_saml_key_text
120+ logout_request_encrypted_nameid . settings = settings
121+ assert_equal "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" , logout_request_encrypted_nameid . nameid_format
122+ end
98123 end
99124
100125 describe "#issuer" do
0 commit comments