@@ -413,6 +413,70 @@ def testIsValid(self):
413413 logout_request5 = OneLogin_Saml2_Logout_Request (settings , OneLogin_Saml2_Utils .b64encode (request ))
414414 self .assertTrue (logout_request5 .is_valid (request_data ))
415415
416+ def testIsValidWithCapitalization (self ):
417+ """
418+ Tests the is_valid method of the OneLogin_Saml2_LogoutRequest
419+ """
420+ request_data = {
421+ 'http_host' : 'exaMPLe.com' ,
422+ 'script_name' : 'index.html'
423+ }
424+ request = self .file_contents (join (self .data_path , 'logout_requests' , 'logout_request.xml' ))
425+ settings = OneLogin_Saml2_Settings (self .loadSettingsJSON ())
426+
427+ logout_request = OneLogin_Saml2_Logout_Request (settings , OneLogin_Saml2_Utils .b64encode (request ))
428+ self .assertTrue (logout_request .is_valid (request_data ))
429+
430+ settings .set_strict (True )
431+ logout_request2 = OneLogin_Saml2_Logout_Request (settings , OneLogin_Saml2_Utils .b64encode (request ))
432+ self .assertFalse (logout_request2 .is_valid (request_data ))
433+
434+ settings .set_strict (False )
435+ dom = parseString (request )
436+ logout_request3 = OneLogin_Saml2_Logout_Request (settings , OneLogin_Saml2_Utils .b64encode (dom .toxml ()))
437+ self .assertTrue (logout_request3 .is_valid (request_data ))
438+
439+ settings .set_strict (True )
440+ logout_request4 = OneLogin_Saml2_Logout_Request (settings , OneLogin_Saml2_Utils .b64encode (dom .toxml ()))
441+ self .assertFalse (logout_request4 .is_valid (request_data ))
442+
443+ current_url = OneLogin_Saml2_Utils .get_self_url_no_query (request_data )
444+ request = request .replace ('http://stuff.com/endpoints/endpoints/sls.php' , current_url .lower ())
445+ logout_request5 = OneLogin_Saml2_Logout_Request (settings , OneLogin_Saml2_Utils .b64encode (request ))
446+ self .assertTrue (logout_request5 .is_valid (request_data ))
447+
448+ def testIsInValidWithCapitalization (self ):
449+ """
450+ Tests the is_valid method of the OneLogin_Saml2_LogoutRequest
451+ """
452+ request_data = {
453+ 'http_host' : 'example.com' ,
454+ 'script_name' : 'INdex.html'
455+ }
456+ request = self .file_contents (join (self .data_path , 'logout_requests' , 'logout_request.xml' ))
457+ settings = OneLogin_Saml2_Settings (self .loadSettingsJSON ())
458+
459+ logout_request = OneLogin_Saml2_Logout_Request (settings , OneLogin_Saml2_Utils .b64encode (request ))
460+ self .assertTrue (logout_request .is_valid (request_data ))
461+
462+ settings .set_strict (True )
463+ logout_request2 = OneLogin_Saml2_Logout_Request (settings , OneLogin_Saml2_Utils .b64encode (request ))
464+ self .assertFalse (logout_request2 .is_valid (request_data ))
465+
466+ settings .set_strict (False )
467+ dom = parseString (request )
468+ logout_request3 = OneLogin_Saml2_Logout_Request (settings , OneLogin_Saml2_Utils .b64encode (dom .toxml ()))
469+ self .assertTrue (logout_request3 .is_valid (request_data ))
470+
471+ settings .set_strict (True )
472+ logout_request4 = OneLogin_Saml2_Logout_Request (settings , OneLogin_Saml2_Utils .b64encode (dom .toxml ()))
473+ self .assertFalse (logout_request4 .is_valid (request_data ))
474+
475+ current_url = OneLogin_Saml2_Utils .get_self_url_no_query (request_data )
476+ request = request .replace ('http://stuff.com/endpoints/endpoints/sls.php' , current_url .lower ())
477+ logout_request5 = OneLogin_Saml2_Logout_Request (settings , OneLogin_Saml2_Utils .b64encode (request ))
478+ self .assertFalse (logout_request5 .is_valid (request_data ))
479+
416480 def testIsValidWithXMLEncoding (self ):
417481 """
418482 Tests the is_valid method of the OneLogin_Saml2_LogoutRequest
0 commit comments