def test_cors_xml_with_namespace(self): test_xml = """ <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <AllowedHeader>Authorization</AllowedHeader> </CORSRule> </CORSConfiguration> """ test_xml = remove_namespace(test_xml) valid, error = validate_xml(test_xml, CORS_XML_RELAXNG_SCHEMA) self.assertEqual(valid, True) self.assertEqual(error, None)
def test_malformed_cors_xml(self): """CORS configuration validation should surface malformed XML errors""" test_xml = """ <CORSConfiguration> <CORSRule> <AllowedOrigin>*</AllowedOrigin> <AllowedMethod>GET</AllowedMethod> <MaxAgeSeconds>3000</MaxAgeSeconds> <AllowedHeader>Authorization</AllowedHeader> </CORSRule> </CORSConfiguration """ test_xml = remove_namespace(test_xml) valid, error = validate_xml(test_xml, CORS_XML_RELAXNG_SCHEMA) self.assertEqual(valid, False) self.assertEqual(isinstance(error, etree.XMLSyntaxError), True)