From 86d837bf5bbe0e9f53688b7bc4f87c79ad223339 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Mon, 4 Jan 2010 09:15:36 +0000 Subject: Python binding: update test scripts to new ID-WSF API --- bindings/python/tests/idwsf1_tests.py | 33 ++++++++++++------- bindings/python/tests/idwsf2_tests.py | 62 ++++++++++++++++++++++------------- 2 files changed, 61 insertions(+), 34 deletions(-) (limited to 'bindings/python') 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() == 'Damien') class DataServiceModifyTestCase(IdWsf1TestCase): @@ -283,7 +283,8 @@ class DataServiceModifyTestCase(IdWsf1TestCase): ''' 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): ''' 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): """ + 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): """ - 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): """ - 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') -- cgit