How to use get_parent_class method in autotest

Best Python code snippet using autotest_python

clazz.py

Source:clazz.py Github

copy

Full Screen

1from flask import Blueprint, render_template, flash, redirect, url_for, request, current_app, session, jsonify2from flask_login import login_required, current_user3from com.models import BizAssetClass, RelAssetClass4from com.plugins import db5from com.decorators import log_record6from com.forms.biz.master.clazz import ClazzSearchForm, ClazzForm7import uuid, time8from datetime import datetime9bp_clazz = Blueprint('clazz', __name__)10@bp_clazz.route('/index', methods=['GET', 'POST'])11@login_required12@log_record('查看资产分类信息')13def index():14 form = ClazzSearchForm()15 if request.method == 'GET':16 page = request.args.get('page', 1, type=int)17 try:18 code = session['clazz_view_search_code'] if session['clazz_view_search_code'] else '' # 字典代码19 name = session['clazz_view_search_name'] if session['clazz_view_search_name'] else '' # 字典名称20 except KeyError:21 code = ''22 name = ''23 form.code.data = code24 form.name.data = name25 if request.method == 'POST':26 page = 127 code = form.code.data28 name = form.name.data29 session['clazz_view_search_code'] = code30 session['clazz_view_search_name'] = name31 per_page = current_app.config['ITEM_COUNT_PER_PAGE']32 pagination = BizAssetClass.query.filter(BizAssetClass.bg_id == current_user.company_id).filter(BizAssetClass.code.like('%' + code.upper() + '%'), BizAssetClass.name.like('%' + name + '%')).order_by(BizAssetClass.code).paginate(page, per_page)33 clazzes = pagination.items34 return render_template('biz/master/clazz/index.html', form=form, clazzes=clazzes, pagination=pagination)35@bp_clazz.route('/add', methods=['GET', 'POST'])36@login_required37@log_record('新增资产分类信息')38def add():39 form = ClazzForm()40 form.parent.choices = get_parents()41 if request.method == 'GET':42 form.has_parent.data = True43 if form.validate_on_submit():44 if not form.has_parent.data or not form.parent.data:45 grade = 146 else:47 parent = BizAssetClass.query.get(form.parent.data)48 grade = parent.grade + 149 clazz = BizAssetClass(50 id=uuid.uuid4().hex,51 code=form.code.data.upper(),52 name=form.name.data,53 unit=form.unit.data,54 grade=grade,55 bg_id=current_user.company_id,56 create_id=current_user.id57 )58 db.session.add(clazz)59 db.session.commit()60 # 设置上级大类61 if grade != 1:62 clazz.set_parent_class(parent)63 flash('资产类别添加成功!')64 return redirect(url_for('.index'))65 return render_template('biz/master/clazz/add.html', form=form)66@bp_clazz.route('/edit/<id>', methods=['GET', 'POST'])67@login_required68@log_record('修改资产类别信息')69def edit(id):70 form = ClazzForm()71 clazz = BizAssetClass.query.get_or_404(id)72 form.parent.choices = get_parents(clazz)73 if request.method == 'GET':74 form.id.data = id75 form.code.data = clazz.code76 form.name.data = clazz.name77 form.has_parent.data = True if clazz.get_parent_class else False78 form.parent.data = clazz.get_parent_class.id if clazz.get_parent_class else ''79 form.unit.data = clazz.unit80 if form.validate_on_submit():81 if not form.has_parent.data or not form.parent.data:82 grade = 183 else:84 parent = BizAssetClass.query.get(form.parent.data)85 grade = parent.grade + 186 clazz.code = form.code.data.upper()87 clazz.name = form.name.data88 clazz.grade = grade89 clazz.unit = form.unit.data90 clazz.update_id = current_user.id91 clazz.updatetime_utc = datetime.utcfromtimestamp(time.time())92 clazz.updatetime_loc = datetime.fromtimestamp(time.time())93 db.session.commit()94 # 如果是1等级即根类别,则删除关联关系,否则重新设定新上级类别95 if grade == 1:96 parent_class = RelAssetClass.query.filter_by(child_class_id=id).first()97 db.session.delete(parent_class)98 db.session.commit()99 else:100 clazz.set_parent_class(parent)101 flash('资产类别修改成功!')102 return redirect(url_for('.index'))103 return render_template('biz/master/clazz/edit.html', form=form)104@bp_clazz.route('/grade/<id>', methods=['POST'])105@login_required106@log_record('获取类别等级信息')107def grade(id):108 clazz = BizAssetClass.query.get_or_404(id)109 return jsonify(grade=clazz.grade)110def get_parents(clazz=None):111 '''112 获取1/2级类别供选择113 :param clazz_id: 为空表示新增,否则表示编辑114 :return:115 '''116 if clazz:117 # 获取本类别ID及子类别ID118 self_and_child_ids = [clazz.id]119 get_self_and_child_ids(clazz, self_and_child_ids)120 # 剔除掉自身及子类别ID121 return [(clazz.id, (clazz.get_parent_class.name+' / ' if clazz.get_parent_class else '')+clazz.name) for clazz in BizAssetClass.query.filter(BizAssetClass.grade.in_([1, 2])).filter(~BizAssetClass.id.in_(self_and_child_ids)).order_by(BizAssetClass.grade, BizAssetClass.createtime_loc).all()]122 else:123 return [(clazz.id, (clazz.get_parent_class.name + ' / ' if clazz.get_parent_class else '') + clazz.name) for clazz in BizAssetClass.query.filter(BizAssetClass.grade.in_([1, 2])).order_by(BizAssetClass.grade, BizAssetClass.createtime_loc).all()]124def get_self_and_child_ids(parent, children):125 '''126 递归获取类别及子类别ID127 :param clazz:128 :param self_and_children_ids:129 :return:130 '''131 children_clazz = parent.get_child_class132 if children_clazz:133 for child_clazz in children_clazz:134 children.append(child_clazz.child_class_id)135 get_self_and_child_ids(BizAssetClass.query.get(child_clazz.child_class_id), children)136 else:137 return children138@bp_clazz.route('/get_class2_options', methods=['GET', 'POST'])139@login_required140@log_record('获取二级分类下拉选项')141def get_class2_options():142 class2 = BizAssetClass.query.filter_by(grade=2).order_by(BizAssetClass.name).all()143 options = [(clazz.id, clazz.name) for clazz in class2]144 return jsonify(options=options)145@bp_clazz.route('/get_class3_options/<class2_id>', methods=['POST'])146@login_required147@log_record('获取三级分类下拉选项')148def get_class3_options(class2_id):149 class2 = BizAssetClass.query.get(class2_id)150 options = [(rel.child_class_id, rel.child_class.name) for rel in class2.get_child_class]151 return jsonify(options=options)152@bp_clazz.route('/get_class3_unit/<class3_id>', methods=['POST'])153@login_required154@log_record('获取三级分类单位')155def get_class3_unit(class3_id):156 class3 = BizAssetClass.query.get(class3_id)...

