def runcommand(case,sso_cookie): start_=datetime.utcnow() resp = None if case.method == 'get': if case.args =={}: resp = restclient.get(case.url, sso_cookie, case.bodyArgs, case.headers) else: resp = restclient.get(case.url, sso_cookie, case.args, case.headers) elif case.method == 'post': resp = postcase(case, sso_cookie) elif case.method == 'put': resp = putcase(case, sso_cookie) elif case.method == 'delete': resp = deletecase(case, sso_cookie) else: raise Exception('不支持的方法 %s。只支持get, post, put' % case.method) #强制保留2位 end_=datetime.utcnow() c=(end_-start_) #microseconds 微秒 :1000微秒=1毫秒 runtime=int(c.microseconds/1000) # interface_runtime=(float('%.2lf'%((time.time()-interfaces_runstarttime)*1000))) return resp,runtime
def testGetByUpdateTime(self): print "HTTP GET: getting elements by update time" minUpdateTime = 0 maxUpdateTime = int(datetime.datetime.utcnow().strftime('%s'))*1000 params = '?minUpdateTime=' + str(minUpdateTime) + "&maxUpdateTime=" + str(maxUpdateTime) response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get element by name: " + name
def testGetForFakeClusterId(self): print "HTTP GET - test for clusterId DUMMY: " params = '?clusterId=DUMMY&limit=3' try: response = restclient.get(serviceUrl=serviceUrl, params=params) print response.read() assert False, "received unexpected successful response" except urllib2.HTTPError, e: print e.read() assert e.code == 404, "received unexpected unsuccessful response"
def testGetForFakeUser(self): print "HTTP GET - test for user DUMMY: " params = '?userName=does_not_exist' try: response = restclient.get(serviceUrl=serviceUrl, params=params) print response.read() assert False, "received unexpected successful response" except urllib2.HTTPError, e: print e.read() assert e.code == 404, "received unexpected unsuccessful response"
def testGetBadStatus(self): print "HTTP GET: bad status" params = '?status=FOO' try: response = restclient.get(serviceUrl=serviceUrl, params=params) print response.read() assert False, "received unexpected successful response" except urllib2.HTTPError, e: print e.read() assert e.code == 400, "received unexpected unsuccessful response"
def testNoSuchClusterByConfig(self): print "HTTP GET: no such cluster" params = '?name='+name+'&unitTest=false' try: response = restclient.get(serviceUrl=serviceUrl, params=params) print response.read() assert False, "received unexpected successful response" except urllib2.HTTPError, e: print e.read() assert e.code == 404, "received unexpected unsuccessful response"
def testGetForFakeStatus(self): print "HTTP GET - test for status DUMMY: " params = "?status=DUMMY&limit=3" try: response = restclient.get(serviceUrl=serviceUrl, params=params) print response.read() assert False, "received unexpected successful response" except urllib2.HTTPError, e: print e.read() assert e.code == 400, "received unexpected unsuccessful response"
def testNoSuchClusterByUpdateTime(self): print "HTTP GET: no such cluster" params = '?maxUpdateTime=0' try: response = restclient.get(serviceUrl=serviceUrl, params=params) print response.read() assert False, "received unexpected successful response" except urllib2.HTTPError, e: print e.read() assert e.code == 404, "received unexpected unsuccessful response"
def testGetErr(self): print "HTTP GET: wrong params - no such id exists" params = '?id=does_not_exist' try: response = restclient.get(serviceUrl=serviceUrl, params=params) print response.read() assert False, "received unexpected successful response" except urllib2.HTTPError, e: print e.read() assert e.code == 404, "received unexpected unsuccessful response"
def testNoSuchPage(self): print "HTTP GET: no such page" params = '?page=1000' try: response = restclient.get(serviceUrl=serviceUrl, params=params) print response.read() assert False, "received unexpected successful response" except urllib2.HTTPError, e: print e.read() assert e.code == 404, "received unexpected unsuccessful response"
def runlogout(file, case, sso_cookie): try: resp = restclient.get(case.url, sso_cookie, case.args) logger.debug(resp) checkStatusExpect(case, resp) logger.info('退出成功。') return True except Exception as msg: logger.error('case[%s] failed while logout with [%s].' % (case.id, msg)) return False
def testGetJobByStatus(self): print "HTTP GET - for status FAILED: " params = '?status=FAILED&limit=3' response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get elements by type"
def testGetByJobID(self): print "HTTP GET - running GET for jobID like %: " params = "?jobID=%&limit=3" response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get elements by jobID"
def testHadoopRequest(self): print "HTTP GET: test=false with jobType=hadoop" params = '?jobType=hadoop&test=false' response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get element by configuration"
def testGetByLimitAndPage(self): print "HTTP GET: getting elements by page and limit" params = '?limit=1&page=0' response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get element by configuration"
def testGetByJobTypeAndConfig(self): print "HTTP GET: getting cluster with unitTest=true and jobType=hive" params = '?jobType=hive&unitTest=true' response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get element by configuration"
def testGetById(self): print "HTTP GET: getting elements by id" params = '?id=' + id response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get element by id: " + id
def testGetByScheduleAndConfig(self): print "HTTP GET: getting elements by schedule and configuration" params = '?adHoc=false&unitTest=true' response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get element by configuration"
def testGetByName(self): print "HTTP GET: getting elements by name" params = '?name=' + name response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get element by name: " + name
def testGetByType(self): print "HTTP GET: getting elements by type" params = '?type=' + type response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get element by type: " + type
def testGetAll(self): print "HTTP GET: getting all elements" response = restclient.get(serviceUrl=serviceUrl) print response.code assert response.code == 200, "can't get all elements"
def testGetPage(self): print "HTTP GET - running GET for page 0: " params = '?page=0' response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get elements by page"
def testGetByUser(self): print "HTTP GET - running GET for user" params = '?userName='******'&limit=3' response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get elements by user"
def testGetJobByClusterId(self): print "HTTP GET - for clusterId MY_CLUSTER_ID: " params = '?clusterId=MY_CLUSTER_ID&limit=3' response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get elements by type"
def getJobStatus(serviceUrl, jobID): params = '/' + jobID + '/status' response = restclient.get(serviceUrl=serviceUrl, params=params) json_obj = json.loads(response.read()) status = json_obj[u'status'] return status
def testGetByScheduleAndStatus(self): print "HTTP GET: getting elements by schedule and status" params = '?bonus=false&status=UP' response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get element by schedule and status"
def testGetByStatus(self): print "HTTP GET: getting elements by multiple status" params = '?status=&status=UP&status=OUT_OF_SERVICE' response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get element by multiple status"
def testGetByJobName(self): print "HTTP GET - running GET for jobName like HIVE%: " params = '?jobName=HIVE%&limit=3' response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get elements by jobName"
def testGetByConfiguration(self): print "HTTP GET: getting elements by configuration" params = '?unitTest=true' response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get element by configuration"
def testGetByJobType(self): print "HTTP GET - running GET for jobType hive: " params = '?jobType=hive&limit=3' response = restclient.get(serviceUrl=serviceUrl, params=params) print response.code assert response.code == 200, "can't get elements by type"