Exemple #1
0
 def testExcludeSecondLevel(self):
     import UserList
     original_append = UserList.UserList.append
     with isolate(UserList, 'UserList.append'):
         self.assertEqual(UserList.UserList.append.im_func,
                          original_append.im_func)
         self.assertFalse(isinstance(original_append, Mock))
Exemple #2
0
 def testRestoreEverythingInModule(self):
     import UserList
     OriginalUserList = UserList.UserList
     with isolate(UserList):
         pass
     self.assertEqual(UserList.UserList, OriginalUserList)
     self.assertFalse(isinstance(OriginalUserList, Mock))
Exemple #3
0
 def testClassInstantiation(self):
     with isolate(tests.isolationfixture,
                  'MyClass.unmocked_method'):
         mod = tests.isolationfixture
         self.assertFalse(isinstance(mod.MyClass.unmocked_method, Mock))
         instance = mod.MyClass()
         #self.assertTrue(isinstance(instance, Mock))
         self.assertFalse(isinstance(instance.unmocked_method, Mock))
Exemple #4
0
    def testExcludeClassMethod(self):
        mod = tests.isolationfixture
        original_method = mod.MyClass.class_method
        with isolate(mod, 'MyClass.class_method'):
            self.assertFalse(isinstance(mod.MyClass.class_method, Mock))
            #self.assertEqual(mod.MyClass.class_method, original_method)

            # class_method() returns cls
            self.assertEqual(mod.MyClass.class_method(), mod.MyClass)
            instance = mod.MyClass()
            self.assertEqual(instance.class_method(), mod.MyClass)
Exemple #5
0
 def testConstructorIsolation(self):
     """Isolated __init__() is called correctly"""
     original_cls = tests.isolationfixture.MyClass
     original_init = original_cls.__init__
     with isolate(tests.isolationfixture, 'MyClass.__init__'):
         mod = tests.isolationfixture
         self.assertNotEqual(mod.MyClass, original_cls)
         self.assertEqual(mod.MyClass.__init__, original_init)
         self.assertFalse(isinstance(mod.MyClass.__init__, Mock))
         instance = mod.MyClass()
         self.assertEqual(instance.my_attribute,
                          'value of MyClass().my_attribute')
Exemple #6
0
 def testExcludeInstanceMethodInClass(self):
     mod = tests.isolationfixture
     original_method = mod.MyClass.unmocked_method
     with isolate(mod, 'MyClass.unmocked_method'):
         self.assertFalse(isinstance(mod.MyClass.unmocked_method, Mock))
         self.assertEqual(mod.MyClass.unmocked_method.im_func,
                          original_method.im_func)
         self.assertEqual(mod.MyClass().unmocked_method.im_func,
                          original_method.im_func)
         instance = mod.MyClass()
         retval = instance.unmocked_method()
         self.assertEqual(retval,
                          'return value of MyClass.unmocked_method')
Exemple #7
0
 def testExcludeInstanceMethod(self):
     class MyClass(object):
         def my_method(self):
             return 'return value of my_method'
     class mymodule:
         my_instance = MyClass()
     original_method = mymodule.my_instance.my_method
     original_retval = original_method()
     with isolate(mymodule, 'my_instance.my_method'):
         self.assertTrue(isinstance(mymodule.my_instance, Mock))
         self.assertNotEqual(mymodule.my_instance.my_method, original_method)
         self.assertEqual(mymodule.my_instance.my_method(),
                          'return value of my_method')
Exemple #8
0
 def testConstructorWithSuper(self):
     """super() is called correctly inside an isolated __init__()"""
     with isolate(tests.isolationfixture,
                  'ClassWithSuperInConstructor.__init__'):
         mod = tests.isolationfixture
         self.assertFalse(
             isinstance(mod.ClassWithSuperInConstructor.__init__, Mock))
         instance = mod.ClassWithSuperInConstructor()
         self.assertEqual(
             instance.my_attribute,
             'value of ClassWithSuperInConstructor().my_attribute')
         self.assertEqual(
             instance.other_attribute,
             'value of ClassWithSuperInConstructor().other_attribute')
Exemple #9
0
 def testExcludeTopLevel(self):
     import UserList
     OriginalUserList = UserList.UserList
     with isolate(UserList, 'UserList'):
         self.assertEqual(UserList.UserList, OriginalUserList)
         self.assertFalse(isinstance(OriginalUserList, Mock))
Exemple #10
0
 def testPatchEverythingInModule(self):
     import UserList
     with isolate(UserList):
         self.assertTrue(isinstance(UserList.UserList.append, Mock))