@@ -343,6 +343,70 @@ def testIsInvalidDestination(self):
343343 logout_request4 = OneLogin_Saml2_Logout_Request (settings , b64encode (dom .toxml ()))
344344 self .assertTrue (logout_request4 .is_valid (request_data ))
345345
346+ def testIsValidWithCapitalization (self ):
347+ """
348+ Tests the is_valid method of the OneLogin_Saml2_LogoutRequest
349+ """
350+ request_data = {
351+ 'http_host' : 'exaMPLe.com' ,
352+ 'script_name' : 'index.html'
353+ }
354+ request = self .file_contents (join (self .data_path , 'logout_requests' , 'logout_request.xml' ))
355+ settings = OneLogin_Saml2_Settings (self .loadSettingsJSON ())
356+
357+ logout_request = OneLogin_Saml2_Logout_Request (settings , b64encode (request ))
358+ self .assertTrue (logout_request .is_valid (request_data ))
359+
360+ settings .set_strict (True )
361+ logout_request2 = OneLogin_Saml2_Logout_Request (settings , b64encode (request ))
362+ self .assertFalse (logout_request2 .is_valid (request_data ))
363+
364+ settings .set_strict (False )
365+ dom = parseString (request )
366+ logout_request3 = OneLogin_Saml2_Logout_Request (settings , b64encode (dom .toxml ()))
367+ self .assertTrue (logout_request3 .is_valid (request_data ))
368+
369+ settings .set_strict (True )
370+ logout_request4 = OneLogin_Saml2_Logout_Request (settings , b64encode (dom .toxml ()))
371+ self .assertFalse (logout_request4 .is_valid (request_data ))
372+
373+ current_url = OneLogin_Saml2_Utils .get_self_url_no_query (request_data )
374+ request = request .replace ('http://stuff.com/endpoints/endpoints/sls.php' , current_url .lower ())
375+ logout_request5 = OneLogin_Saml2_Logout_Request (settings , b64encode (request ))
376+ self .assertTrue (logout_request5 .is_valid (request_data ))
377+
378+ def testIsInValidWithCapitalization (self ):
379+ """
380+ Tests the is_valid method of the OneLogin_Saml2_LogoutRequest
381+ """
382+ request_data = {
383+ 'http_host' : 'example.com' ,
384+ 'script_name' : 'INdex.html'
385+ }
386+ request = self .file_contents (join (self .data_path , 'logout_requests' , 'logout_request.xml' ))
387+ settings = OneLogin_Saml2_Settings (self .loadSettingsJSON ())
388+
389+ logout_request = OneLogin_Saml2_Logout_Request (settings , b64encode (request ))
390+ self .assertTrue (logout_request .is_valid (request_data ))
391+
392+ settings .set_strict (True )
393+ logout_request2 = OneLogin_Saml2_Logout_Request (settings , b64encode (request ))
394+ self .assertFalse (logout_request2 .is_valid (request_data ))
395+
396+ settings .set_strict (False )
397+ dom = parseString (request )
398+ logout_request3 = OneLogin_Saml2_Logout_Request (settings , b64encode (dom .toxml ()))
399+ self .assertTrue (logout_request3 .is_valid (request_data ))
400+
401+ settings .set_strict (True )
402+ logout_request4 = OneLogin_Saml2_Logout_Request (settings , b64encode (dom .toxml ()))
403+ self .assertFalse (logout_request4 .is_valid (request_data ))
404+
405+ current_url = OneLogin_Saml2_Utils .get_self_url_no_query (request_data )
406+ request = request .replace ('http://stuff.com/endpoints/endpoints/sls.php' , current_url .lower ())
407+ logout_request5 = OneLogin_Saml2_Logout_Request (settings , b64encode (request ))
408+ self .assertFalse (logout_request5 .is_valid (request_data ))
409+
346410 def testIsInvalidNotOnOrAfter (self ):
347411 """
348412 Tests the is_valid method of the OneLogin_Saml2_LogoutRequest
0 commit comments