@@ -341,7 +341,10 @@ def testGetSPMetadata(self):
341341 Tests the getSPMetadata method of the OneLogin_Saml2_Settings
342342 Case unsigned metadata
343343 """
344- settings = OneLogin_Saml2_Settings (self .loadSettingsJSON ())
344+ settings_info = self .loadSettingsJSON ()
345+ settings_info ['security' ]['wantNameIdEncrypted' ] = False
346+ settings_info ['security' ]['wantAssertionsEncrypted' ] = False
347+ settings = OneLogin_Saml2_Settings (settings_info )
345348 metadata = settings .get_sp_metadata ()
346349
347350 self .assertNotEqual (len (metadata ), 0 )
@@ -352,20 +355,39 @@ def testGetSPMetadata(self):
352355 self .assertIn ('<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="http://stuff.com/endpoints/endpoints/acs.php" index="1"/>' , metadata )
353356 self .assertIn ('<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="http://stuff.com/endpoints/endpoints/sls.php"/>' , metadata )
354357 self .assertIn ('<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>' , metadata )
358+ self .assertEquals (1 , metadata .count ('<md:KeyDescriptor' ))
359+ self .assertEquals (1 , metadata .count ('<md:KeyDescriptor use="signing"' ))
360+ self .assertEquals (0 , metadata .count ('<md:KeyDescriptor use="encryption"' ))
361+
362+ settings_info ['security' ]['wantNameIdEncrypted' ] = False
363+ settings_info ['security' ]['wantAssertionsEncrypted' ] = True
364+ settings = OneLogin_Saml2_Settings (settings_info )
365+ metadata = settings .get_sp_metadata ()
355366 self .assertEquals (2 , metadata .count ('<md:KeyDescriptor' ))
356367 self .assertEquals (1 , metadata .count ('<md:KeyDescriptor use="signing"' ))
357- self .assertEquals (1 , metadata .count ('<md:KeyDescriptor use="encryption"' ))
368+ self .assertEquals (1 , metadata .count ('<md:KeyDescriptor use="encryption"' ))
358369
359370 def testGetSPMetadataWithx509certNew (self ):
360371 """
361372 Tests the getSPMetadata method of the OneLogin_Saml2_Settings
362373 Case with x509certNew
363374 """
364- settings = OneLogin_Saml2_Settings (self .loadSettingsJSON ('settings7.json' ))
375+ settings_info = self .loadSettingsJSON ('settings7.json' )
376+ settings_info ['security' ]['wantNameIdEncrypted' ] = False
377+ settings_info ['security' ]['wantAssertionsEncrypted' ] = False
378+ settings = OneLogin_Saml2_Settings (settings_info )
365379 metadata = settings .get_sp_metadata ()
366380
367381 self .assertNotEqual (len (metadata ), 0 )
368382 self .assertIn ('<md:SPSSODescriptor' , metadata )
383+ self .assertEquals (2 , metadata .count ('<md:KeyDescriptor' ))
384+ self .assertEquals (2 , metadata .count ('<md:KeyDescriptor use="signing"' ))
385+ self .assertEquals (0 , metadata .count ('<md:KeyDescriptor use="encryption"' ))
386+
387+ settings_info ['security' ]['wantNameIdEncrypted' ] = True
388+ settings_info ['security' ]['wantAssertionsEncrypted' ] = False
389+ settings = OneLogin_Saml2_Settings (settings_info )
390+ metadata = settings .get_sp_metadata ()
369391 self .assertEquals (4 , metadata .count ('<md:KeyDescriptor' ))
370392 self .assertEquals (2 , metadata .count ('<md:KeyDescriptor use="signing"' ))
371393 self .assertEquals (2 , metadata .count ('<md:KeyDescriptor use="encryption"' ))
0 commit comments