@@ -55,15 +55,12 @@ def testConstructor(self):
5555 inflated = OneLogin_Saml2_Utils .decode_base64_and_inflate (payload )
5656 self .assertRegexpMatches (inflated , '^<samlp:LogoutRequest' )
5757
58- def testConstructorEncryptIdUsingX509certMulti (self ):
58+ def testCreateDeflatedSAMLLogoutRequestURLParameter (self ):
5959 """
6060 Tests the OneLogin_Saml2_LogoutRequest Constructor.
61- Case: Able to generate encryptedID with MultiCert
61+ The creation of a deflated SAML Logout Request
6262 """
63- settings_info = self .loadSettingsJSON ('settings8.json' )
64- settings_info ['security' ]['nameIdEncrypted' ] = True
65- settings = OneLogin_Saml2_Settings (settings_info )
66-
63+ settings = OneLogin_Saml2_Settings (self .loadSettingsJSON ())
6764 logout_request = OneLogin_Saml2_Logout_Request (settings )
6865
6966 parameters = {'SAMLRequest' : logout_request .get_request ()}
@@ -74,14 +71,53 @@ def testConstructorEncryptIdUsingX509certMulti(self):
7471 payload = exploded ['SAMLRequest' ][0 ]
7572 inflated = OneLogin_Saml2_Utils .decode_base64_and_inflate (payload )
7673 self .assertRegexpMatches (inflated , '^<samlp:LogoutRequest' )
77- self .assertRegexpMatches (inflated , '<saml:EncryptedID>' )
7874
79- def testCreateDeflatedSAMLLogoutRequestURLParameter (self ):
75+ def testConstructorWithNameIdFormatOnSettings (self ):
8076 """
8177 Tests the OneLogin_Saml2_LogoutRequest Constructor.
82- The creation of a deflated SAML Logout Request
78+ Case: Defines NameIDFormat from settings
8379 """
84- settings = OneLogin_Saml2_Settings (self .loadSettingsJSON ())
80+ settings_info = self .loadSettingsJSON ()
81+ name_id = 'ONELOGIN_1e442c129e1f822c8096086a1103c5ee2c7cae1c'
82+ name_id_format = 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient'
83+ settings_info ['sp' ]['NameIDFormat' ] = name_id_format
84+ settings = OneLogin_Saml2_Settings (settings_info )
85+ logout_request = OneLogin_Saml2_Logout_Request (settings , name_id = name_id )
86+ logout_request_xml = OneLogin_Saml2_Utils .decode_base64_and_inflate (logout_request .get_request ())
87+ name_id_data = OneLogin_Saml2_Logout_Request .get_nameid_data (logout_request_xml )
88+ expected_name_id_data = {
89+ 'Value' : name_id ,
90+ 'Format' : name_id_format
91+ }
92+ self .assertEqual (expected_name_id_data , name_id_data )
93+
94+ def testConstructorWithoutNameIdFormat (self ):
95+ """
96+ Tests the OneLogin_Saml2_LogoutRequest Constructor.
97+ Case: Checks that NameIDFormat is not added
98+ """
99+ settings_info = self .loadSettingsJSON ()
100+ name_id = 'ONELOGIN_1e442c129e1f822c8096086a1103c5ee2c7cae1c'
101+ name_id_format = 'urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified'
102+ settings_info ['sp' ]['NameIDFormat' ] = name_id_format
103+ settings = OneLogin_Saml2_Settings (settings_info )
104+ logout_request = OneLogin_Saml2_Logout_Request (settings , name_id = name_id )
105+ logout_request_xml = OneLogin_Saml2_Utils .decode_base64_and_inflate (logout_request .get_request ())
106+ name_id_data = OneLogin_Saml2_Logout_Request .get_nameid_data (logout_request_xml )
107+ expected_name_id_data = {
108+ 'Value' : name_id
109+ }
110+ self .assertEqual (expected_name_id_data , name_id_data )
111+
112+ def testConstructorEncryptIdUsingX509certMulti (self ):
113+ """
114+ Tests the OneLogin_Saml2_LogoutRequest Constructor.
115+ Case: Able to generate encryptedID with MultiCert
116+ """
117+ settings_info = self .loadSettingsJSON ('settings8.json' )
118+ settings_info ['security' ]['nameIdEncrypted' ] = True
119+ settings = OneLogin_Saml2_Settings (settings_info )
120+
85121 logout_request = OneLogin_Saml2_Logout_Request (settings )
86122
87123 parameters = {'SAMLRequest' : logout_request .get_request ()}
@@ -92,6 +128,7 @@ def testCreateDeflatedSAMLLogoutRequestURLParameter(self):
92128 payload = exploded ['SAMLRequest' ][0 ]
93129 inflated = OneLogin_Saml2_Utils .decode_base64_and_inflate (payload )
94130 self .assertRegexpMatches (inflated , '^<samlp:LogoutRequest' )
131+ self .assertRegexpMatches (inflated , '<saml:EncryptedID>' )
95132
96133 def testGetIDFromSAMLLogoutRequest (self ):
97134 """
0 commit comments