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( self.wsc, self.idp) # Init discovery query wsc_disco = lasso.Discovery(self.wsc) wsc_disco.setSessionFromDump(sp_session_dump) wsc_disco.initQuery() wsc_disco.addRequestedServiceType(lasso.PP10_HREF) wsc_disco.buildRequestMsg() # Process query idp_disco = lasso.Discovery(self.idp) idp_disco.processRequestMsg(wsc_disco.msgBody) idp_disco.setIdentityFromDump(idp_identity_dump) idp_disco.getIdentity().addResourceOffering( self.get_resource_offering()) idp_disco.buildResponseMsg() # Process response wsc_disco.processQueryResponseMsg(idp_disco.msgBody) return wsc_disco.getService()
def test01(self): '''Test a discovery modify''' self.wsp = self.get_wsp_server() self.idp = self.get_idp_server() self.idp = self.add_services(self.idp) # Login from WSP sp_identity_dump, sp_session_dump, idp_identity_dump, idp_session_dump = self.login( self.wsp, self.idp) # Init discovery modify wsp_disco = lasso.Discovery(self.wsp) wsp_disco.setIdentityFromDump(sp_identity_dump) wsp_disco.setSessionFromDump(sp_session_dump) resource_offering = self.get_resource_offering() wsp_disco.initModify() wsp_disco.addInsertEntry(resource_offering.serviceInstance, resource_offering.resourceId) wsp_disco.buildRequestMsg() # Process Modify request_type = lasso.getRequestTypeFromSoapMsg(wsp_disco.msgBody) self.failUnless(request_type == lasso.REQUEST_TYPE_DISCO_MODIFY) idp_disco = lasso.Discovery(self.idp) idp_disco.processRequestMsg(wsp_disco.msgBody) idp_disco.setIdentityFromDump(idp_identity_dump) idp_disco.buildResponseMsg() offerings = idp_disco.identity.getOfferings() self.failUnless('<disco:Status code="OK"/>' in idp_disco.msgBody) self.failUnless('<disco:ModifyResponse newEntryIDs="%s"' % offerings[0].entryId in idp_disco.msgBody) self.failUnless( '<disco:ServiceType>urn:liberty:id-sis-pp:2003-08</disco:ServiceType>' in idp_disco.identity.dump()) # Process Response wsp_disco.processModifyResponseMsg(idp_disco.msgBody) self.failUnless(wsp_disco.response.newEntryIds == '0')
def test01(self): '''Test a discovery remove''' self.wsp = self.get_wsp_server() self.idp = self.get_idp_server() self.idp = self.add_services(self.idp) # Login from WSP sp_identity_dump, sp_session_dump, idp_identity_dump, idp_session_dump = self.login( self.wsp, self.idp) # Init discovery modify wsp_disco = lasso.Discovery(self.wsp) wsp_disco.setIdentityFromDump(sp_identity_dump) wsp_disco.setSessionFromDump(sp_session_dump) wsp_disco.initModify() wsp_disco.addRemoveEntry('0') wsp_disco.buildRequestMsg() # Process Modify request_type = lasso.getRequestTypeFromSoapMsg(wsp_disco.msgBody) self.failUnless(request_type == lasso.REQUEST_TYPE_DISCO_MODIFY) idp_disco = lasso.Discovery(self.idp) idp_disco.processRequestMsg(wsp_disco.msgBody) idp_disco.setIdentityFromDump(idp_identity_dump) offering = self.get_resource_offering() idp_disco.getIdentity().addResourceOffering(offering) self.failUnless( '<disco:ServiceType>urn:liberty:id-sis-pp:2003-08</disco:ServiceType>' in idp_disco.identity.dump()) idp_disco.buildResponseMsg() self.failUnless('<disco:Status code="OK"/>' in idp_disco.msgBody) self.failIf( '<disco:ServiceType>urn:liberty:id-sis-pp:2003-08</disco:ServiceType>' in idp_disco.identity.dump()) # Process Response wsp_disco.processModifyResponseMsg(idp_disco.msgBody)