summaryrefslogtreecommitdiffstats
path: root/python/tests
diff options
context:
space:
mode:
authorEmmanuel Raviart <eraviart@entrouvert.com>2004-08-04 19:55:17 +0000
committerEmmanuel Raviart <eraviart@entrouvert.com>2004-08-04 19:55:17 +0000
commit6f48cba5e81959bf43bf6a0d668f9bda1e4545b8 (patch)
tree0a9f23507b1edd624a50448b1fb57f86a67be534 /python/tests
parent3e411cc8ef1d2c6088df57ea6f5bd8f0f98f4c79 (diff)
downloadlasso-6f48cba5e81959bf43bf6a0d668f9bda1e4545b8.tar.gz
lasso-6f48cba5e81959bf43bf6a0d668f9bda1e4545b8.tar.xz
lasso-6f48cba5e81959bf43bf6a0d668f9bda1e4545b8.zip
Python binding now raises exceptions instead of returning error codes.
Close bug #237.
Diffstat (limited to 'python/tests')
-rw-r--r--python/tests/login_tests.py87
1 files changed, 28 insertions, 59 deletions
diff --git a/python/tests/login_tests.py b/python/tests/login_tests.py
index 6985b2d4..a211ceb6 100644
--- a/python/tests/login_tests.py
+++ b/python/tests/login_tests.py
@@ -39,7 +39,6 @@ import lasso
class TestCase(unittest.TestCase):
def generateIdpServer(self):
idpServer = lasso.Server.new_from_dump(self.generateIdpServerDump())
- self.failUnless(idpServer)
return idpServer
def generateIdpServerDump(self):
@@ -49,12 +48,10 @@ class TestCase(unittest.TestCase):
"../../examples/data/idp-private-key.pem",
"../../examples/data/idp-crt.pem",
lasso.signatureMethodRsaSha1)
- self.failUnless(idpServer)
- errorCode = idpServer.add_provider(
+ idpServer.add_provider(
"../../examples/data/sp-metadata.xml",
"../../examples/data/sp-public-key.pem",
"../../examples/data/ca-crt.pem")
- self.failUnlessEqual(errorCode, 0)
idpServerDump = idpServer.dump()
self.failUnless(idpServerDump)
idpServer.destroy()
@@ -62,7 +59,6 @@ class TestCase(unittest.TestCase):
def generateSpServer(self):
spServer = lasso.Server.new_from_dump(self.generateSpServerDump())
- self.failUnless(spServer)
return spServer
def generateSpServerDump(self):
@@ -72,12 +68,10 @@ class TestCase(unittest.TestCase):
"../../examples/data/sp-private-key.pem",
"../../examples/data/sp-crt.pem",
lasso.signatureMethodRsaSha1)
- self.failUnless(spServer)
- errorCode = spServer.add_provider(
+ spServer.add_provider(
"../../examples/data/idp-metadata.xml",
"../../examples/data/idp-public-key.pem",
"../../examples/data/ca-crt.pem")
- self.failUnlessEqual(errorCode, 0)
spServerDump = spServer.dump()
self.failUnless(spServerDump)
spServer.destroy()
@@ -94,22 +88,19 @@ class LoginTestCase(TestCase):
def idpSingleSignOnForRedirect(self, authnRequestQuery, identityDump, sessionDump):
idpServer = self.generateIdpServer()
idpLogin = lasso.Login.new(idpServer)
- self.failUnless(idpLogin)
if identityDump is not None:
idpLogin.set_identity_from_dump(identityDump)
if sessionDump is not None:
idpLogin.set_session_from_dump(sessionDump)
- errorCode = idpLogin.init_from_authn_request_msg(
+ idpLogin.init_from_authn_request_msg(
authnRequestQuery, lasso.httpMethodRedirect)
- self.failUnlessEqual(errorCode, 0)
return idpLogin
def idpSingleSignOn_part2ForArtifactRedirect(
self, idpLogin, userAuthenticated, authenticationMethod):
- errorCode = idpLogin.build_artifact_msg(
+ idpLogin.build_artifact_msg(
userAuthenticated, authenticationMethod, "FIXME: reauthenticateOnOrAfter",
lasso.httpMethodRedirect)
- self.failUnlessEqual(errorCode, 0)
idpIdentityDump = idpLogin.get_identity().dump()
self.failUnless(idpIdentityDump)
self.failUnless(idpLogin.is_session_dirty())
@@ -130,9 +121,7 @@ class LoginTestCase(TestCase):
self.failUnlessEqual(requestType, lasso.requestTypeLogin)
idpServer = self.generateIdpServer()
idpLogin = lasso.Login.new(idpServer)
- self.failUnless(idpLogin)
- errorCode = idpLogin.process_request_msg(soapRequestMsg)
- self.failUnlessEqual(errorCode, 0)
+ idpLogin.process_request_msg(soapRequestMsg)
artifact = idpLogin.assertionArtifact
self.failUnless(artifact)
return idpLogin
@@ -142,9 +131,7 @@ class LoginTestCase(TestCase):
self.failUnlessEqual(requestType, lasso.requestTypeLogout)
idpServer = self.generateIdpServer()
idpLogout = lasso.Logout.new(idpServer, lasso.providerTypeIdp)
- self.failUnless(idpLogout)
- errorCode = idpLogout.process_request_msg(soapRequestMsg, lasso.httpMethodSoap)
- self.failUnlessEqual(errorCode, 0)
+ idpLogout.process_request_msg(soapRequestMsg, lasso.httpMethodSoap)
nameIdentifier = idpLogout.nameIdentifier
self.failUnless(nameIdentifier)
return idpLogout
@@ -154,8 +141,7 @@ class LoginTestCase(TestCase):
idpLogout.set_identity_from_dump(identityDump)
if sessionDump is not None:
idpLogout.set_session_from_dump(sessionDump)
- errorCode = idpLogout.validate_request()
- self.failUnlessEqual(errorCode, 0)
+ idpLogout.validate_request()
idpIdentityDump = idpLogout.get_identity().dump()
self.failUnless(idpIdentityDump)
self.failUnless(idpLogout.is_session_dirty())
@@ -167,8 +153,7 @@ class LoginTestCase(TestCase):
# FIXME: Handle the case where there are authentication assertions for other service
# providers.
self.failUnlessEqual(idpLogout.get_next_providerID(), None)
- errorCode = idpLogout.build_response_msg()
- self.failUnlessEqual(errorCode, 0)
+ idpLogout.build_response_msg()
soapResponseMsg = idpLogout.msg_body
self.failUnless(soapResponseMsg)
return idpLogout
@@ -176,10 +161,8 @@ class LoginTestCase(TestCase):
def spAssertionConsumerForRedirect(self, responseQuery):
spServer = self.generateSpServer()
spLogin = lasso.Login.new(spServer)
- errorCode = spLogin.init_request(responseQuery, lasso.httpMethodRedirect)
- self.failUnlessEqual(errorCode, 0)
- errorCode = spLogin.build_request_msg()
- self.failUnlessEqual(errorCode, 0)
+ spLogin.init_request(responseQuery, lasso.httpMethodRedirect)
+ spLogin.build_request_msg()
soapEndpoint = spLogin.msg_url
self.failUnless(soapEndpoint)
soapRequestMsg = spLogin.msg_body
@@ -187,8 +170,7 @@ class LoginTestCase(TestCase):
return spLogin
def spAssertionConsumer_part2(self, spLogin, soapResponseMsg):
- errorCode = spLogin.process_response_msg(soapResponseMsg)
- self.failUnlessEqual(errorCode, 0)
+ spLogin.process_response_msg(soapResponseMsg)
nameIdentifier = spLogin.nameIdentifier
self.failUnless(nameIdentifier)
return spLogin
@@ -198,8 +180,7 @@ class LoginTestCase(TestCase):
spLogin.set_identity_from_dump(identityDump)
if sessionDump is not None:
spLogin.set_session_from_dump(sessionDump)
- errorCode = spLogin.accept_sso()
- self.failUnlessEqual(errorCode, 0)
+ spLogin.accept_sso()
spIdentity = spLogin.get_identity()
self.failUnless(spIdentity)
spIdentityDump = spIdentity.dump()
@@ -216,18 +197,15 @@ class LoginTestCase(TestCase):
def spLoginForRedirect(self):
spServer = self.generateSpServer()
spLogin = lasso.Login.new(spServer)
- self.failUnless(spLogin)
- errorCode = spLogin.init_authn_request(
+ spLogin.init_authn_request(
"https://identity-provider:1998/liberty-alliance/metadata")
- self.failUnlessEqual(errorCode, 0)
self.failUnlessEqual(spLogin.request_type, lasso.messageTypeAuthnRequest)
spLogin.request.set_isPassive(False)
spLogin.request.set_nameIDPolicy(lasso.libNameIDPolicyTypeFederated)
spLogin.request.set_consent(lasso.libConsentObtained)
relayState = "fake"
spLogin.request.set_relayState(relayState)
- errorCode = spLogin.build_authn_request_msg()
- self.failUnlessEqual(errorCode, 0)
+ spLogin.build_authn_request_msg()
authnRequestUrl = spLogin.msg_url
self.failUnless(authnRequestUrl)
return spLogin
@@ -235,15 +213,12 @@ class LoginTestCase(TestCase):
def spLogoutForSoap(self, spIdentityDump, spSessionDump):
spServer = self.generateSpServer()
spLogout = lasso.Logout.new(spServer, lasso.providerTypeSp)
- self.failUnless(spLogout)
if spIdentityDump is not None:
spLogout.set_identity_from_dump(spIdentityDump)
if spSessionDump is not None:
spLogout.set_session_from_dump(spSessionDump)
- errorCode = spLogout.init_request()
- self.failUnlessEqual(errorCode, 0)
- errorCode = spLogout.build_request_msg()
- self.failUnlessEqual(errorCode, 0)
+ spLogout.init_request()
+ spLogout.build_request_msg()
soapEndpoint = spLogout.msg_url
self.failUnless(soapEndpoint)
soapRequestMsg = spLogout.msg_body
@@ -251,8 +226,7 @@ class LoginTestCase(TestCase):
return spLogout
def spLogoutForSoap_part2(self, spLogout, soapResponseMsg):
- errorCode = spLogout.process_response_msg(soapResponseMsg, lasso.httpMethodSoap)
- self.failUnlessEqual(errorCode, 0)
+ spLogout.process_response_msg(soapResponseMsg, lasso.httpMethodSoap)
self.failIf(spLogout.is_identity_dirty())
spIdentity = spLogout.get_identity()
self.failUnless(spIdentity)
@@ -285,7 +259,6 @@ class LoginTestCase(TestCase):
authenticationMethod = lasso.samlAuthenticationMethodPassword
idpServer = self.generateIdpServer()
idpLogin = lasso.Login.new_from_dump(idpServer, idpLoginDump)
- self.failUnless(idpLogin)
self.failUnlessEqual(idpLogin.protocolProfile, lasso.loginProtocolProfileBrwsArt)
idpLogin = self.idpSingleSignOn_part2ForArtifactRedirect(
idpLogin, userAuthenticated, authenticationMethod)
@@ -373,7 +346,7 @@ class LoginTestCase(TestCase):
idpIdentityDump = """\
<LassoIdentity><LassoFederations><LassoFederation RemoteProviderID="https://service-provider:2003/liberty-alliance/metadata"><LassoLocalNameIdentifier><saml:NameIdentifier xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" NameQualifier="https://identity-provider:1998/liberty-alliance/metadata" Format="urn:liberty:iff:nameid:federated">NjMxMEMzRTlEMDA4NTNEMEZGNDI1MEM0QzY4NUNBNzY=</saml:NameIdentifier></LassoLocalNameIdentifier></LassoFederation></LassoFederations></LassoIdentity>
""".strip()
- self.failUnlessEqual(idpLogin.set_identity_from_dump(idpIdentityDump), 0)
+ idpLogin.set_identity_from_dump(idpIdentityDump)
idpSessionDump = """
<LassoSession><LassoAssertions><LassoAssertion RemoteProviderID="https://service-provider:2003/liberty-alliance/metadata"><lib:Assertion xmlns:lib="urn:liberty:iff:2003-08" AssertionID="Q0QxQzNFRTVGRTZEM0M0RjY2MTZDNTEwOUY4MDQzRTI=" MajorVersion="1" MinorVersion="2" IssueInstance="2004-08-02T18:51:43Z" Issuer="https://identity-provider:1998/liberty-alliance/metadata" InResponseTo="OEQ0OEUzODhGRTdGMEVFMzQ5Q0Q0QzYzQjk4MjUwNjQ="><lib:AuthenticationStatement xmlns:lib="urn:liberty:iff:2003-08" AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password" AuthenticationInstant="2004-08-02T18:51:43Z" ReauthenticateOnOrAfter="FIXME: reauthenticateOnOrAfter"><lib:Subject xmlns:lib="urn:liberty:iff:2003-08"><saml:NameIdentifier xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" NameQualifier="https://identity-provider:1998/liberty-alliance/metadata" Format="urn:liberty:iff:nameid:federated">NjMxMEMzRTlEMDA4NTNEMEZGNDI1MEM0QzY4NUNBNzY=</saml:NameIdentifier><lib:IDPProvidedNameIdentifier xmlns:lib="urn:liberty:iff:2003-08" NameQualifier="https://identity-provider:1998/liberty-alliance/metadata" Format="urn:liberty:iff:nameid:federated">NjMxMEMzRTlEMDA4NTNEMEZGNDI1MEM0QzY4NUNBNzY=</lib:IDPProvidedNameIdentifier><saml:SubjectConfirmation xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"><saml:SubjectConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer</saml:SubjectConfirmationMethod></saml:SubjectConfirmation></lib:Subject></lib:AuthenticationStatement><Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
@@ -417,11 +390,10 @@ jFL7NhzvY02aBTLhm22YOLYnlycKm64NGne+siooDCi5tel2/vcx+e+btX9x</X509Certificate>
</Signature></lib:Assertion></LassoAssertion></LassoAssertions></LassoSession>
""".strip()
# " <-- Trick for Emacs Python mode.
- self.failUnlessEqual(idpLogin.set_session_from_dump(idpSessionDump), 0)
+ idpLogin.set_session_from_dump(idpSessionDump)
authnRequestQuery = """NameIDPolicy=federated&IsPassive=false&ProviderID=https%3A%2F%2Fservice-provider%3A2003%2Fliberty-alliance%2Fmetadata&consent=urn%3Aliberty%3Aconsent%3Aobtained&IssueInstance=2004-08-02T20%3A33%3A58Z&MinorVersion=2&MajorVersion=1&RequestID=ODVGNkUyMzY5N0MzOTY4QzZGOUYyNzEwRTJGMUNCQTI%3D&SigAlg=http%3A%2F%2Fwww.w3.org%2F2000%2F09%2Fxmldsig%23rsa-sha1&Signature=fnSL5Mgp%2BV%2FtdUuYQJmFKvFY8eEco6sypmejvP4sD0v5ApywV94mUo6BxE29o1KW%0AGFXiMG7puhTwRSlKDo1vlh5iHNqVfjKcbx2XhfoDfplqLir102dyHxB5GedEQvqw%0AbTFtFrB6SnHi5facrYHCn7b58CxAWv9XW4DIfcVCOSma2OOBCm%2FzzCSiZpOtbRk9%0AveQzace41tDW0XLlbRdWpvwsma0yaYSkqYvTV3hmvgkWS5x9lzcm97oME4ywzwbU%0AJAyG8BkqMFoG7FPjwzR8qh7%2FWi%2BCzxxqfczxSGkUZUmsQdxyxazjhDpt1X8i5fan%0AnaF1vWF3GmS6G4t7mrkItA%3D%3D"""
method = lasso.httpMethodRedirect
- self.failUnlessEqual(
- idpLogin.init_from_authn_request_msg(authnRequestQuery, method), 0)
+ idpLogin.init_from_authn_request_msg(authnRequestQuery, method)
self.failIf(idpLogin.must_authenticate())
userAuthenticated = True
authenticationMethod = lasso.samlAuthenticationMethodPassword
@@ -483,14 +455,12 @@ CGb/HRUx5EPgbIy52G224ITlQWadD1Z6y4PFTowDjkaRVerjUVRJZ/a5QVNsI4Du
requestType = lasso.get_request_type_from_soap_msg(soapRequestMessage)
self.failUnlessEqual(requestType, lasso.requestTypeLogout)
idpLogout = lasso.Logout.new(idpServer, lasso.providerTypeIdp)
- self.failUnless(idpLogout)
- self.failUnlessEqual(
- idpLogout.process_request_msg(soapRequestMessage, lasso.httpMethodSoap), 0)
+ idpLogout.process_request_msg(soapRequestMessage, lasso.httpMethodSoap)
self.failUnless(idpLogout.nameIdentifier)
idpIdentityDump = """\
<LassoIdentity><LassoFederations><LassoFederation RemoteProviderID="https://service-provider:2003/liberty-alliance/metadata"><LassoLocalNameIdentifier><saml:NameIdentifier xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" NameQualifier="https://identity-provider:1998/liberty-alliance/metadata" Format="urn:liberty:iff:nameid:federated">QkM3M0M4MTYxREQzNEYwNEI4M0I4MUVERDUyQUUyMjA=</saml:NameIdentifier></LassoLocalNameIdentifier></LassoFederation></LassoFederations></LassoIdentity>
""".strip()
- self.failUnlessEqual(idpLogout.set_identity_from_dump(idpIdentityDump), 0)
+ idpLogout.set_identity_from_dump(idpIdentityDump)
self.failUnlessEqual(idpLogout.get_identity().dump(), idpIdentityDump)
idpSessionDump = """
<LassoSession><LassoAssertions><LassoAssertion RemoteProviderID="https://service-provider:2003/liberty-alliance/metadata"><lib:Assertion xmlns:lib="urn:liberty:iff:2003-08" AssertionID="QUVENUJCNzRFOUQ3MEZFNEYzNUUwQTA5OTRGMEYzMDg=" MajorVersion="1" MinorVersion="2" IssueInstance="2004-08-03T11:55:55Z" Issuer="https://identity-provider:1998/liberty-alliance/metadata" InResponseTo="N0VEQzE0QUE1NTYwQTAzRjk4Njk3Q0JCRUU0RUZCQkY="><lib:AuthenticationStatement xmlns:lib="urn:liberty:iff:2003-08" AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password" AuthenticationInstant="2004-08-03T11:55:55Z" ReauthenticateOnOrAfter="FIXME: reauthenticateOnOrAfter"><lib:Subject xmlns:lib="urn:liberty:iff:2003-08"><saml:NameIdentifier xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" NameQualifier="https://identity-provider:1998/liberty-alliance/metadata" Format="urn:liberty:iff:nameid:federated">QkM3M0M4MTYxREQzNEYwNEI4M0I4MUVERDUyQUUyMjA=</saml:NameIdentifier><lib:IDPProvidedNameIdentifier xmlns:lib="urn:liberty:iff:2003-08" NameQualifier="https://identity-provider:1998/liberty-alliance/metadata" Format="urn:liberty:iff:nameid:federated">QkM3M0M4MTYxREQzNEYwNEI4M0I4MUVERDUyQUUyMjA=</lib:IDPProvidedNameIdentifier><saml:SubjectConfirmation xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"><saml:SubjectConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer</saml:SubjectConfirmationMethod></saml:SubjectConfirmation></lib:Subject></lib:AuthenticationStatement><Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
@@ -535,15 +505,15 @@ jFL7NhzvY02aBTLhm22YOLYnlycKm64NGne+siooDCi5tel2/vcx+e+btX9x</X509Certificate>
</Signature></lib:Assertion></LassoAssertion></LassoAssertions></LassoSession>
""".strip()
# " <-- Trick for Emacs Python mode.
- self.failUnlessEqual(idpLogout.set_session_from_dump(idpSessionDump), 0)
+ idpLogout.set_session_from_dump(idpSessionDump)
self.failUnlessEqual(idpLogout.get_session().dump(), idpSessionDump)
- self.failUnlessEqual(idpLogout.validate_request(), 0)
+ idpLogout.validate_request()
self.failIf(idpLogout.is_identity_dirty())
self.failUnless(idpLogout.is_session_dirty())
idpSessionDump = idpLogout.get_session().dump()
self.failUnless(idpSessionDump)
self.failIf(idpLogout.get_next_providerID())
- self.failUnlessEqual(idpLogout.build_response_msg(), 0)
+ idpLogout.build_response_msg()
soapResponseMsg = idpLogout.msg_body
self.failUnless(soapResponseMsg)
@@ -602,8 +572,8 @@ jFL7NhzvY02aBTLhm22YOLYnlycKm64NGne+siooDCi5tel2/vcx+e+btX9x</X509Certificate>
# " <-- Trick for Emacs Python mode.
spLogout.set_session_from_dump(spSessionDump)
- self.failUnlessEqual(spLogout.init_request(), 0)
- self.failUnlessEqual(spLogout.build_request_msg(), 0)
+ spLogout.init_request()
+ spLogout.build_request_msg()
self.failUnless(spLogout.msg_url)
self.failUnless(spLogout.msg_body)
self.failUnless(spLogout.nameIdentifier)
@@ -611,8 +581,7 @@ jFL7NhzvY02aBTLhm22YOLYnlycKm64NGne+siooDCi5tel2/vcx+e+btX9x</X509Certificate>
soapResponseMessage = """\
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"><soap-env:Body xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"><lib:LogoutResponse xmlns:lib="urn:liberty:iff:2003-08" ResponseID="NjcyNDYxQ0FCRTQwMUE0NjE4MzlFQjFDOTI2MTc3NjE=" MajorVersion="1" MinorVersion="2" IssueInstance="2004-08-04T00:03:20Z" InResponseTo="MzNCOTRBMjRCMDExN0MxODc1MUI5NjMwQjlCMTg1NzM=" Recipient="https://service-provider:2003/liberty-alliance/metadata"><lib:ProviderID>https://identity-provider:1998/liberty-alliance/metadata</lib:ProviderID><samlp:Status xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol"><samlp:StatusCode xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" Value="Samlp:Success"/></samlp:Status></lib:LogoutResponse></soap-env:Body></soap-env:Envelope>
""".strip()
- self.failUnlessEqual(
- spLogout.process_response_msg(soapResponseMessage, lasso.httpMethodSoap), 0)
+ spLogout.process_response_msg(soapResponseMessage, lasso.httpMethodSoap)
self.failIf(spLogout.is_identity_dirty())
self.failUnless(spLogout.is_session_dirty())
spSessionDump = spLogout.get_session().dump()