Merge branch 'master' of github.com:rohe/pysaml2
This commit is contained in:
@@ -236,20 +236,20 @@ def error_status_factory(info):
|
|||||||
msg = info.args[0]
|
msg = info.args[0]
|
||||||
except IndexError:
|
except IndexError:
|
||||||
msg = "%s" % info
|
msg = "%s" % info
|
||||||
|
else:
|
||||||
|
(exc_val, msg) = info
|
||||||
|
|
||||||
|
if msg:
|
||||||
|
status_msg = samlp.StatusMessage(text=msg)
|
||||||
|
else:
|
||||||
|
status_msg = None
|
||||||
|
|
||||||
status = samlp.Status(
|
status = samlp.Status(
|
||||||
status_message=samlp.StatusMessage(text=msg),
|
status_message=status_msg,
|
||||||
status_code=samlp.StatusCode(
|
status_code=samlp.StatusCode(
|
||||||
value=samlp.STATUS_RESPONDER,
|
value=samlp.STATUS_RESPONDER,
|
||||||
status_code=samlp.StatusCode(
|
status_code=samlp.StatusCode(
|
||||||
value=exc_val)))
|
value=exc_val)))
|
||||||
else:
|
|
||||||
(errcode, text) = info
|
|
||||||
status = samlp.Status(
|
|
||||||
status_message=samlp.StatusMessage(text=text),
|
|
||||||
status_code=samlp.StatusCode(
|
|
||||||
value=samlp.STATUS_RESPONDER,
|
|
||||||
status_code=samlp.StatusCode(value=errcode)))
|
|
||||||
|
|
||||||
return status
|
return status
|
||||||
|
|
||||||
|
|
||||||
|
@@ -30,8 +30,15 @@ ERROR_STATUS_NO_HEADER = (
|
|||||||
'Value="urn:oasis:names:tc:SAML:2.0:status:UnknownPrincipal" '
|
'Value="urn:oasis:names:tc:SAML:2.0:status:UnknownPrincipal" '
|
||||||
'/></ns0:StatusCode><ns0:StatusMessage>Error resolving '
|
'/></ns0:StatusCode><ns0:StatusMessage>Error resolving '
|
||||||
'principal</ns0:StatusMessage></ns0:Status>')
|
'principal</ns0:StatusMessage></ns0:Status>')
|
||||||
ERROR_STATUS = '%s%s' % (XML_HEADER, ERROR_STATUS_NO_HEADER)
|
|
||||||
|
|
||||||
|
ERROR_STATUS_NO_HEADER_EMPTY = (
|
||||||
|
'<ns0:Status xmlns:ns0="urn:oasis:names:tc:SAML:2.0:protocol"><ns0:StatusCode '
|
||||||
|
'Value="urn:oasis:names:tc:SAML:2.0:status:Responder"><ns0:StatusCode '
|
||||||
|
'Value="urn:oasis:names:tc:SAML:2.0:status:UnknownPrincipal" '
|
||||||
|
'/></ns0:StatusCode></ns0:Status>')
|
||||||
|
|
||||||
|
ERROR_STATUS = '%s%s' % (XML_HEADER, ERROR_STATUS_NO_HEADER)
|
||||||
|
ERROR_STATUS_EMPTY = '%s%s' % (XML_HEADER, ERROR_STATUS_NO_HEADER_EMPTY)
|
||||||
|
|
||||||
def _eq(l1, l2):
|
def _eq(l1, l2):
|
||||||
return set(l1) == set(l2)
|
return set(l1) == set(l2)
|
||||||
@@ -89,6 +96,18 @@ def test_status_from_exception():
|
|||||||
assert status_text in (ERROR_STATUS_NO_HEADER, ERROR_STATUS)
|
assert status_text in (ERROR_STATUS_NO_HEADER, ERROR_STATUS)
|
||||||
|
|
||||||
|
|
||||||
|
def test_status_from_tuple():
|
||||||
|
stat = utils.error_status_factory((samlp.STATUS_UNKNOWN_PRINCIPAL, 'Error resolving principal'))
|
||||||
|
status_text = "%s" % stat
|
||||||
|
assert status_text == ERROR_STATUS
|
||||||
|
|
||||||
|
|
||||||
|
def test_status_from_tuple_empty_message():
|
||||||
|
stat = utils.error_status_factory((samlp.STATUS_UNKNOWN_PRINCIPAL, None))
|
||||||
|
status_text = "%s" % stat
|
||||||
|
assert status_text == ERROR_STATUS_EMPTY
|
||||||
|
|
||||||
|
|
||||||
def test_attribute_sn():
|
def test_attribute_sn():
|
||||||
attr = utils.do_attributes({"surName": ("Jeter", "")})
|
attr = utils.do_attributes({"surName": ("Jeter", "")})
|
||||||
assert len(attr) == 1
|
assert len(attr) == 1
|
||||||
|
Reference in New Issue
Block a user