@@ -399,7 +399,10 @@ def testGetSPMetadata(self):
399399 Tests the getSPMetadata method of the OneLogin_Saml2_Settings
400400 Case unsigned metadata
401401 """
402- settings = OneLogin_Saml2_Settings (self .loadSettingsJSON ())
402+ settings_info = self .loadSettingsJSON ()
403+ settings_info ['security' ]['wantNameIdEncrypted' ] = False
404+ settings_info ['security' ]['wantAssertionsEncrypted' ] = False
405+ settings = OneLogin_Saml2_Settings (settings_info )
403406 metadata = compat .to_string (settings .get_sp_metadata ())
404407
405408 self .assertNotEqual (len (metadata ), 0 )
@@ -410,6 +413,14 @@ def testGetSPMetadata(self):
410413 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 )
411414 self .assertIn ('<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="http://stuff.com/endpoints/endpoints/sls.php"/>' , metadata )
412415 self .assertIn ('<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>' , metadata )
416+ self .assertEqual (1 , metadata .count ('<md:KeyDescriptor' ))
417+ self .assertEqual (1 , metadata .count ('<md:KeyDescriptor use="signing"' ))
418+ self .assertEqual (0 , metadata .count ('<md:KeyDescriptor use="encryption"' ))
419+
420+ settings_info ['security' ]['wantNameIdEncrypted' ] = False
421+ settings_info ['security' ]['wantAssertionsEncrypted' ] = True
422+ settings = OneLogin_Saml2_Settings (settings_info )
423+ metadata = compat .to_string (settings .get_sp_metadata ())
413424 self .assertEqual (2 , metadata .count ('<md:KeyDescriptor' ))
414425 self .assertEqual (1 , metadata .count ('<md:KeyDescriptor use="signing"' ))
415426 self .assertEqual (1 , metadata .count ('<md:KeyDescriptor use="encryption"' ))
@@ -419,11 +430,21 @@ def testGetSPMetadataWithx509certNew(self):
419430 Tests the getSPMetadata method of the OneLogin_Saml2_Settings
420431 Case with x509certNew
421432 """
422- settings = OneLogin_Saml2_Settings (self .loadSettingsJSON ('settings7.json' ))
433+ settings_info = self .loadSettingsJSON ('settings7.json' )
434+ settings_info ['security' ]['wantNameIdEncrypted' ] = False
435+ settings_info ['security' ]['wantAssertionsEncrypted' ] = False
436+ settings = OneLogin_Saml2_Settings (settings_info )
423437 metadata = compat .to_string (settings .get_sp_metadata ())
424-
425438 self .assertNotEqual (len (metadata ), 0 )
426439 self .assertIn ('<md:SPSSODescriptor' , metadata )
440+ self .assertEquals (2 , metadata .count ('<md:KeyDescriptor' ))
441+ self .assertEquals (2 , metadata .count ('<md:KeyDescriptor use="signing"' ))
442+ self .assertEquals (0 , metadata .count ('<md:KeyDescriptor use="encryption"' ))
443+
444+ settings_info ['security' ]['wantNameIdEncrypted' ] = True
445+ settings_info ['security' ]['wantAssertionsEncrypted' ] = False
446+ settings = OneLogin_Saml2_Settings (settings_info )
447+ metadata = settings .get_sp_metadata ()
427448 self .assertEqual (4 , metadata .count ('<md:KeyDescriptor' ))
428449 self .assertEqual (2 , metadata .count ('<md:KeyDescriptor use="signing"' ))
429450 self .assertEqual (2 , metadata .count ('<md:KeyDescriptor use="encryption"' ))
0 commit comments