summaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
authorEmmanuel Raviart <eraviart@entrouvert.com>2004-07-22 18:38:50 +0000
committerEmmanuel Raviart <eraviart@entrouvert.com>2004-07-22 18:38:50 +0000
commit9fafbcd580f9588a0b10bb430eed7b2acd99233d (patch)
treec284e67a01994dffdfaa4a4966b987ae21f0f1f0 /python
parent55aeba092c8d40053e1dbff6af75176dfee2586d (diff)
downloadlasso-9fafbcd580f9588a0b10bb430eed7b2acd99233d.tar.gz
lasso-9fafbcd580f9588a0b10bb430eed7b2acd99233d.tar.xz
lasso-9fafbcd580f9588a0b10bb430eed7b2acd99233d.zip
Nearly completed Python & Java first non-regression test for login.
But Java test doesn't work: java.lang.UnsatisfiedLinkError: libjlasso: not found Adding its directory to LD_LIBRARY_PATH may help. at LoginTest.main (LoginTest.java:165) And I don't understand why. Please professor, help me!
Diffstat (limited to 'python')
-rw-r--r--python/examples/logout.py2
-rw-r--r--python/lasso.py12
-rw-r--r--python/tests/login_tests.py27
3 files changed, 26 insertions, 15 deletions
diff --git a/python/examples/logout.py b/python/examples/logout.py
index 789a1e90..efdbcb96 100644
--- a/python/examples/logout.py
+++ b/python/examples/logout.py
@@ -32,7 +32,7 @@ print 'request url : ', msg_url
print 'request body : ', msg_body
request_type = lasso.get_request_type_from_soap_msg(msg_body)
-if request_type==lasso.RequestTypeLogout:
+if request_type == lasso.requestTypeLogout:
print "it's a LogoutRequest !"
diff --git a/python/lasso.py b/python/lasso.py
index c738fb31..000709c3 100644
--- a/python/lasso.py
+++ b/python/lasso.py
@@ -47,12 +47,12 @@ def shutdown():
"""
return lassomod.shutdown()
-# request types :
-RequestTypeLogin = 1
-RequestTypeLogout = 2
-RequestTypeFederationTermination = 3
-RequestRegisterNameIdentifier = 4
-RequestTypeNameIdentifierMapping = 5
+# Request types
+requestTypeLogin = 1
+requestTypeLogout = 2
+requestTypeFederationTermination = 3
+requestTypeRegisterNameIdentifier = 4
+requestTypeNameIdentifierMapping = 5
def get_request_type_from_soap_msg(soap_buffer):
return lassomod.profile_context_get_request_type_from_soap_msg(soap_buffer);
diff --git a/python/tests/login_tests.py b/python/tests/login_tests.py
index f66d0828..0b3325f3 100644
--- a/python/tests/login_tests.py
+++ b/python/tests/login_tests.py
@@ -111,9 +111,11 @@ class LoginTestCase(unittest.TestCase):
self.failUnlessEqual(idpLoginContext.build_artifact_msg(
userAuthenticated, authenticationMethod, "FIXME: reauthenticateOnOrAfter",
lasso.httpMethodRedirect), 0)
+ idpUserContextDump = idpLoginContext.user.dump()
+ self.failUnless(idpUserContextDump)
responseUrl = idpLoginContext.msg_url
responseQuery = responseUrl.split("?", 1)[1]
- responseMsg = idpLoginContext.response_dump
+ soapResponseMsg = idpLoginContext.response_dump
artifact = idpLoginContext.assertionArtifact
nameIdentifier = idpLoginContext.nameIdentifier
method = lasso.httpMethodRedirect
@@ -128,13 +130,22 @@ class LoginTestCase(unittest.TestCase):
soapEndpoint = spLoginContext.msg_url
soapRequestMsg = spLoginContext.msg_body
-## soapResponseMsg = self.callSoap(loginContext.msg_url, loginContext.msg_body)
-## logs.debug("soapResponseMsg = %s" % soapResponseMsg)
-## errorCode = loginContext.process_response_msg(soapResponseMsg)
-## if errorCode:
-## raise Exception("Lasso login error %s" % errorCode)
-## nameIdentifier = loginContext.nameIdentifier
-
+ # Identity provider SOAP endpoint.
+ idpContextDump = self.generateIdentityProviderContextDump()
+ self.failUnless(idpContextDump)
+ requestType = lasso.get_request_type_from_soap_msg(soapRequestMsg)
+ self.failUnlessEqual(requestType, lasso.requestTypeLogin)
+
+ # Service provider assertion consumer (step 2).
+ self.failUnlessEqual(spLoginContext.process_response_msg(soapResponseMsg), 0)
+ self.failUnlessEqual(spLoginContext.nameIdentifier, nameIdentifier)
+ # The user doesn't have any federation yet.
+ self.failUnlessEqual(spLoginContext.create_user(None), 0)
+ spUserContextDump = spLoginContext.user.dump()
+ self.failUnless(spUserContextDump)
+ authenticationMethod = spLoginContext.response.get_child(
+ "AuthenticationStatement").get_attr_value("AuthenticationMethod")
+ self.failUnlessEqual(authenticationMethod, lasso.samlAuthenticationMethodPassword)
suite1 = unittest.makeSuite(LoginTestCase, 'test')