def update(self, task, isfinish, tret): self.uhandler(task, isfinish, tret) try: if task['rargs'] and task['rargs'].__contains__("callback"): from server.cclient import curl curl(task['rargs']['callback'] + "&status=" + task['status'], connTimeout=2) except Exception as ex: slog.info("%s callback: %s" % (task['key'], ex))
def sendHttpRequest(self, command="POST", url="", header="", body="", bodyArgs="{0},{1}", reqsetting="isRespHeader:true;sslVersion:-1"): command = command.upper() if bodyArgs != "": url = self.__replaceArgStr(url, bodyArgs) body = self.__replaceArgStr(body, bodyArgs) h = self._toHeaders(header) reqsetting = self._toHeaders(reqsetting) if command.__contains__("https") or command.__contains__( "FORM") or command.__contains__("CURL"): command = command.replace("CURL", '') resp = self.__curlHttpRequest( url, body, command, h, tryGet(reqsetting, 'isRespHeader', 'false') == 'true', tryGet(reqsetting, 'sslVersion', '-1')) else: resp = curl(url, body, command=command, logHandler=plog.info, **h) try: return toJsonObj(resp) except: return resp
def testExample(self): self.tlog.step("curl request") resp = curl(url="http://www.qq.com", body=None, method="GET") self.tlog.info(resp) self.tlog.step("step to do ...") self.tassert.areEqual(1, 2, "check")
def __checkCurl(self, cArgs): url, body = cArgs.url, cArgs.body from server.cclient import curl stsHandler = lambda thid, degree: curl(url.replace("{thid}", str(thid)).replace("{degree}", str(degree)), body.replace("{thid}", str(thid)).replace("{degree}", str(degree)) if (body and body != "") else None) if self.mode == "debug": print(stsHandler(0, 0)) self.addScenario(stsHandler, cArgs.startThreads, cArgs.maxThreads, cArgs.step, cArgs.expTps)
def _doreport(self, t, s): if self.repUrl: from server.cclient import curl from libs.parser import toJsonStr if len(s) > 0: curl(self.repUrl, toJsonStr({ "t": t, "s": s, 'perf': self.isperf, 'env': self.env, 'span': self.tspan }), connTimeout=.2) elif self.repHandle: self.repHandle(t, s) else: print t, s
def sendHttpRequest(self, url, command="POST", body="", bodyArgs="", hostPort=""): if bodyArgs != "": body = self.__replaceArgStr(body, bodyArgs) h = {} if hostPort != "": hosts, path = self.__splitUrl(url) h['Host'] = hosts.split(":")[0] url = hostPort + path resp = curl(url, body, command=command, logHandler=plog.info, **h) try: return toJsonObj(resp) except: return resp
def httprequest( self, command="POST", url="", header="", body="", bodyArgs="{0},{1}", reqsetting="isRespHeader:true;sslVersion:-1;connTimeout:60", isjsonresp=True): command = command.upper() if bodyArgs != "": url = self.__replaceArgStr(url, bodyArgs) body = self.__replaceArgStr(body, bodyArgs) h = self.__toHeaders(header) reqsetting = self.__toHeaders(reqsetting) if url.startswith("https") or command.__contains__( "FORM") or command.__contains__("CURL"): if not command.__contains__("CURL"): resp = httpscurl( url, body, command, h, tryGet(reqsetting, 'isRespHeader', 'false') == 'true') else: command = command.replace("CURL", '') resp = self.__curlHttpRequest( url, body, command, h, tryGet(reqsetting, 'isRespHeader', 'false') == 'true', tryGet(reqsetting, 'sslVersion', '-1')) else: resp = curl(url, body, command=command, logHandler=plog.info, connTimeout=int(tryGet(reqsetting, 'connTimeout', '60')), **h) if isjsonresp: try: return toJsonObj(resp) except: pass return resp
def sendEmail(self, emailProxy, smtpAddr, smtpLogin, sender, receiver): if emailProxy == "" or smtpAddr == "" or receiver == "": return try: receiver = receiver.split(";") mimeMail = self.__makeEmail(sender, receiver, self.subject, self.htmlContent) if emailProxy.strip() != "": from server.cclient import curl from libs.parser import toJsonStr slog.info("Sending report: %s -> %s" % (emailProxy, receiver)) slog.info( curl( "%s/cservice/TestPlanApi/sendMtestEmail" % emailProxy, toJsonStr({ "mimeMail": mimeMail.as_string(), "mailto": ";".join(receiver), "mailcc": "", "verify": "mtest" }))) return smtpAccount, smtpPasswd = base64.decodestring(smtpLogin).split("/") slog.info("Sending report mail(SMTP %s):\n\t%s -> %s" % (smtpAddr, smtpAccount, receiver)) smtp = smtpAddr.split(':') smtpServer = smtp[0] smtpPort = int(ObjOperation.tryGetVal(smtp, 1, 25)) from smtplib import SMTP smtpClient = SMTP(smtpServer, smtpPort) try: smtpClient.ehlo() smtpClient.login(smtpAccount, smtpPasswd) except: pass smtpClient.sendmail(sender, receiver, mimeMail.as_string()) smtpClient.quit() except Exception as ex: slog.info(self.htmlContent) slog.info("Fail to send mail for: %s" % ex)
from server.cclient import curl from libs.syslog import slog from threading import Thread import time sleepcurl = lambda t : slog.info(curl("http://127.0.0.1:8081/cservice/ServerApi/sleepSeconds?t=%s" % t)) for i in xrange(10240): print(i) time.sleep(0.01) Thread(target=sleepcurl, args=(3600,)).start() sleepcurl(0)
def SampleTest(thid, degree): curl("http://127.0.0.1:8081/cservice/ServerApi/sleepSeconds?t=3600")
def getFile(self): curl("localhost:8089/file")
def getCservice(self): curl("localhost:8089/cservice")
def readFile(self, hostport, path, limit=10240): return curl("%s/file/%s?limit=%s" % (hostport, path, limit))
def statFolder(self, hostport, path): return toJsonObj(curl("%s/file/%s?type=stat" % (hostport, path)))
from server.cclient import curl from libs.syslog import slog from threading import Thread import time sleepcurl = lambda t: slog.info( curl("http://127.0.0.1:8081/cservice/ServerApi/sleepSeconds?t=%s" % t)) for i in xrange(10240): print(i) time.sleep(0.01) Thread(target=sleepcurl, args=(3600, )).start() sleepcurl(0)