def list_all_policy(**policy_parameter): #/v3/policies{?type,page,per_page} 1125 method_name = 'listAllPolicy' request_parameter = [] if policy_parameter is not None and len(policy_parameter) > 0 and isinstance(policy_parameter, dict): item = 0 for (key, value) in policy_parameter.items(): if item == 0: request_parameter.append('?'+key) else: request_parameter.append('&'+key) item += 1 request_parameter.append('='+str(value)) if len(request_parameter) > 0: logger.debug(method_name+'parameter:' + ''.join(request_parameter)) req = Util.createRequest(KEY_STORE_URL+'/v3/policies%s' % ''.join(request_parameter), 'GET') else: req = Util.createRequest(KEY_STORE_URL+'/v3/policies', 'GET') try: response = urllib2.urlopen(req, timeout=TIME_OUT) obj = response.read() if obj and len(obj): content = json.loads(obj) code = response.code logger.debug(method_name+" code:" + str(code)+" content:" + str(content)) return code, content logger.error(method_name+' Error code: '+response.code) except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) if 404 == e.code: raise APIError('Reason: not found the endPoint')
def update_tenant(**tenant):#1200 {'tenant_id':tenant_id,'teant':teant} method_name = 'update_tenant' parameter = ('tenant_id', 'teant') if Util.validate_parameter(*parameter, **tenant): # teant = { # "tenant": { # "id": tenant.get('tenant_id'), # "name": "ACMExxx corp", # "description": "A description ...", # "enabled": True # } # } teant = tenant.get('teant') params = json.dumps(teant) req = Util.createRequest(KEY_STORE_URL+"v2.0/tenants/%s" % tenant.get('tenant_id'), 'POST') try: response = urllib2.urlopen(req, params, timeout=TIME_OUT) obj = response.read() if obj and len(obj): content = json.loads(obj) code = response.code logger.debug(method_name+" code:" + str(code)+" content:" + str(content)) return content logger.error(method_name+' Error code: '+response.code) except HTTPError, e: logger.error(method_name+' Error code: '+str(e.message)) if 409 == e.code: raise APIError(method_name+' Duplicated,please update the Tenant to create again') except URLError, e: logger.error(method_name+' URLError: '+str(e.reason)) raise APIError(method_name+' URLError: ', e.reason)
def update_image(user,**image):#Attribute disk_format can be only replaced for a queued image method_name = 'update_image' parameter = ['image_id', 'image_content'] if Util.validate_parameter(*parameter, **image): image_id = image.get('image_id') req = Util.createRequest(GLANCE_URL+'v2/images/%s' % image_id, 'PATCH', user, 'patch') try: image_content = image.get('image_content') response = urllib2.urlopen(req, json.dumps(image_content), timeout=TIME_OUT) obj = response.read() if obj and len(obj): content = json.loads(obj) code = response.code if code == 200 or code == 204: try: update_cache(user,image_id,'update',image_content) except Exception, e: print e.code delete_cache(image_id, user) logger.debug(method_name+" code:" + str(code)+" content:" + str(content)) return code, content logger.error(method_name+' Error code: '+response.code) except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) if 404 == e.code: raise APIError(method_name+' failed.Reason: not found the image')
def create_project(user,**project): #1045 {'project':project} method_name = 'create_project' parameter = ['project'] import pdb pdb.set_trace() if Util.validate_parameter(*parameter, **project): req = Util.createRequest(KEY_STORE_URL+"/v3/projects", 'POST',user) try: response = urllib2.urlopen(req, json.dumps(project), timeout=TIME_OUT) obj = response.read() if obj and len(obj): content = json.loads(obj) project_id = content['project'].get('id') code = response.code logger.debug(method_name+" code:" + str(code)+" content:" + str(content)) user_id=content['project'].get('project_user_id') # if code ==201 and user_id is not None: # role_id="31fd1d2bb7e741218637e230c13df800"#Need to change roleId # add_user_to_project(user,project_id,user_id,role_id) return code,content logger.error(method_name+' Error code: '+response.code) except HTTPError, e: logger.error(method_name+":"+str(e.message)) if 409 == e.code: raise APIError('create project failed', 'Project Duplicated') else: raise APIError('HttpError,please contact the admin') except URLError, e: logger.error(method_name+"URLError:"+e.message) raise APIError('URLError',e.reason)
def create_user(userObject,**user_entity):#{'user',user} method_name = 'create_user' # if Util.validate_parameter(*parameter, **user): print 'user_entityxxxxxx',user_entity req = Util.createRequest(KEY_STORE_URL+"/v3/users", 'POST',userObject) if user_entity.get('user').get('role') is not None: role_id = user_entity.get('user')['role'] del user_entity.get('user')['role'] try: response = urllib2.urlopen(req, json.dumps(user_entity), timeout=TIME_OUT) obj = response.read() if obj and len(obj): content = json.loads(obj) code = response.code logger.debug(method_name+" code:" + str(code)+" content:" + str(content)) if code == 201: user = content.get('user') role_assign = {'project_id':user['default_project_id'],'user_id':user["id"], 'role_id':role_id} code = assign_role_to_user(userObject,**role_assign) return code, content else: logger.error(method_name+' Error code: '+response.code) except HTTPError, e: logger.error(method_name+' Error code: '+str(e.message)) if 409 == e.code: raise APIError('create tenant failed', 'User Duplicated') else: raise APIError('HttpError,please contact the admin')
def put_image_data(image_id, path,user): method_name = 'put_image_data' import requests # user = {"username":'******',"password":'******'} code,x_token = Util._get_token(user) if code == 201: token = x_token['token'] head = { "Content-Type": "application/octet-stream", "X-Auth-Token": token } # requests.head(head) url = GLANCE_URL+"v2/images/%s/file" % image_id if 'http:' in path: f = requests.get(path) try: r = requests.put(url, data=f, headers=head) return r.status_code except Exception as e: print e else: with open(path, 'rb') as f2: try: print 'begin write data',f2 r = requests.put(url, data=f2, headers=head) print 'statusCode',r.status_code return r.status_code except Exception as e: print e
def delete_tenant(**tenant):#1201 Normal response codes: 204 {'tenant_id':tenantId} method_name = 'delete_tenant' parameter = ['tenant_id'] if Util.validate_parameter(*parameter, **tenant): req = Util.createRequest(KEY_STORE_URL+"v2.0/tenants/%s" % tenant.get('tenant_id'), 'DELETE') try: response = urllib2.urlopen(req, json.dumps({}), timeout=TIME_OUT) obj = response.read() if obj and len(obj): code = response.code logger.debug(method_name+" code:" + str(code)) return code logger.error(method_name+' Error code: '+response.code) except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) if 404 == e.code: raise APIError(method_name+' failed.Reason: not found the Tenant') except URLError, e: logger.error(method_name+' URLError: '+str(e.reason)) raise APIError(' URLError: ', e.reason)
def delete_project(user, project_ids):#1046 method_name = 'delete_project' req = Util.createRequest(KEY_STORE_URL+"v3/projects/" + project_ids, 'DELETE', user) try: response = urllib2.urlopen(req, timeout=TIME_OUT) code = response.code logger.debug(method_name+" code:" + str(code)) return code except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) raise APIError('HttpError,please contact the admin')
def share_image(user,**image):#1273 {'image_id':image_id,'members':members} method_name = 'share_image' parameter = ('image_id', 'members') if Util.validate_parameter(*parameter, **image): req = Util.createRequest(GLANCE_URL+"/v2/images/%s/members" % image.get('image_id'), 'POST') try: response = urllib2.urlopen(req, json.dumps(image.get('members')), timeout=TIME_OUT) obj = response.read() if obj and len(obj): content = json.loads(obj) code = response.code logger.debug(method_name+" code:" + str(code)+" content:" + str(content)) return code, content logger.error(method_name+' Error code: '+response.code) except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) raise APIError(method_name+' Error code: '+str(e.code)) except URLError, e: logger.error(method_name+' URLError: '+str(e.code)) raise APIError(method_name+' URLError: '+str(e.reason))
def get_policy_by_id(**policy):#{'policy_id':policy_id} method_name = 'get_policy_by_id' parameter = ('policy_id') if Util.validate_parameter(*parameter, **policy): req = Util.createRequest(KEY_STORE_URL+'v3/policies/%s'+'/topologies/%d/node/%s' % policy.get('policy_id'), 'GET') try: response = urllib2.urlopen(req, json.dumps({}), timeout=TIME_OUT) obj = response.read() if obj and len(obj): content = json.loads(obj) code = response.code logger.debug(method_name+" code:" + str(code)+" content:" + str(content)) return code, content logger.error(method_name+' Error code: '+response.code) except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) if 404 == e.code: raise APIError(' failed.Reason: not found the policy') except URLError, e: logger.error(method_name,' URLError: '+str(e.reason)) raise APIError(' URLError: ', e.reason)
def delete_user(user,user_id):#1201 Normal response codes: 204 {'tenant_id':tenantId} method_name = 'delete_user' req = Util.createRequest(KEY_STORE_URL+"/v3/users/%s" % user_id, 'DELETE',user) try: response = urllib2.urlopen(req, timeout=TIME_OUT) code = response.code logger.debug(method_name+" code:" + str(code)) return code except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) if 404 == e.code: raise APIError(method_name+' failed.Reason: not found the User')
def update_user(**user):#1200 {'tenant_id':tenant_id,'teant':teant} method_name = 'update_user' parameter = ('user_id', 'user') if Util.validate_parameter(*parameter, **user): user = user.get('user') params = json.dumps(teant) req = Util.createRequest(KEY_STORE_URL+"v2.0/users/%s" % user.get('tenant_id'), 'POST') try: response = urllib2.urlopen(req, params, timeout=TIME_OUT) obj = response.read() if obj and len(obj): content = json.loads(obj) code = response.code logger.debug(method_name+" code:" + str(code)+" content:" + str(content)) return content logger.error(method_name+' Error code: '+response.code) except HTTPError, e: logger.error(method_name+' Error code: '+str(e.message)) if 409 == e.code: raise APIError(method_name+' Duplicated,please update the Tenant to create again') except URLError, e: logger.error(method_name+' URLError: '+str(e.reason)) raise APIError(method_name+' URLError: ', e.reason)
def create_tenant(**teant): #1199{'teant':teant} method_name = 'create_tenant' parameter = ('teant') if Util.validate_parameter(*parameter, **teant): req = Util.createRequest(KEY_STORE_URL+"v2.0/tenants/", 'POST') try: response = urllib2.urlopen(req, json.dumps(teant.get('teant')), timeout=TIME_OUT) obj = response.read() if obj and len(obj): content = json.loads(obj) code = response.code logger.debug(method_name+" code:" + str(code)+" content:" + str(content)) return content logger.error(method_name+' Error code: '+response.code) except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) if 409 == e.code: raise APIError('create tenant failed', 'Tenant Duplicated,please update the Tenant to create again') else: raise APIError('HttpError,please contact the admin') except URLError, e: logger.error(method_name+' URLError: ', e.reason) raise APIError('URLError:'+e.reason)
def list_project(user):#1046 method_name = 'list_project' req = Util.createRequest(KEY_STORE_URL+"/v3/projects", 'GET',user) try: response = urllib2.urlopen(req, timeout=TIME_OUT) obj = response.read() if obj and len(obj): content = json.loads(obj) code = response.code logger.debug(method_name+" code:" + str(response.code)+" content:" + str(content)) return code, content except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) raise APIError('HttpError,please contact the admin')
def list_project_quota(user, admin_project_id , project_id):#10460d40d7dffdc84e97856358ec02f3917d method_name = 'list_project_quota' req = Util.createRequest(CINDER_URL+"v2/%s/os-quota-sets/%s" %(admin_project_id,project_id),'GET',user) try: response = urllib2.urlopen(req, timeout=TIME_OUT) obj = response.read() if obj and len(obj): content = json.loads(obj) code = response.code logger.debug(method_name+" code:" + str(response.code)+" content:" + str(content)) return code, content except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) raise APIError('HttpError,please contact the admin')
def delete_image(user,**image):#1265 {'image_id':imageId} method_name = 'delete_image' #You can delete an image in all status except deleted. # You must first set the 'protected' attribute to false (boolean) and then perform the delete. parameter = ['image_id'] if Util.validate_parameter(*parameter, **image): image_id = image.get('image_id') req = Util.createRequest(GLANCE_URL+'v2/images/%s' % image_id, 'DELETE',user) try: response = urllib2.urlopen(req, timeout=TIME_OUT) code = response.code logger.debug(method_name+" code:" + str(code)) # update cache failed, delete the whole cache table data try: update_cache(user,image_id, 'delete') except Exception, e: print e.code delete_cache(image_id, user) return code except HTTPError, e: logging.error(method_name+' Error code: '+str(e.code)) if 404 == e.code: raise APIError('not found the image')
def download_image(image_dict):#1270 {'image_id':image_id, 'file_name':file_name} method_name = 'download_image' parameter = ['image_id', 'file_name'] if Util.validate_parameter(*parameter, **image): req = Util.createRequest(GLANCE_URL+'v2/images/%s/file' % image.get('image_id'), 'GET', 'stream') try: response = urllib2.urlopen(req, timeout=TIME_OUT) with open(image.get('file_name'), 'wb') as f: while True: tmp = response.read(1024) if not tmp: break f.write(tmp) code = response.getcode() logger.debug(method_name+" code:" + str(code)) return code except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) if 404 == e.code: raise APIError(method_name+' failed.Reason: not found the image') except URLError, e: logger.error(method_name+' URLError: '+str(e.code)) raise APIError(method_name+' URLError: '+str(e.reason))
def get_service_list(user):#1201 Normal response codes: 204 {'tenant_id':tenantId} method_name = 'get_service_list' req = Util.createRequest(KEY_STORE_URL+"/v3/services", 'GET', user) try: response = urllib2.urlopen(req, timeout=TIME_OUT) obj = response.read() if obj and len(obj): code = response.code content = json.loads(obj) logger.debug(method_name+" code:" + str(code)) return code,content except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) if 404 == e.code: raise APIError(method_name+' failed.Reason: not found the Endpoint')
def assign_role_to_user(user,**kargs):#{'project_id':project_id,'user_id':user_id, 'role_id':role_id} method_name = 'assign_role_to_user' url = KEY_STORE_URL+"v3/projects/%s/users/%s/roles/%s" % (kargs.get('project_id'), kargs.get('user_id'), kargs.get('role_id')) req = Util.createRequest(url, 'PUT',user) try: response = urllib2.urlopen(req, timeout=TIME_OUT) obj = response.read() if obj is not None: code = response.code logger.debug(method_name+" code:" + str(code)) return code except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) raise APIError('HttpError,please contact the admin')
def update_project_quota(user,admin_project_id,project_id,**quota):#1046 method_name = 'update_project_quota' req = Util.createRequest(NOVA_URL+"v2/%s/os-quota-sets/%s" %(admin_project_id,project_id),'PUT',user) ## cinder /network/nova all need to update the Quota separatelly try: response = urllib2.urlopen(req,json.dumps(quota), timeout=TIME_OUT) obj = response.read() if obj and len(obj): content = json.loads(obj) code = response.code logger.debug(method_name+" code:" + str(response.code)+" content:" + str(content)) return code, content except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) raise APIError('HttpError,please contact the admin')
def get_end_point(user):#Lists endpoints for a tenant 1217 {'tenant_id':tenant_id,'endpoint_id':endpoint_id} method_name = 'get_end_point' req = Util.createRequest(KEY_STORE_URL+"/v3/endpoints", 'GET',user) try: response = urllib2.urlopen(req, timeout=TIME_OUT) obj = response.read() if obj and len(obj): content = json.loads(obj) code = response.code logger.debug(method_name+" code:" + str(code)+" content:" + str(content)) return code,content logger.error(method_name+' Error code: '+response.code) except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) if 404 == e.code: raise APIError('Reason: not found the endPoint')
def add_user_to_project(user,project_id,user_id,role_id): #1045 {'project':project} method_name = 'add_user_to_project' req = Util.createRequest(KEY_STORE_URL+"/v3/projects/%s/users/%s/roles/%s" %(project_id,user_id,role_id), 'PUT',user) try: response = urllib2.urlopen(req, timeout=TIME_OUT) obj = response.read() if obj and len(obj): code = response.code logger.debug(method_name+" code:" + str(code)) return code except HTTPError, e: logger.error(method_name+":"+str(e.message)) if 409 == e.code: raise APIError('create project failed', 'Project Duplicated') else: raise APIError('HttpError,please contact the admin')
def upload_image(user,**image):#1269 {'image':image} method_name = 'upload_image' req = Util.createRequest(GLANCE_URL+'v2/images', 'POST',user) fileName = None image_content = image.get('image') if image_content['fileName'] is not None: fileName = image_content['fileName'] del image_content['fileName'] try: response = urllib2.urlopen(req, json.dumps(image_content), timeout=TIME_OUT) obj = response.read() if obj and len(obj): content = json.loads(obj) code = response.code logger.debug(method_name+" code:" + str(code)+" content:" + str(content)) image_id = content['id'] response_code = put_image_data(image_id,fileName,user) #add image to cache if response_code == 204: try: # image_content ={"protected": False, "name": "portal002", "container_format": "bare", "disk_format": "qcow2", "uri": "1", "visibility": "public", "description": "desc", # "fileName":"E:\portal_training\cirros-0.3.4-x86_64-disk.img"} image_obj = {} image_obj['name'] = image_content.get('name') image_obj['description'] = image_content.get('description') image_obj['container_format'] = image_content.get('container_format') image_obj['protected'] = image_content.get('protected') image_obj['disk_format'] = image_content.get('disk_format') image_obj['visibility'] = image_content.get('visibility') image_obj['owner'] = user.get('projectid') image_obj['size'] = os.path.getsize(fileName) now_time_eightHoursAgo = (datetime.datetime.now() - datetime.timedelta(hours = 8)) now_time = now_time_eightHoursAgo.strftime('%Y-%m-%d %H:%M:%S') image_obj['created_at'] = str(now_time) image_obj['id'] = image_id update_cache(user,image_id, 'add',image_obj) except Exception, e: print e.code delete_cache(image_id, user) else: delete_cache(image_id, user) return response_code, content else:
def list_role(user,filter=None): method_name = 'list_role' url = KEY_STORE_URL+"/v3/roles" if filter is not None: url = KEY_STORE_URL+"/v3/roles?"+str(filter) req = Util.createRequest(url, 'GET',user) try: response = urllib2.urlopen(req, timeout=TIME_OUT) obj = response.read() if obj is not None and len(obj): content = json.loads(obj) code = response.code logger.debug(method_name+" code:" + str(code)+" content:" + str(content)) return code,content logger.error(method_name+' Error code: '+response.code) except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) raise APIError('HttpError,please contact the admin')
def show_image_detail_by_id(user,image_id): method_name = 'show_image_detail_by_id' req = Util.createRequest(GLANCE_URL+'v2/images/%s' % image_id, 'GET',user) code = 500 try: response = urllib2.urlopen(req, timeout=TIME_OUT) obj = response.read() if obj and len(obj): content = json.loads(obj) code = response.code # logger.debug(method_name+" code:" + str(code)+" content:" + str(content)) return code, content else: logger.error(method_name+' Error code: '+response.code) return code, {"error":"error"} except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) if 404 == e.code: logger.error(method_name+'show image failed.Reason: not found the image') return e.code, {"error":"error"}
def list_image(user,parameter='/v2/images'):#1258 opcache = [] opcache = Opcache.objects.filter(user=user.get('username')).filter(params=parameter).filter(category='list_image') if opcache is not None and len(opcache) >0: obj = opcache[0].content if obj and len(obj): content = json.loads(obj) for image in content['images']: image_type = image.get('image_type') if image_type is None or image_type!='snapshot': del image_type image['image_type']='image' # logger.debug(method_name+" code:" + str(code)+" content:" + str(content)) return 200, content method_name = 'list_image' req = Util.createRequest(GLANCE_URL+parameter, 'GET',user) try: response = urllib2.urlopen(req, timeout=TIME_OUT) obj = response.read() o = Opcache() o.user = user.get('username') o.category = 'list_image' o.params = parameter o.content = obj o.save() if obj and len(obj): content = json.loads(obj) code = response.code for image in content['images']: image_type = image.get('image_type') if image_type is None or image_type!='snapshot': del image_type image['image_type']='image' # logger.debug(method_name+" code:" + str(code)+" content:" + str(content)) return code, content except HTTPError, e: logger.error(method_name+' Error code: '+str(e.code)) if 404 == e.code: raise APIError(method_name+' failed.Reason: not found the image')
def activation_code(self, code): data = {"code": code} url = self.host + 'activation_code' LOG.info("请求url:%s" % url) req = requests.post(url=url, json=data, headers=Util().get_token()) return req.json()
def _task_get_brand_callback(self, results, code): return Util.to_simple_dict_list(results)
def natification(self, pn_id): data = {"pn_id": pn_id} url = self.host + 'owner/notification' LOG.info("请求url:%s" % url) req = requests.post(url=url, json=data, headers=Util().get_token()) return req.json()
from PyQt5 import QtWidgets, uic from common.util import Util import socket import threading Ui_MainWindow, QtBaseClass = uic.loadUiType(Util.find_file("chatUI.ui")) def pack_message(message): return message + '\n' class NewChatController(QtWidgets.QMainWindow, Ui_MainWindow): def __init__(self): QtWidgets.QMainWindow.__init__(self) Ui_MainWindow.__init__(self) self.setupUi(self) self.user = '' self.data = '' self.HEADER = 64 self.PORT = 5555 self.FORMAT = 'utf-8' self.DISCONNECT_MESSAGE = "!DISCONNECT!" self.SERVER = "192.168.0.15" self.ADDRESS = (self.SERVER, self.PORT) self.client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.client_socket.connect(self.ADDRESS) self.pushButtonSend.setEnabled(False)
def __load(self): try: with open(Util.find_file('data.db'), 'r') as file: self.__model.task = json.load(file) except Exception: pass
def subscription(self): data = {} url = self.host + 'user/' + str(Util().get_user_id()) + '/subscription' LOG.info("请求url:%s" % url) req = requests.get(url=url, json=data, headers=Util().get_token()) return req.json()
def sort_by_name(self): Util.print_list(self.__stats_controller.sort_by_name())
def test_get_month_measurements_data(self): result = self.monthmeasurements(Util().get_user_id()) self.assertOkResult(result)
def subscription(self): data = {} url = self.host + 'res/getUrl' LOG.info("请求url:%s" % url) req = requests.post(url=url, json=data, headers=Util().get_token()) return req.json()
def list(self): Util.print_list(self.__movie_controller.list_movies())
def local_natification(self): data = {} url = self.host + 'configuration/local_notification' LOG.info("请求url:%s" % url) req = requests.post(url=url, json=data, headers=Util().get_token()) return req.json()
def list(self): Util.print_list(self.__rent_return_controller.rented_movies())
def holder_rate_status(self, t, search_row): """所有者別状況""" # gov: 政府及び地方公共団体, fin: 金融機関, sec: 金融商品取引業者, cop: その他法人 # frc: 外国法人, frp: 外国個人, otp:個人その他, tot: 計, lwu: 単元未満株式 col_flg = OrderedDict({ 'gov': False, 'fin': False, 'sec': False, 'cop': False, 'frc': False, 'frp': False, 'otp': False, 'tot': False, 'lwu': False }) ret = { 'gov': [], 'fin': [], 'sec': [], 'cop': [], 'frc': [], 'frp': [], 'otp': [], 'tot': [], 'lwu': [] } reach_kabunushi_su = False for r in t['table']: td_cnt = r.count('<td>') if td_cnt > 0: m = re.search('<td>(.*?)</td>' * td_cnt, r) if m: if not reach_kabunushi_su: for i in range(td_cnt): row = self.tag_remove(m.group(i + 1)).replace( ' ', '') if not col_flg['gov'] and '政府及び地方公共団体' in row: col_flg['gov'] = True if not col_flg['fin'] and '金融機関' in row: col_flg['fin'] = True if not col_flg['sec'] and ('金融商品取扱業者' in row or '金融商品取引業者' in row): col_flg['sec'] = True if not col_flg['cop'] and 'その他の法人' in row: col_flg['cop'] = True if not col_flg['frc'] and '個人以外' in row: col_flg['frc'] = True if not col_flg['frp'] and '個人' == row: col_flg['frp'] = True if not col_flg['otp'] and '個人その他' in row: col_flg['otp'] = True if not col_flg['tot'] and '計' in row: col_flg['tot'] = True if not col_flg['lwu'] and '単元未満株式の状況' in row: col_flg['lwu'] = True if '株主数' in row: reach_kabunushi_su = True break if reach_kabunushi_su: kbn = self.tag_remove(m.group(1)) if re.search(r'所有株式数\s*\(', kbn): ret['unit'] = kbn.replace('所有株式数', '') if '株主数' in kbn or '所有株式数' in kbn or kbn in '所有株式数の割合': row_cnt = 2 for k, v in col_flg.items(): if v: if row_cnt < len(m.groups()): val = self.tag_remove( m.group(row_cnt)).replace(',', '') val = self.norm(val) val = '0' if val == '-' or val == '-' or val == '―' else val if Util.is_digit(val): ret[k].append(str(float(val))) else: ret[k].append(str(0)) row_cnt = row_cnt + 1 if 'dec_date' not in t: Log.warn('所有者別日付不正: {}'.format(search_row['company_name'])) return '-' if 'unit' not in ret: Log.warn('株式単位不正: {}'.format(search_row['company_name'])) return '-' ret['date'] = self.convert_date(t['dec_date']) return ret
def get_token(self): data = {} url = self.host + "owner/measurements/" + Util().get_record_id() + "/token" LOG.info("请求url:%s" % url) res = requests.get(url=url, json=data, headers=Util().get_token()) return res.json()
def sort_by_borrow(self): Util.print_list(self.__stats_controller.sort_by_borrow())
class ValidateEmailVerificationCode(ApiTestCase): u'''验证邮箱验证码是否正确''' def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') # reset_serial_number = Util().get_email_reset_password_serial_number() modify_serial_number = Util( ).get_email_modify_secure_email_serial_number_old() verification_code = Util().email_verification_code() def validate_email_verification_code(self, email, verification_code, serial_number, verification_type): data = { "email": email, "verification_code": verification_code, "serial_number": serial_number, "verification_type": verification_type } url = self.host + "user/validate_email_verification_code" LOG.info("请求url:%s" % url) LOG.info("请求参数:%s" % data) req = requests.post(url=url, json=data, headers=Util().get_authorization()) return req.json() def test_validate_email_correct_parameters_reset_password(self): u"""正确参数reset_password""" LOG.info("------验证邮箱验证码是否正确:start!---------") result = self.validate_email_verification_code( data.email, self.verification_code, self.reset_serial_number, 'reset_password') LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------") def test_validate_email_correct_parameters_modify_secure_email(self): u"""正确参数modify_secure_email""" LOG.info("------验证邮箱验证码是否正确:start!---------") result = self.validate_email_verification_code( data.email, self.verification_code, self.modify_serial_number, 'modify_secure_email') LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------") def test_validate_email_is_null(self): u"""email为空""" LOG.info("------验证邮箱验证码是否正确:start!---------") result = self.validate_email_verification_code( '', self.verification_code, self.modify_serial_number, 'modify_secure_email') LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrSecureEmailUsedByOthers) LOG.info("------pass!---------") def test_validate_email_not_exit(self): u"""email不存在""" LOG.info("------验证邮箱验证码是否正确:start!---------") result = self.validate_email_verification_code( data.email_not_exist, self.verification_code, self.modify_serial_number, 'modify_secure_email') LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrSecureEmailUsedByOthers) LOG.info("------pass!---------") def test_validate_email_format(self): u"""email不存在""" LOG.info("------验证邮箱验证码是否正确:start!---------") result = self.validate_email_verification_code( '267026276', self.verification_code, self.modify_serial_number, 'modify_secure_email') LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrSecureEmailUsedByOthers) LOG.info("------pass!---------") def test_validate_email_serial_number_is_null(self): u"""serial_number为空""" LOG.info("------验证邮箱验证码是否正确:start!---------") result = self.validate_email_verification_code(data.email, self.verification_code, '', 'modify_secure_email') LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------") def test_validate_email_verification_type_is_null(self): u"""verification_type为空""" LOG.info("------验证邮箱验证码是否正确:start!---------") result = self.validate_email_verification_code( data.email, self.verification_code, self.modify_serial_number, '') LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------")
def tweet_text_cleaning(self, t): t.text = Util.mask_twitter_name(Util.all_normalize(t.text))
class UserFindUsernameByEmail(ApiTestCase): u'''根据邮箱找回用户名''' def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') serial_number = Util().get_email_find_username_serial_number() verification_code = Util().email_verification_code() def find_username_by_email(self, verification_code, serial_number, email): data = { "verification_code": verification_code, "serial_number": serial_number, "email": email } url = self.host + "user/find_username_by_email" LOG.info("请求url:%s" % url) req = requests.post(url=url, json=data, headers=Util().get_authorization()) LOG.info("请求参数:%s" % data) return req.json() def test_find_username_correct_parameters(self): u"""正确参数""" LOG.info("------根据邮箱找回用户名:start!---------") result = self.find_username_by_email(self.verification_code, self.serial_number, data.email) LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------") def test_find_username_verification_code_is_null(self): u"""verification_code为空""" LOG.info("------根据邮箱找回用户名:start!---------") result = self.find_username_by_email('', self.serial_number, data.email) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrExpiredVcRecord) LOG.info("------pass!---------") def test_find_username_verification_code_is_error(self): u"""verification_code错误""" LOG.info("------根据邮箱找回用户名:start!---------") result = self.find_username_by_email('123456', self.serial_number, data.email) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrExpiredVcRecord) LOG.info("------pass!---------") def test_find_username_serial_number_is_null(self): u"""serial_number为空""" LOG.info("------根据邮箱找回用户名:start!---------") result = self.find_username_by_email(self.verification_code, '', data.email) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrExpiredVcRecord) LOG.info("------pass!---------") def test_find_username_email_is_null(self): u"""email为空""" LOG.info("------根据邮箱找回用户名:start!---------") result = self.find_username_by_email(self.verification_code, self.serial_number, '') LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrExpiredVcRecord) LOG.info("------pass!---------") def test_find_username_email_is_error(self): u"""email错误""" LOG.info("------根据邮箱找回用户名:start!---------") result = self.find_username_by_email(self.verification_code, self.serial_number, '2270262765') LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrExpiredVcRecord) LOG.info("------pass!---------") def test_find_username_email_is_not_eixt(self): u"""email不存在""" LOG.info("------根据邮箱找回用户名:start!---------") result = self.find_username_by_email(self.verification_code, self.serial_number, data.email_not_exist) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrExpiredVcRecord) LOG.info("------pass!---------")
class UserModifySecureEmail(ApiTestCase): u'''修改安全邮箱''' def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') new_serial_number = Util().get_email_modify_secure_email_serial_number() new_verification_code = Util().email_verification_code_new() old_verification_number = Util( ).get_verification_number_email_modify_email() def modify_secure_email(self, new_email, new_verification_code, new_serial_number, old_email, old_verification_number): data = { "new_email": new_email, "new_verification_code": new_verification_code, "new_serial_number": new_serial_number, "old_email": old_email, "old_verification_number": old_verification_number } url = self.host + "user/" + str( Util().get_user_id()) + "/modify_secure_email" LOG.info("请求url:%s" % url) LOG.info("请求url:%s" % data) req = requests.post(url=url, json=data, headers=Util().get_token()) return req.json() def test_modify_secure_email_correct_parameters(self): u"""正确参数""" LOG.info("------修改安全邮箱:start!---------") result = self.modify_secure_email(data.new_email, self.new_verification_code, self.new_serial_number, data.email, self.old_verification_number) LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------") def test_modify_secure_email_new_email_is_null(self): u"""新邮箱为空""" LOG.info("------修改安全邮箱:start!---------") result = self.modify_secure_email('', self.new_verification_code, self.new_serial_number, data.email, self.old_verification_number) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrNotExistNewSecureEmail) LOG.info("------pass!---------") def test_modify_secure_email_new_verification_code_is_null(self): u"""新验证码为空""" LOG.info("------修改安全邮箱:start!---------") result = self.modify_secure_email(data.new_email, '', self.new_serial_number, data.email, self.old_verification_number) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrNotExistNewSecureEmail) LOG.info("------pass!---------") def test_modify_secure_email_new_serial_number_is_null(self): u"""serial_number为空""" LOG.info("------修改安全邮箱:start!---------") result = self.modify_secure_email(data.new_email, self.new_verification_code, '', data.email, self.old_verification_number) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrNotExistNewSecureEmail) LOG.info("------pass!---------") def test_modify_secure_email_old_email_is_null(self): u"""old_email为空""" LOG.info("------修改安全邮箱:start!---------") result = self.modify_secure_email(data.new_email, self.new_verification_code, self.new_serial_number, '', self.old_verification_number) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrSecureEmailNotSet) LOG.info("------pass!---------") def test_modify_secure_email_old_verification_number_is_null(self): u"""old_verification_number为空""" LOG.info("------修改安全邮箱:start!---------") result = self.modify_secure_email(data.new_email, self.new_verification_code, self.new_serial_number, data.email, '') LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrSecureEmailNotSet) LOG.info("------pass!---------") def test_modify_secure_email_old_email_format(self): u"""old_email格式不正确""" LOG.info("------修改安全邮箱:start!---------") result = self.modify_secure_email(data.new_email, self.new_verification_code, self.new_serial_number, 'cuimin', self.old_verification_number) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrNotExistNewSecureEmail) LOG.info("------pass!---------") def test_modify_secure_email_old_email_not_exist(self): u"""old_email不存在""" LOG.info("------修改安全邮箱:start!---------") result = self.modify_secure_email('*****@*****.**', self.new_verification_code, self.new_serial_number, '*****@*****.**', self.old_verification_number) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrNotExistNewSecureEmail) LOG.info("------pass!---------") def test_modify_secure_email_new_email_format(self): u"""new_email格式不正确""" LOG.info("------修改安全邮箱:start!---------") result = self.modify_secure_email('60122446', self.new_verification_code, self.new_serial_number, data.email, self.old_verification_number) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrNotExistNewSecureEmail) def test_modify_secure_email_new_email_is_exist(self): u"""new_email已存在 """ LOG.info("------修改安全邮箱:start!---------") result = self.modify_secure_email('*****@*****.**', self.new_verification_code, self.new_serial_number, data.email, self.old_verification_number) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrNotExistNewSecureEmail) def test_modify_secure_email_same(self): u"""新旧密码一致""" LOG.info("------修改安全邮箱:start!---------") result = self.modify_secure_email(data.email, self.new_verification_code, self.new_serial_number, data.email, self.old_verification_number) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrNotExistNewSecureEmail)
def __init__(self,driver): self.driver=driver # self.data=Util().operateYaml('../data/pageData/page1.yaml') # self.data2=Util().operateYaml('../data/inputData/loginData.yaml') self.data= Util().operateYaml("../data/inputData/loginData.yaml")
def __init__(self, driver): self.driver = driver # #调试 # self.driver=webdriver.Firefox() self.data_page = Util().operateYaml("../data/pageData/page1.yaml") self.basecommon = BaseCommon(self.driver)
import json from PyQt5 import QtCore, QtGui, QtWidgets, uic from PyQt5.QtCore import Qt from common.util import Util Ui_MainWindow, QtBaseClass = uic.loadUiType(Util.find_file("taskManagerUI.ui")) tick = QtGui.QImage(Util.find_file("tick.png")) class TaskModel(QtCore.QAbstractListModel): def __init__(self, *args, task=None, **kwargs): super(TaskModel, self).__init__(*args, **kwargs) self.task = task or [] def data(self, index, role): if role == Qt.DisplayRole: _, text = self.task[index.row()] return text if role == Qt.DecorationRole: status, _ = self.task[index.row()] if status: return tick def rowCount(self, index): return len(self.task) class TaskManagerController(QtWidgets.QMainWindow, Ui_MainWindow): def __init__(self): QtWidgets.QMainWindow.__init__(self)
class ValidateSigninPhone(ApiTestCase): u'''验证登录手机号码''' def setUp(self): LOG.info('测试用例开始执行') def tearDown(self): LOG.info('测试用例执行完毕') host = ReadConfig().get_http('url') serial_number = Util().get_reset_password_serial_number() mvc = Util().phone_verification_code() def validate_signin_phone(self, phone, nation_code, mvc, serial_number): data = { "phone": phone, "nation_code": nation_code, "mvc": mvc, "serial_number": serial_number } url = self.host + 'validate_signin_phone' LOG.info("请求url:%s" % url) res = requests.post(url=url, json=data, headers=Util().get_authorization()) LOG.info("请求参数:%s" % data) return res.json() def test_signin_phone_correct_parameters(self): u"""正确参数""" LOG.info("------验证登录手机号码:start!---------") result = self.validate_signin_phone(data.phone, data.nation_code, self.mvc, self.serial_number) LOG.info("获取测试结果:%s" % result) self.assertOkResult(result) LOG.info("------pass!---------") def test_signin_phone_phone_is_null(self): u"""手机号为空""" LOG.info("------验证登录手机号码:start!---------") result = self.validate_signin_phone('', data.nation_code, self.mvc, self.serial_number) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrInValidMVC) LOG.info("------pass!---------") def test_signin_phone_phone_not_exit(self): u"""手机号格式不正确""" LOG.info("------验证登录手机号码:start!---------") result = self.validate_signin_phone('13221058', data.nation_code, self.mvc, self.serial_number) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrInValidMVC) LOG.info("------pass!---------") def test_signin_phone_nation_code_is_null(self): u"""区号为空""" LOG.info("------验证登录手机号码:start!---------") result = self.validate_signin_phone(data.phone, '', self.mvc, self.serial_number) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrInValidMVC) LOG.info("------pass!---------") def test_signin_phone_mvc_is_null(self): u"""mvc为空""" LOG.info("------验证登录手机号码:start!---------") result = self.validate_signin_phone(data.phone, data.nation_code, '', self.serial_number) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrInValidMVC) LOG.info("------pass!---------") def test_signin_phone_serial_number_is_null(self): u"""serial_number为空""" LOG.info("------验证登录手机号码:start!---------") result = self.validate_signin_phone(data.phone, data.nation_code, self.mvc, '') LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrInValidMVC) LOG.info("------pass!---------") def test_signin_phone_phone_not_correspond_nation_code(self): u"""手机号和区号不对应""" LOG.info("------验证登录手机号码:start!---------") result = self.validate_signin_phone(data.phone, '+1', self.mvc, self.serial_number) LOG.info("获取测试结果:%s" % result) self.assertErrorResult(result, const.ErrInValidMVC) LOG.info("------pass!---------")
def test_get_monthly_report_data_error_language(self): result = self.monthlyreport(0, 0, 0, 0, 0, 0, 0, 0, "ch", Util().get_user_id()) self.assertErrorResult(result, const.ErrRPCInternal)
def test_get_monthly_report_data(self): result = self.monthlyreport(0, 0, 0, 0, 0, 0, 0, 0, "zh-Hans", Util().get_user_id()) self.assertOkResult(result)
def test_get_monthly_report_data_error_c7_less(self): result = self.monthlyreport(0, 0, 0, 0, 0, 0, 0, -20, "zh-Hans", Util().get_user_id()) self.assertErrorResult(result, const.ErrRPCInternal)
def __save(self): with open(Util.find_file('data.db'), 'w') as file: json.dump(self.__model.task, file)
def test_get_week_measurements_data(self): result = self.weekmeasurements(Util().get_user_id()) self.assertOkResult(result)