@@ -399,7 +399,10 @@ def testGetSPMetadata(self):
399
399
Tests the getSPMetadata method of the OneLogin_Saml2_Settings
400
400
Case unsigned metadata
401
401
"""
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 )
403
406
metadata = compat .to_string (settings .get_sp_metadata ())
404
407
405
408
self .assertNotEqual (len (metadata ), 0 )
@@ -410,6 +413,14 @@ def testGetSPMetadata(self):
410
413
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 )
411
414
self .assertIn ('<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="http://stuff.com/endpoints/endpoints/sls.php"/>' , metadata )
412
415
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 ())
413
424
self .assertEqual (2 , metadata .count ('<md:KeyDescriptor' ))
414
425
self .assertEqual (1 , metadata .count ('<md:KeyDescriptor use="signing"' ))
415
426
self .assertEqual (1 , metadata .count ('<md:KeyDescriptor use="encryption"' ))
@@ -419,11 +430,21 @@ def testGetSPMetadataWithx509certNew(self):
419
430
Tests the getSPMetadata method of the OneLogin_Saml2_Settings
420
431
Case with x509certNew
421
432
"""
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 )
423
437
metadata = compat .to_string (settings .get_sp_metadata ())
424
-
425
438
self .assertNotEqual (len (metadata ), 0 )
426
439
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 ()
427
448
self .assertEqual (4 , metadata .count ('<md:KeyDescriptor' ))
428
449
self .assertEqual (2 , metadata .count ('<md:KeyDescriptor use="signing"' ))
429
450
self .assertEqual (2 , metadata .count ('<md:KeyDescriptor use="encryption"' ))
0 commit comments