diff options
| author | Damien Laniel <dlaniel@entrouvert.com> | 2007-09-21 16:36:51 +0000 |
|---|---|---|
| committer | Damien Laniel <dlaniel@entrouvert.com> | 2007-09-21 16:36:51 +0000 |
| commit | 7d3f2e99f5bd3575d830048f180d877f30841d5b (patch) | |
| tree | ec72edcf5a48a7949bbf7ea977346a348b0afa6c /python/tests | |
| parent | 2be0a784baabfc70bd1eed54a79e32b3b3cd4610 (diff) | |
| download | lasso-7d3f2e99f5bd3575d830048f180d877f30841d5b.tar.gz lasso-7d3f2e99f5bd3575d830048f180d877f30841d5b.tar.xz lasso-7d3f2e99f5bd3575d830048f180d877f30841d5b.zip | |
split the discovery query test and added data service query and data service modify tests
Diffstat (limited to 'python/tests')
| -rwxr-xr-x | python/tests/idwsf1_tests.py | 78 |
1 files changed, 65 insertions, 13 deletions
diff --git a/python/tests/idwsf1_tests.py b/python/tests/idwsf1_tests.py index 4e504823..d144457e 100755 --- a/python/tests/idwsf1_tests.py +++ b/python/tests/idwsf1_tests.py @@ -48,10 +48,13 @@ idp_metadata = os.path.join(dataDir, 'idp1-la/metadata.xml') idp_private_key = os.path.join(dataDir, 'idp1-la/private-key-raw.pem') idp_public_key = os.path.join(dataDir, 'idp1-la/public-key.pem') +abstract_description = "Personal Profile Resource" +resource_id = "http://idp/user/resources/1" + class IdWsf1TestCase(unittest.TestCase): def get_wsp_server(self): server = lasso.Server(wsp_metadata, wsp_private_key, None, None) - server.addProvider(lasso.PROVIDER_ROLE_IDP, idp_metadata, idp_private_key, None) + server.addProvider(lasso.PROVIDER_ROLE_IDP, idp_metadata, idp_public_key, None) return server def get_wsc_server(self): @@ -112,32 +115,30 @@ class IdWsf1TestCase(unittest.TestCase): return sp_login.identity.dump(), sp_login.session.dump(), idp_login.identity.dump(), idp_login.session.dump() - def test01(self): - wsc = self.get_wsc_server() - idp = self.get_idp_server() - idp = self.add_services(idp) - abstract_description = "Personal Profile Resource" - resource_id = "http://idp/user/resources/1" + def get_pp_service(self): + self.wsc = self.get_wsc_server() + self.idp = self.get_idp_server() + self.idp = self.add_services(self.idp) # Login from WSC - sp_identity_dump, sp_session_dump, idp_identity_dump, idp_session_dump = self.login(wsc, idp) + sp_identity_dump, sp_session_dump, idp_identity_dump, idp_session_dump = self.login(self.wsc, self.idp) # Init discovery query - wsc_disco = lasso.Discovery(wsc) + wsc_disco = lasso.Discovery(self.wsc) wsc_disco.setSessionFromDump(sp_session_dump) wsc_disco.initQuery() wsc_disco.addRequestedServiceType(lasso.PP_HREF) wsc_disco.buildRequestMsg(); # Process query - idp_disco = lasso.Discovery(idp) + idp_disco = lasso.Discovery(self.idp) idp_disco.processQueryMsg(wsc_disco.msgBody) idp_disco.setIdentityFromDump(idp_identity_dump) # Build resource offering service_instance = lasso.DiscoServiceInstance( lasso.PP_HREF, - idp.providerId, + self.idp.providerId, lasso.DiscoDescription_newWithBriefSoapHttpDescription( lasso.SECURITY_MECH_NULL, 'http://idp/pp/soapEndpoint')) @@ -149,14 +150,65 @@ class IdWsf1TestCase(unittest.TestCase): # Process response wsc_disco.processQueryResponseMsg(idp_disco.msgBody); - service = wsc_disco.getService() + return wsc_disco.getService() + def test01(self): + '''Test a discovery query''' + service = self.get_pp_service() # Check service attributes self.failUnless(service.resourceId is not None) self.failUnless(service.resourceId.content == resource_id) - self.failUnless(service.providerId == wsc.providerIds[0]) + self.failUnless(service.providerId == self.wsc.providerIds[0]) self.failUnless(service.abstractDescription == abstract_description) + def test02(self): + '''Test a data service query''' + wsc_service = self.get_pp_service() + wsc_service.initQuery('/pp:PP/pp:InformalName', 'name') + wsc_service.buildRequestMsg() + self.wsp = self.get_wsp_server() + wsp_service = lasso.DataService(self.wsp) + wsp_service.processQueryMsg(wsc_service.msgBody) + wsp_service.resourceData = ''' + <PP xmlns="urn:liberty:id-sis-pp:2003-08"> + <InformalName>Damien</InformalName> + </PP>''' + wsp_service.buildResponseMsg() + + wsc_service.processQueryResponseMsg(wsp_service.msgBody) + self.failUnless(wsc_service.getAnswer('/pp:PP/pp:InformalName') == + '<InformalName xmlns="urn:liberty:id-sis-pp:2003-08">Damien</InformalName>') + + def test03(self): + '''Test a data service modify query''' + wsc_service = self.get_pp_service() + + xpath = '/pp:PP/pp:InformalName' + old_data = ''' + <PP xmlns="urn:liberty:id-sis-pp:2003-08"> + <InformalName>Damien</InformalName> + </PP>''' + new_data = '<InformalName>Alain</InformalName>' + + new_full_data = '''<PP xmlns="urn:liberty:id-sis-pp:2003-08"> + <pp:InformalName xmlns:pp="urn:liberty:id-sis-pp:2003-08">Alain</pp:InformalName> + </PP>''' + + wsc_service.initModify(xpath, new_data) + wsc_service.buildRequestMsg() + + self.wsp = self.get_wsp_server() + wsp_service = lasso.DataService(self.wsp) + wsp_service.processModifyMsg(wsc_service.msgBody) + wsp_service.resourceData = old_data + wsp_service.buildModifyResponseMsg() + # Save the new wsp_service.resourceData here + + self.failUnless(wsp_service.resourceData == new_full_data) + + wsc_service.processModifyResponseMsg(wsp_service.msgBody) + + idWsf1Suite = unittest.makeSuite(IdWsf1TestCase, 'test') allTests = unittest.TestSuite((idWsf1Suite)) |
