def test_visit_assign_valid_class_method(self, mocked_safeloader): """ Make sure that current_klass is correctly assigned with a class name """ mocked_safeloader.find_avocado_tests.return_value = [ 'FetchAssets' ] tree = ast.parse(TEST_CLASS_SOURCE) node_class = tree.body[1] node_function = tree.body[1].body[0] node_assign = tree.body[1].body[0].body[0] expected_assign = "bar" with patch("builtins.open", mock_open(read_data=TEST_CLASS_SOURCE)): with patch.object(assets.ast, "parse"): with patch.object(assets.FetchAssetHandler, "visit"): with patch.object(assets.FetchAssetHandler, "generic_visit"): handler = assets.FetchAssetHandler("fake_file.py") handler.visit_ClassDef(node_class) handler.visit_FunctionDef(node_function) handler.visit_Assign(node_assign) self.assertEqual( (handler.asgmts[handler.current_klass] [handler.current_method]['foo']), expected_assign)
def test_visit_classdef_valid_class(self, mocked_safeloader): """ Make sure that current_klass is correctly assigned with a class name """ mocked_safeloader.find_avocado_tests.return_value = ['FetchAssets'] tree = ast.parse(TEST_CLASS_SOURCE) node = tree.body[1] with patch("builtins.open", mock_open(read_data=TEST_CLASS_SOURCE)): with patch.object(assets.ast, "parse"): with patch.object(assets.FetchAssetHandler, "visit"): with patch.object(assets.FetchAssetHandler, "generic_visit"): handler = assets.FetchAssetHandler("fake_file.py") handler.visit_ClassDef(node) self.assertEqual(handler.current_klass, 'FetchAssets')
def test_visit_assign_invalid_class_method(self, mocked_safeloader): """ Make sure that current_klass is not assigned with a class name """ mocked_safeloader.find_avocado_tests.return_value = [[]] tree = ast.parse(NOT_TEST_CLASS_SOURCE) node = tree.body[1].body[0].body[0] with patch("builtins.open", mock_open(read_data=NOT_TEST_CLASS_SOURCE)): with patch.object(assets.ast, "parse"): with patch.object(assets.FetchAssetHandler, "visit"): with patch.object(assets.FetchAssetHandler, "generic_visit"): handler = assets.FetchAssetHandler("fake_file.py") handler.visit_Assign(node) self.assertTrue((handler.current_method is None))