Full Screen

Full Screen

test_anonymizer.py

Source:test_anonymizer.py Github

copy

Full Screen

...50 anon_name_2 = anonymizer2._anonymize_string(test_name)51 assert anon_name_1 == anon_name_252 assert len(anon_name_1) == 3253 assert len(anon_name_2) == 3254def test_anonymizer_get_parent_class():55 """56 What does this test and why?57 The method Anonymizer.get_parent_class() should return the name of the parent class if it is or is a subclass of one of the classes_to_check. If not, it should return None. It should do so regardless of the parameter used to pass in the object definition (object_, object_class, object_config). It should also return the first matching class in classes_to_check, even if a later class also matches.58 """59 anonymizer = Anonymizer()60 # classes_to_check in order of inheritance hierarchy61 classes_to_check = [TestClass, BaseTestClass]62 assert (63 anonymizer.get_parent_class(64 classes_to_check=classes_to_check, object_class=MyCustomTestClass65 )66 == "TestClass"67 )68 assert (69 anonymizer.get_parent_class(70 classes_to_check=classes_to_check, object_class=SomeOtherClass71 )72 is None73 )74 classes_to_check = [BaseTestClass]75 assert (76 anonymizer.get_parent_class(77 classes_to_check=classes_to_check, object_class=TestClass78 )79 == "BaseTestClass"80 )81 # classes_to_check in order of inheritance hierarchy82 my_custom_test_class = MyCustomTestClass()83 test_class = TestClass()84 some_other_class = SomeOtherClass()85 classes_to_check = [TestClass, BaseTestClass]86 assert (87 anonymizer.get_parent_class(88 classes_to_check=classes_to_check, object_=my_custom_test_class89 )90 == "TestClass"91 )92 assert (93 anonymizer.get_parent_class(94 classes_to_check=classes_to_check, object_=some_other_class95 )96 is None97 )98 classes_to_check = [BaseTestClass]99 assert (100 anonymizer.get_parent_class(101 classes_to_check=classes_to_check, object_=test_class102 )103 == "BaseTestClass"104 )105 # classes_to_check in order of inheritance hierarchy106 my_custom_test_class_config = {107 "class_name": "MyCustomTestClass",108 "module_name": "tests.core.usage_statistics.test_anonymizer",109 }110 test_class_config = {111 "class_name": "TestClass",112 "module_name": "tests.core.usage_statistics.test_anonymizer",113 }114 some_other_class_config = {115 "class_name": "SomeOtherClass",116 "module_name": "tests.core.usage_statistics.test_anonymizer",117 }118 classes_to_check = [TestClass, BaseTestClass]119 assert (120 anonymizer.get_parent_class(121 classes_to_check=classes_to_check, object_config=my_custom_test_class_config122 )123 == "TestClass"124 )125 assert (126 anonymizer.get_parent_class(127 classes_to_check=classes_to_check, object_config=some_other_class_config128 )129 is None130 )131 classes_to_check = [BaseTestClass]132 assert (133 anonymizer.get_parent_class(134 classes_to_check=classes_to_check, object_config=test_class_config135 )136 == "BaseTestClass"137 )138def test_anonymize_object_info_with_core_ge_object(139 anonymizer_with_consistent_salt: Anonymizer,140):141 anonymized_result: dict = anonymizer_with_consistent_salt._anonymize_object_info(142 anonymized_info_dict={},143 object_=ExpectationSuite(expectation_suite_name="my_suite"),144 )145 assert anonymized_result == {"parent_class": "ExpectationSuite"}146def test_anonymize_object_info_with_custom_user_defined_object_with_single_parent(147 anonymizer_with_consistent_salt: Anonymizer,...

Full Screen

Full Screen

get_parent_class.py

Source:get_parent_class.py Github

copy

Full Screen

1# coding: utf-82def get_parent_class(cls):3 if not isinstance(cls, type):4 cls = type(cls)5 return cls.__bases__6if __name__ == '__main__':7 class dad(object):8 pass9 class child(dad):10 def __new__(cls, *args, **kwargs):11 print(cls, args, kwargs)12 print("I'm ", get_parent_class(cls), "'s son")13 return object.__new__(cls)14 class child2(dad):15 def __new__(cls, *args, **kwargs):16 print(cls, args, kwargs)17 o = object.__new__(cls)18 print("I'm ", get_parent_class(o), "'s son too")19 return o20 f = child()...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run autotest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful