class WmpTest(unittest.TestCase): """ SetUp methods: """ def setUp(self): self.wmpconfig = WMPConfig(url) self.wmpconfig.setNs(ns) flag = True self.wmpconfig.setAuth(flag) self.wmproxy = Wmproxy(self.wmpconfig) def tearDown(self): self.wmproxy = "" """ SANDBOX / OUTPUT """ def testgetSandboxDestURI(self): jobURI = self.wmproxy.getSandboxDestURI(jobid.getJobId(),protocol) dagURI = self.wmproxy.getSandboxDestURI(dagad.getJobId(),protocol) title("testgetSandboxDestURI: ", jobURI,dagURI) assert jobURI, "Wrong DEST URI!! (jobid)" assert dagURI, "Wrong DEST URI!! (dagad)" def testgetSandboxBulkDestURI(self): protocol="" jobURI=self.wmproxy.getSandboxBulkDestURI(jobid.getJobId(),protocol) #dagURI=self.wmproxy.getSandboxBulkDestURI(dagad.getJobId(),protocol) dagURI="" title("testgetSandboxBulkDestURI: ", jobURI,dagURI) if jobURI: for jid in jobURI.keys(): uris = jobURI[jid] for uri in uris: print "URI RECEIVED: " , uri assert jobURI, "Wrong DEST URI!! (jobid)" # assert dagURI, "Wrong DEST URI!! (dagad)" if jobURI: for jid in jobURI.keys(): uris = jobURI[jid] "URIS DAG", uris def testgetTransferProtocols(self): protocols = self.wmproxy.getTransferProtocols() title ("transferProtocols are:", protocols) def testgetOutputFileList(self): for protocol in ["https"]: jobFL = self.wmproxy.getOutputFileList(jobid.getJobId(),protocol) title("getOutputFiles with '"+protocol +"' are (both of them might be empty):",jobFL) #jobFL = self.wmproxy.getOutputFileList(jobid.getJobId()) #title("getOutputFiles WITHOUT protocol are (both of them might be empty):", jobFL) """ SUBMISSION """ def testcollectionSubmit(self): dagadInstance=self.wmproxy.jobSubmit(jdl.getJdl(collectionjdl), delegationId) assert dagadInstance, "Empty DAGAD!!!" dagad.setJobId(dagadInstance.getJobId()) def testcollectionSubmitOne(self): dagadInstance=self.wmproxy.jobSubmit(jdl.getJdl(collectionjdlUNO), delegationId) assert dagadInstance, "Empty DAGAD!!!" dagad.setJobId(dagadInstance.getJobId()) def testdagSubmit(self): dagadInstance=self.wmproxy.jobSubmit(jdl.getJdl(dagjdl2), delegationId) assert dagadInstance, "Empty DAGAD!!!" dagad.setJobId(dagadInstance.getJobId()) def testjobSubmit(self): jobidInstance =self.wmproxy.jobSubmit(jdl.getJdl(jobjdl), delegationId) assert jobidInstance , "Empty JobId!!" jobid.setJobId(jobidInstance.getJobId()) def testjobStart(self): jobidInstance =self.wmproxy.jobStart(jobid.getJobId()) assert jobidInstance , "Empty JobId!!" jobid.setJobId(jobidInstance.getJobId()) def testjobListMatch(self): matchingCEs=self.wmproxy.jobListMatch(jdl.getJdl(jobjdl), delegationId) assert matchingCEs , "Empty JobId!!" def testJobRegisterJSDL(self): for jd in [jdl.getJdl(jobjdl)]: jobidInstance = self.wmproxy.jobRegister(jd,delegationId) jobid.setJobId(jobidInstance.getJobId()) title("testJobRegister: Registered", jobid.getJobId()) def testJobRegister(self): for jd in [jdl.getJdl(jobjdl)]: jobidInstance = self.wmproxy.jobRegister(jd,delegationId) jobid.setJobId(jobidInstance.getJobId()) title("testJobRegister: Registered", jobid.getJobId()) def testcycleJob(self): for jd in [jdl.getJdl(jobjdl)]: title("Cycle Job: Registering..") jobidInstance = self.wmproxy.jobRegister(jd,delegationId) jobid.setJobId(jobidInstance.getJobId()) title("Cycle Job: jobid is:" , jobid.getJobId()) title("Cycle Job: getSandboxDestURI...",self.wmproxy.getSandboxDestURI(jobid.getJobId())) title("Cycle Job: getSandboxBulkDestURI...", self.wmproxy.getSandboxBulkDestURI(jobid.getJobId())) title("Cycle Job: getFreeQuota...", self.wmproxy.getFreeQuota()) title("Cycle Job: Starting the job....",self.wmproxy.jobStart(jobid.getJobId())) title("Cycle Job: FINISH!") def testcycleDag(self): for jdl in [jdl.getJdl(dagjdl)]: title("Cycle Job: Registering..") dagid= self.wmproxy.jobRegister(jdl,delegationId) dagid=dagid.getJobId() title("Cycle Job: jobid is:" , dagid) title("Cycle Job: getSandboxDestURI...") title(self.wmproxy.getSandboxDestURI(dagid)) title("Cycle Job: getSandboxBulkDestURI...") title(self.wmproxy.getSandboxBulkDestURI(dagid)) title("Cycle Job: getFreeQuota...") title(self.wmproxy.getFreeQuota()) title("Cycle Job: Starting the job....") self.wmproxy.jobStart(dagid) title("Cycle Job: FINISH!") """ TEMPLATES """ def testgetStringParametricJobTemplate(self): attributes = ["Executable" , "Arguments"] param = ["un","dos","tres"] assert self.wmproxy.getStringParametricJobTemplate(attributes, param, requirements, rank), "Empty Template!!" def testgetIntParametricJobTemplate(self): attributes = ["Executable" , "Arguments"] param = 4 parameterStart=1 parameterStep=1 assert self.wmproxy.getIntParametricJobTemplate(attributes, param, parameterStart, parameterStep, requirements, rank), "Empty Template!!" def testgetCollectionTemplate(self): jobNumber=5 assert self.wmproxy.getCollectionTemplate(jobNumber, requirements, rank), "Empty Template!!" def testgetJobTemplate(self): jobType =[] executable ="/bin/ls" arguments = "/tmp/*" title(self.wmproxy.getJobTemplate(jobType, executable, arguments, requirements, rank)) assert self.wmproxy.getJobTemplate(jobType, executable, arguments, requirements, rank), "Empty Template!!" def testgetDAGTemplate(self): dependencies={} assert self.wmproxy.getDAGTemplate(dependencies,requirements, rank), "Empty Template!!" """ Perusal """ def testgetPerusalFiles(self): file="std.err" allChunks = True assert self.wmproxy.getPerusalFiles(jobid.getJobId(), file, allChunks), "No Perusal file retrieved (perhaps not yet generated)" def testenableFilePerusal(self): fileList=["std.out", "std.err"] self.wmproxy.enableFilePerusal(jobid.getJobId(), fileList) def testJobProxyInfo(self): pi=self.wmproxy.getJobProxyInfo(jobid.getJobId()) return pi def testGetJDL(self): for jdlType in [0,1]: pi=self.wmproxy.getJDL(jobid.getJobId(),jdlType) title("getJDL:", pi) return pi """ Proxy """ def testgetProxyReq(self): gpr = self.wmproxy.getProxyReq(delegationId) title("getProxyReq (wmp namespace)", gpr) assert gpr gpr = self.wmproxy.getProxyReq(delegationId, self.wmpconfig.getGrstNs()) title("getProxyReq (grst namespace)", gpr) assert gpr def testSignProxyCert(self): import time import os result = "" cert = "" proxycert = self.wmproxy.getProxyReq(delegationId) print proxycert assert proxycert os.environ["PROXY_REQ"]=proxycert print "Executing signProxyReq...." #result = self.wmproxy.signProxyReqStr(proxycert) result = self.wmproxy.signProxyReqEnv("PROXY_REQ") print result print "Executing putProxy...." self.wmproxy.putProxy(delegationId,result ) print "Executing job submission...." self.wmproxy.jobSubmit(jdl.DEFAULT_JDL, delegationId) def testputProxy(self): assert self.wmproxy.putProxy(delegationId,jobid.getJobId()) """ GridSite """ def testgetProxyReqGrst(self): prg= self.wmproxy.getProxyReq(delegationId,self.wmproxy.getGrstNs()) assert prg title ("testgetProxyReqGrst output:",prg) return prg def testputProxyGrst(self): proxy= self.wmproxy.getProxyReq(delegationId,self.wmproxy.getGrstNs()) #title ("testputProxyGrst input:",delegationId,proxy) self.wmproxy.putProxy(delegationId, proxy ,self.wmproxy.getGrstNs()) def testDelegatedProxyInfo(self): pi= self.wmproxy.getDelegatedProxyInfo(delegationId) assert pi title ("testDelegatedProxyInfo output:",pi) return pi def testgetTerminationTimeGrst(self): re=self.wmproxy.getTerminationTime(delegationId,self.wmproxy.getGrstNs()) assert re title ("testgetTerminationTimeGrst output:",re) def testrenewProxyReqGrst(self): re=self.wmproxy.renewProxyReq(delegationId,self.wmproxy.getGrstNs()) assert re title ("testrenewProxyReqGrst output:",re) def testDestroyGrst(self): self.wmproxy.destroy(delegationId,self.wmproxy.getGrstNs()) def testgetNewProxyReqGrst(self): re = self.wmproxy.getNewProxyReq(self.wmproxy.getGrstNs()) assert re title ("testgetNewProxyReqGrst output:",re) """ Other """ def testaddACLItems(self): items=["un", "due", "tre", "prova"] return self.wmproxy.addACLItems(jobid.getJobId(), items)