@@ -89,7 +89,7 @@ class MetadataTest < Minitest::Test
8989 end
9090 end
9191
92- describe "when auth requests are signed " do
92+ describe "with a sign/encrypt certificate " do
9393 let ( :key_descriptors ) do
9494 REXML ::XPath . match (
9595 xml_doc ,
@@ -111,24 +111,42 @@ class MetadataTest < Minitest::Test
111111 settings . certificate = ruby_saml_cert_text
112112 end
113113
114- it "generates Service Provider Metadata with AuthnRequestsSigned" do
115- settings . security [ :authn_requests_signed ] = true
116- assert_equal "true" , spsso_descriptor . attribute ( "AuthnRequestsSigned" ) . value
114+ it "generates Service Provider Metadata with X509Certificate for sign" do
115+ assert_equal 1 , key_descriptors . length
116+ assert_equal "signing" , key_descriptors [ 0 ] . attribute ( "use" ) . value
117+
118+ assert_equal 1 , cert_nodes . length
117119 assert_equal ruby_saml_cert . to_der , cert . to_der
118120
119121 assert validate_xml! ( xml_text , "saml-schema-metadata-2.0.xsd" )
120122 end
121123
122- it "generates Service Provider Metadata with X509Certificate for sign and encrypt " do
123- assert_equal 2 , key_descriptors . length
124- assert_equal "signing" , key_descriptors [ 0 ] . attribute ( "use" ) . value
125- assert_equal "encryption" , key_descriptors [ 1 ] . attribute ( "use" ) . value
124+ describe "and signed authentication requests " do
125+ before do
126+ settings . security [ :authn_requests_signed ] = true
127+ end
126128
127- assert_equal 2 , cert_nodes . length
128- assert_equal ruby_saml_cert . to_der , cert . to_der
129- assert_equal cert_nodes [ 0 ] . text , cert_nodes [ 1 ] . text
129+ it "generates Service Provider Metadata with AuthnRequestsSigned" do
130+ assert_equal "true" , spsso_descriptor . attribute ( "AuthnRequestsSigned" ) . value
131+ assert_equal ruby_saml_cert . to_der , cert . to_der
130132
131- assert validate_xml! ( xml_text , "saml-schema-metadata-2.0.xsd" )
133+ assert validate_xml! ( xml_text , "saml-schema-metadata-2.0.xsd" )
134+ end
135+ end
136+
137+ describe "and encrypted assertions" do
138+ before do
139+ settings . security [ :want_assertions_encrypted ] = true
140+ end
141+
142+ it "generates Service Provider Metadata with X509Certificate for encrypt" do
143+ assert_equal 2 , key_descriptors . length
144+ assert_equal "encryption" , key_descriptors [ 1 ] . attribute ( "use" ) . value
145+
146+ assert_equal 2 , cert_nodes . length
147+ assert_equal cert_nodes [ 0 ] . text , cert_nodes [ 1 ] . text
148+ assert validate_xml! ( xml_text , "saml-schema-metadata-2.0.xsd" )
149+ end
132150 end
133151 end
134152
0 commit comments