summaryrefslogtreecommitdiffstats
path: root/bindings/python
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-01-04 09:15:36 +0000
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2010-01-04 09:15:36 +0000
commit86d837bf5bbe0e9f53688b7bc4f87c79ad223339 (patch)
tree25df3a78519900db9d54eb446a8d13334f3d1598 /bindings/python
parent6e7ed2e5cc85c1f3ae997747f5a31e05fe6a2365 (diff)
downloadlasso-86d837bf5bbe0e9f53688b7bc4f87c79ad223339.tar.gz
lasso-86d837bf5bbe0e9f53688b7bc4f87c79ad223339.tar.xz
lasso-86d837bf5bbe0e9f53688b7bc4f87c79ad223339.zip
Python binding: update test scripts to new ID-WSF API
Diffstat (limited to 'bindings/python')
-rwxr-xr-xbindings/python/tests/idwsf1_tests.py33
-rwxr-xr-xbindings/python/tests/idwsf2_tests.py62
2 files changed, 61 insertions, 34 deletions
diff --git a/bindings/python/tests/idwsf1_tests.py b/bindings/python/tests/idwsf1_tests.py
index a37cd838..03deb481 100755
--- a/bindings/python/tests/idwsf1_tests.py
+++ b/bindings/python/tests/idwsf1_tests.py
@@ -264,7 +264,7 @@ class DataServiceQueryTestCase(IdWsf1TestCase):
wsp_service.buildResponseMsg()
wsc_service.processQueryResponseMsg(wsp_service.msgBody)
- self.failUnless(wsc_service.getAnswer('/pp:PP/pp:InformalName') ==
+ self.failUnless(wsc_service.getAnswer() ==
'<InformalName xmlns="urn:liberty:id-sis-pp:2003-08">Damien</InformalName>')
class DataServiceModifyTestCase(IdWsf1TestCase):
@@ -283,7 +283,8 @@ class DataServiceModifyTestCase(IdWsf1TestCase):
</PP>'''
wsc_service = self.get_pp_service()
- wsc_service.initModify(xpath, new_data)
+ wsc_service.initModify()
+ wsc_service.addModification(xpath, new_data, overrideAllowed = True)
wsc_service.buildRequestMsg()
request_type = lasso.getRequestTypeFromSoapMsg(wsc_service.msgBody)
@@ -291,7 +292,7 @@ class DataServiceModifyTestCase(IdWsf1TestCase):
self.wsp = self.get_wsp_server()
wsp_service = lasso.DataService(self.wsp)
- wsp_service.processModifyMsg(wsc_service.msgBody)
+ wsp_service.processRequestMsg(wsc_service.msgBody)
item = wsp_service.request.modification[0]
self.failUnless(item.newData.any[0] ==
@@ -299,6 +300,7 @@ class DataServiceModifyTestCase(IdWsf1TestCase):
self.failUnless(item.select == '/pp:PP/pp:InformalName')
wsp_service.resourceData = old_data
+ wsp_service.validateRequest()
wsp_service.buildModifyResponseMsg()
# Save the new wsp_service.resourceData here
@@ -324,7 +326,8 @@ class DataServiceModifyTestCase(IdWsf1TestCase):
</PP>'''
wsc_service = self.get_pp_service()
- wsc_service.initModify(xpath, new_data)
+ wsc_service.initModify()
+ wsc_service.addModification(xpath, new_data, overrideAllowed = True)
wsc_service.buildRequestMsg()
request_type = lasso.getRequestTypeFromSoapMsg(wsc_service.msgBody)
@@ -332,8 +335,9 @@ class DataServiceModifyTestCase(IdWsf1TestCase):
self.wsp = self.get_wsp_server()
wsp_service = lasso.DataService(self.wsp)
- wsp_service.processModifyMsg(wsc_service.msgBody)
+ wsp_service.processRequestMsg(wsc_service.msgBody)
wsp_service.resourceData = old_data
+ wsp_service.validateRequest()
wsp_service.buildModifyResponseMsg()
# Save the new wsp_service.resourceData here
@@ -356,7 +360,8 @@ class DataServiceModifyTestCase(IdWsf1TestCase):
redir_url = 'http://site/redirect_for_consent'
wsc_service = self.get_pp_service()
- wsc_service.initModify(xpath, new_data)
+ wsc_service.initModify()
+ wsc_service.addModification(xpath, new_data, overrideAllowed = True)
wsc_service.buildRequestMsg()
request_type = lasso.getRequestTypeFromSoapMsg(wsc_service.msgBody)
@@ -364,18 +369,24 @@ class DataServiceModifyTestCase(IdWsf1TestCase):
self.wsp = self.get_wsp_server()
wsp_service = lasso.DataService(self.wsp)
- wsp_service.processModifyMsg(wsc_service.msgBody)
+ wsp_service.processRequestMsg(wsc_service.msgBody)
wsp_service.resourceData = old_data
- wsp_service.needRedirectUser(redir_url)
+ wsp_service.initInteractionServiceRedirect(redir_url)
wsp_service.buildModifyResponseMsg()
# Save the new wsp_service.resourceData here
# Data mustn't have been modified here
self.failUnless(wsp_service.resourceData == old_data)
-
- wsc_service.processModifyResponseMsg(wsp_service.msgBody)
- self.failUnless(wsc_service.getRedirectRequestUrl() == redir_url)
+ self.failUnless(wsp_service.msgBody is not None)
+
+ try:
+ wsc_service.processModifyResponseMsg(wsp_service.msgBody)
+ except lasso.SoapRedirectRequestFaultError:
+ pass
+ except Exception, e:
+ self.fail(e)
+ self.failUnless(wsc_service.msgUrl == redir_url)
discoveryQuerySuite = unittest.makeSuite(DiscoveryQueryTestCase, 'test')
diff --git a/bindings/python/tests/idwsf2_tests.py b/bindings/python/tests/idwsf2_tests.py
index aff03816..fd98ef5e 100755
--- a/bindings/python/tests/idwsf2_tests.py
+++ b/bindings/python/tests/idwsf2_tests.py
@@ -104,7 +104,7 @@ class IdWsf2TestCase(unittest.TestCase):
idp_disco.buildResponseMsg()
wsp_disco.processMetadataRegisterResponseMsg(idp_disco.msgBody)
- return idp, wsp_disco.svcMDID
+ return idp, wsp_disco.svcMDIDs[0]
def login(self, sp, idp, sp_identity_dump=None, sp_session_dump=None,
idp_identity_dump=None, idp_session_dump=None):
@@ -193,9 +193,12 @@ class IdpSelfRegistrationTestCase(IdWsf2TestCase):
abstract = ''
soapEndpoint = ''
- svcMDID = disco.metadataRegisterSelf(service_type, abstract, soapEndpoint)
-
- self.failIf(svcMDID, 'svcMDID should not be set')
+ try:
+ svcMDID = disco.metadataRegisterSelf(service_type, abstract, soapEndpoint)
+ except lasso.ParamBadTypeOrNullObjError:
+ pass
+ else:
+ self.fail('metadataRegisterSelf should fail with a ParamBadTypeOrNullObjError')
class MetadataRegisterTestCase(IdWsf2TestCase):
@@ -283,7 +286,8 @@ class MetadataRegisterTestCase(IdWsf2TestCase):
idp_disco = lasso.IdWsf2Discovery(idp)
idp_disco.processMetadataRegisterMsg(wsp_disco.msgBody)
- self.failUnless(idp_disco.metadata.dump(), 'missing registered metadata')
+ self.failUnless(len(idp_disco.metadatas) == 1, 'missing registered metadata')
+ self.failUnless(idp_disco.metadatas[0].dump(), 'missing registered metadata')
def test06(self):
"""Build metadata registration response"""
@@ -345,7 +349,8 @@ class MetadataRegisterTestCase(IdWsf2TestCase):
wsp_disco.processMetadataRegisterResponseMsg(idp_disco.msgBody)
- self.failUnless(wsp_disco.svcMDID, 'missing svcMDID')
+ self.failUnless(len(wsp_disco.svcMDIDs) == 1, 'missing svcMDID')
+ self.failUnless(wsp_disco.svcMDIDs[0], 'missing svcMDID')
class MetadataAssociationAddTestCase(IdWsf2TestCase):
def test01(self):
@@ -1362,13 +1367,13 @@ class DataServiceQueryTestCase(IdWsf2TestCase):
</MsgContact>
</PP>"""
+ print wsp_service.nameIdentifier
try:
wsp_service.parseQueryItems()
- except lasso.Error, e:
- if e[0] != lasso.DST_ERROR_QUERY_FAILED:
- self.fail(e)
- else:
- self.fail('query items parsing should have failed because no item was requested')
+ except lasso.DstEmptyRequestError:
+ pass
+ except Exception, e:
+ self.fail(e)
def test13(self):
"""Data service parse query items - failure - wrong item"""
@@ -1547,15 +1552,19 @@ class DataServiceQueryTestCase(IdWsf2TestCase):
</MsgContact>
</PP>"""
- wsp_service.parseQueryItems()
+ try:
+ wsp_service.parseQueryItems()
+ except lasso.DstQueryPartiallyFailedError:
+ pass
+ except:
+ self.fail('parseQueryItems should emit a "partially failed" error because a wrong query item was requested')
wsp_service.buildResponseMsg()
try:
service.processQueryResponseMsg(wsp_service.msgBody)
- except lasso.Error, e:
- if e[0] != lasso.DST_ERROR_QUERY_PARTIALLY_FAILED:
- self.fail(e)
- else:
+ except lasso.DstQueryPartiallyFailedError:
+ pass
+ except:
self.fail('response should have a "partially failed" status because a wrong query item was requested')
def test20(self):
@@ -1668,7 +1677,12 @@ class DataServiceQueryTestCase(IdWsf2TestCase):
</MsgContact>
</PP>"""
- wsp_service.parseQueryItems()
+ try:
+ wsp_service.parseQueryItems()
+ except lasso.DstQueryPartiallyFailedError:
+ pass
+ except:
+ self.fail('parseQueryItems should emit a "partially failed" error because a wrong query item was requested')
wsp_service.buildResponseMsg()
try:
@@ -1701,9 +1715,10 @@ class DataServiceQueryTestCase(IdWsf2TestCase):
try:
service.processQueryResponseMsg(wsp_service.msgBody)
- except lasso.Error, e:
- if e[0] != lasso.SOAP_FAULT_REDIRECT_REQUEST:
- self.fail(e)
+ except lasso.SoapRedirectRequestFaultError:
+ pass
+ except Exception, e:
+ self.fail(e)
else:
self.fail('a "soap fault redirect request" exception should have been raised')
@@ -1726,9 +1741,10 @@ class DataServiceQueryTestCase(IdWsf2TestCase):
try:
service.processQueryResponseMsg(wsp_service.msgBody)
- except lasso.Error, e:
- if e[0] == lasso.SOAP_FAULT_REDIRECT_REQUEST:
- pass
+ except lasso.SoapRedirectRequestFaultError:
+ pass
+ except Exception, e:
+ self.fail(e)
self.failUnlessEqual(service.redirectUrl, 'http://sp5/consent', 'redirectUrl is not set or wrong')