def test_cursorwrapper_patching(self, CursorDebugWrapper, execute, executemany, _getattr): try: from django.db.backends import util # We need to patch CursorWrapper like this because setting # __getattr__ on Mock instances raises AttributeError. class CursorWrapper(object): pass _CursorWrapper = util.CursorWrapper util.CursorWrapper = CursorWrapper from django_statsd.patches.db import patch execute.__name__ = 'execute' executemany.__name__ = 'executemany' _getattr.__name__ = '_getattr' execute.return_value = 'execute' executemany.return_value = 'executemany' _getattr.return_value = 'getattr' patch() self.assertEqual(CursorDebugWrapper.execute(), 'execute') self.assertEqual(CursorDebugWrapper.executemany(), 'executemany') self.assertEqual(CursorWrapper.__getattr__(), 'getattr') finally: util.CursorWrapper = _CursorWrapper
def test_cursorwrapper_patching(self, CursorDebugWrapper, execute, executemany, _getattr): try: from django.db.backends import utils as util except ImportError: from django.db.backends import util try: # We need to patch CursorWrapper like this because setting # __getattr__ on Mock instances raises AttributeError. class CursorWrapper(object): pass _CursorWrapper = util.CursorWrapper util.CursorWrapper = CursorWrapper from django_statsd.patches.db import patch execute.__name__ = 'execute' executemany.__name__ = 'executemany' _getattr.__name__ = '_getattr' execute.return_value = 'execute' executemany.return_value = 'executemany' _getattr.return_value = 'getattr' patch() self.assertEqual(CursorDebugWrapper.execute(), 'execute') self.assertEqual(CursorDebugWrapper.executemany(), 'executemany') self.assertEqual(CursorWrapper.__getattr__(), 'getattr') finally: util.CursorWrapper = _CursorWrapper
def test_cursorwrapper_patching(self, CursorWrapper, execute, executemany, callproc): from django_statsd.patches.db import patch execute.__name__ = 'execute' executemany.__name__ = 'executemany' callproc.__name__ = 'callproc' execute.return_value = 'execute' executemany.return_value = 'executemany' callproc.return_value = 'callproc' patch() self.assertEqual(CursorWrapper.execute(), 'execute') self.assertEqual(CursorWrapper.executemany(), 'executemany') self.assertEqual(CursorWrapper.callproc(), 'callproc')