Best Python code snippet using Kiwi_python
test_checkers.py
Source: test_checkers.py
...16 args=('assertTrue(x) or assertIs(x, True)', 'assertEqual(x, True)'),17 node=assert_node,18 ),19 ):20 self.checker.visit_classdef(class_node)21 self.checker.visit_call(assert_node)22 self.checker.leave_classdef(class_node)23 def test_assertEqual_false(self):24 class_node, assert_node = astroid.extract_node("""25 import unittest26 class Tests(unittest.TestCase): #@27 def test_foo():28 self.assertEqual(a, False) #@29 """)30 with self.assertAddsMessages(31 pylint.testutils.Message(32 msg_id='wrong-assert',33 args=('assertFalse(x) or assertIs(x, False)', 'assertEqual(x, False)',),34 node=assert_node,35 ),36 ):37 self.checker.visit_classdef(class_node)38 self.checker.visit_call(assert_node)39 self.checker.leave_classdef(class_node)40 def test_assertEqual_none(self):41 class_node, assert_node = astroid.extract_node("""42 import unittest43 class Tests(unittest.TestCase): #@44 def test_foo():45 self.assertEqual(a, None) #@46 """)47 with self.assertAddsMessages(48 pylint.testutils.Message(49 msg_id='wrong-assert',50 args=('assertIsNone(x)', 'assertEqual(x, None)',),51 node=assert_node,52 ),53 ):54 self.checker.visit_classdef(class_node)55 self.checker.visit_call(assert_node)56 self.checker.leave_classdef(class_node)57 def test_assertIs_none(self):58 class_node, assert_node = astroid.extract_node("""59 import unittest60 class Tests(unittest.TestCase): #@61 def test_foo():62 self.assertIs(a, None) #@63 """)64 with self.assertAddsMessages(65 pylint.testutils.Message(66 msg_id='wrong-assert',67 args=('assertIsNone(x)', 'assertEqual(x, None)'),68 node=assert_node,69 ),70 ):71 self.checker.visit_classdef(class_node)72 self.checker.visit_call(assert_node)73 self.checker.leave_classdef(class_node)74 def test_works_with_TestCase_subclasses(self):75 class_node, assert_node = astroid.extract_node("""76 import unittest77 class BaseTestCase(unittest.TestCase):78 pass79 class Tests(BaseTestCase): #@80 def test_foo():81 self.assertEqual(a, True) #@82 """)83 with self.assertAddsMessages(84 pylint.testutils.Message(85 msg_id='wrong-assert',86 args=('assertTrue(x) or assertIs(x, True)', 'assertEqual(x, True)'),87 node=assert_node,88 ),89 ):90 self.checker.visit_classdef(class_node)91 self.checker.visit_call(assert_node)92 self.checker.leave_classdef(class_node)93 def test_ignores_non_TestCase_subclasses(self):94 class_node, assert_node = astroid.extract_node("""95 class Tests(object): #@96 def test_foo():97 self.assertEqual(a, True) #@98 """)99 with self.assertNoMessages():100 self.checker.visit_classdef(class_node)101 self.checker.visit_call(assert_node)102 self.checker.leave_classdef(class_node)103 def test_deprecated_alias(self):104 class_node, assert_node = astroid.extract_node("""105 import unittest106 class Tests(unittest.TestCase): #@107 def test_foo():108 self.failIfEqual(a, None) #@109 """)110 with self.assertAddsMessages(111 pylint.testutils.Message(112 msg_id='deprecated-unittest-alias',113 args=('failIfEqual', 'assertNotEqual'),114 node=assert_node,115 ),116 ):117 self.checker.visit_classdef(class_node)118 self.checker.visit_call(assert_node)119 self.checker.leave_classdef(class_node)120 def test_isinstance(self):121 class_node, assert_node = astroid.extract_node("""122 import unittest123 class Tests(unittest.TestCase): #@124 def test_foo():125 self.assertTrue(isinstance(a, Class)) #@126 """)127 with self.assertAddsMessages(128 pylint.testutils.Message(129 msg_id='wrong-assert',130 args=('assertIsInstance(x, Class)', 'assertTrue(isinstance(x, Class))'),131 node=assert_node,132 ),133 ):134 self.checker.visit_classdef(class_node)135 self.checker.visit_call(assert_node)136 self.checker.leave_classdef(class_node)137 def test_isinstance_does_not_fail_with_other_expression(self):138 class_node, assert_node = astroid.extract_node("""139 import unittest140 class Tests(unittest.TestCase): #@141 def test_foo():142 form = Form()143 self.assertTrue(form.is_valid()) #@144 """)145 with self.assertNoMessages():146 self.checker.visit_classdef(class_node)147 self.checker.visit_call(assert_node)148 self.checker.leave_classdef(class_node)149 def test_isnotinstance(self):150 class_node, assert_node = astroid.extract_node("""151 import unittest152 class Tests(unittest.TestCase): #@153 def test_foo():154 self.assertFalse(isinstance(a, Class)) #@155 """)156 with self.assertAddsMessages(157 pylint.testutils.Message(158 msg_id='wrong-assert',159 args=('assertIsNotInstance(x, Class)', 'assertFalse(isinstance(x, Class))'),160 node=assert_node,161 ),162 ):163 self.checker.visit_classdef(class_node)164 self.checker.visit_call(assert_node)...
handle_by_tree.py
Source: handle_by_tree.py
1import re 2import ast 3import inspect 4from pathlib import Path 5 6class HandleFileByTree:7 def __init__(self, filename):8 self.filename = Path(filename)9 self.functions, self.classes = self.get_members() 10 def get_members(self):11 with open(self.filename, 'r') as module:12 self.node = ast.parse(module.read())13 functions = [n for n in self.node.body if isinstance(n, ast.FunctionDef)]14 classes = [n for n in self.node.body if isinstance(n, ast.ClassDef)] 15 return functions, classes 16class ClassAttributeVisitor:17 def __init__(self, class_node):18 self.class_attrs = self.visit_ClassDef(class_node)19 def visit_ClassDef(self, node):20 lst = []21 body = node.body 22 for statement in body:23 if isinstance(statement, ast.Assign):24 if len(statement.targets) == 1:25 value = statement.value26 value = self._check_type(value)27 lst.append((statement.targets[0].id, value))28 return lst29 30 def _check_type(self, value):31 if isinstance(value, ast.Call):32 if isinstance(value.func, ast.Attribute):33 value = value.func.attr34 elif isinstance(value.func, ast.Name):35 value = value.func.id36 elif isinstance(value, ast.List):37 value = [e.s for e in value.elts]38 elif isinstance(value, ast.Constant):39 value = value.s40 elif isinstance(value, ast.Name):41 value = value.id42 return value43if __name__ == '__main__':44 f = ast.parse(open('D:\\Software Structure Generator\\test_files\\app\\api\\models.py', 'r').read())45 # print(dir(ast.Call))46 class_def = [n for n in f.body if isinstance(n, ast.ClassDef)]47 print(ClassAttributeVisitor().visit_ClassDef(class_def[0]))48 49 ...
django_rest_framework.py
Source: django_rest_framework.py
1from astroid.nodes import Class2from pylint.checkers.base import DocStringChecker3from pylint.checkers.classes import ClassChecker4from pylint.checkers.design_analysis import MisdesignChecker5from pylint.checkers.newstyle import NewStyleConflictChecker6from pylint_django.utils import node_is_subclass7from pylint_plugin_utils import suppress_message8def is_class(class_name):9 """Shortcut for node_is_subclass."""10 return lambda node: node_is_subclass(node, class_name)11def is_model_meta_subclass(node):12 """Checks that node is derivative of Meta class."""13 if node.name != 'Meta' or not isinstance(node.parent, Class):14 return False15 parents = ('rest_framework.views.APIView',16 'django_filters.filterset.FilterSet',17 'rest_framework.serializers.ModelSerializer')18 return any([node_is_subclass(node.parent, parent) for parent in parents])19def apply_augmentations(linter):20 # Suppress the no __init__ method message21 for clazz in ["django_filters.filterset.FilterSet"]:22 suppress_message(linter, ClassChecker.visit_classdef, 'W0232', is_class(clazz))23 suppress_message(linter, DocStringChecker.visit_classdef, 'C0111', is_class('django_filters.filterset.FilterSet'))24 # Meta25 suppress_message(linter, DocStringChecker.visit_classdef, 'C0111', is_model_meta_subclass)26 suppress_message(linter, NewStyleConflictChecker.visit_classdef, 'C1001', is_model_meta_subclass)27 suppress_message(linter, ClassChecker.visit_classdef, 'W0232', is_model_meta_subclass)...
Check out the latest blogs from LambdaTest on this topic:
Howdy testers! If you’re reading this article I suggest you keep a diary & a pen handy because we’ve added numerous exciting features to our cross browser testing cloud and I am about to share them with you right away!
Xamarin is an open-source framework that offers cross-platform application development using the C# programming language. It helps to simplify your overall development and management of cross-platform software applications.
There are times when developers get stuck with a problem that has to do with version changes. Trying to run the code or test without upgrading the package can result in unexpected errors.
Greetings folks! With the new year finally upon us, we’re excited to announce a collection of brand-new product updates. At LambdaTest, we strive to provide you with a comprehensive test orchestration and execution platform to ensure the ultimate web and mobile experience.
Lack of training is something that creates a major roadblock for a tester. Often, testers working in an organization are all of a sudden forced to learn a new framework or an automation tool whenever a new project demands it. You may be overwhelmed on how to learn test automation, where to start from and how to master test automation for web applications, and mobile applications on a new technology so soon.
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.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!