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))