summaryrefslogtreecommitdiff
path: root/taskflow/tests/unit/test_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'taskflow/tests/unit/test_utils.py')
-rw-r--r--taskflow/tests/unit/test_utils.py255
1 files changed, 0 insertions, 255 deletions
diff --git a/taskflow/tests/unit/test_utils.py b/taskflow/tests/unit/test_utils.py
index 56e3919..c69b769 100644
--- a/taskflow/tests/unit/test_utils.py
+++ b/taskflow/tests/unit/test_utils.py
@@ -19,266 +19,11 @@ import inspect
import random
import time
-import six
-import testtools
-
from taskflow import test
-from taskflow.tests import utils as test_utils
-from taskflow.types import failure
-from taskflow.utils import lock_utils
from taskflow.utils import misc
-from taskflow.utils import reflection
from taskflow.utils import threading_utils
-def mere_function(a, b):
- pass
-
-
-def function_with_defs(a, b, optional=None):
- pass
-
-
-def function_with_kwargs(a, b, **kwargs):
- pass
-
-
-class Class(object):
-
- def method(self, c, d):
- pass
-
- @staticmethod
- def static_method(e, f):
- pass
-
- @classmethod
- def class_method(cls, g, h):
- pass
-
-
-class CallableClass(object):
- def __call__(self, i, j):
- pass
-
-
-class ClassWithInit(object):
- def __init__(self, k, l):
- pass
-
-
-class CallbackEqualityTest(test.TestCase):
- def test_different_simple_callbacks(self):
-
- def a():
- pass
-
- def b():
- pass
-
- self.assertFalse(reflection.is_same_callback(a, b))
-
- def test_static_instance_callbacks(self):
-
- class A(object):
-
- @staticmethod
- def b(a, b, c):
- pass
-
- a = A()
- b = A()
-
- self.assertTrue(reflection.is_same_callback(a.b, b.b))
-
- def test_different_instance_callbacks(self):
-
- class A(object):
- def b(self):
- pass
-
- def __eq__(self, other):
- return True
-
- b = A()
- c = A()
-
- self.assertFalse(reflection.is_same_callback(b.b, c.b))
- self.assertTrue(reflection.is_same_callback(b.b, c.b, strict=False))
-
-
-class GetCallableNameTest(test.TestCase):
-
- def test_mere_function(self):
- name = reflection.get_callable_name(mere_function)
- self.assertEqual(name, '.'.join((__name__, 'mere_function')))
-
- def test_method(self):
- name = reflection.get_callable_name(Class.method)
- self.assertEqual(name, '.'.join((__name__, 'Class', 'method')))
-
- def test_instance_method(self):
- name = reflection.get_callable_name(Class().method)
- self.assertEqual(name, '.'.join((__name__, 'Class', 'method')))
-
- def test_static_method(self):
- name = reflection.get_callable_name(Class.static_method)
- if six.PY3:
- self.assertEqual(name,
- '.'.join((__name__, 'Class', 'static_method')))
- else:
- # NOTE(imelnikov): static method are just functions, class name
- # is not recorded anywhere in them.
- self.assertEqual(name,
- '.'.join((__name__, 'static_method')))
-
- def test_class_method(self):
- name = reflection.get_callable_name(Class.class_method)
- self.assertEqual(name, '.'.join((__name__, 'Class', 'class_method')))
-
- def test_constructor(self):
- name = reflection.get_callable_name(Class)
- self.assertEqual(name, '.'.join((__name__, 'Class')))
-
- def test_callable_class(self):
- name = reflection.get_callable_name(CallableClass())
- self.assertEqual(name, '.'.join((__name__, 'CallableClass')))
-
- def test_callable_class_call(self):
- name = reflection.get_callable_name(CallableClass().__call__)
- self.assertEqual(name, '.'.join((__name__, 'CallableClass',
- '__call__')))
-
-
-# These extended/special case tests only work on python 3, due to python 2
-# being broken/incorrect with regard to these special cases...
-@testtools.skipIf(not six.PY3, 'python 3.x is not currently available')
-class GetCallableNameTestExtended(test.TestCase):
- # Tests items in http://legacy.python.org/dev/peps/pep-3155/
-
- class InnerCallableClass(object):
- def __call__(self):
- pass
-
- def test_inner_callable_class(self):
- obj = self.InnerCallableClass()
- name = reflection.get_callable_name(obj.__call__)
- expected_name = '.'.join((__name__, 'GetCallableNameTestExtended',
- 'InnerCallableClass', '__call__'))
- self.assertEqual(expected_name, name)
-
- def test_inner_callable_function(self):
- def a():
-
- def b():
- pass
-
- return b
-
- name = reflection.get_callable_name(a())
- expected_name = '.'.join((__name__, 'GetCallableNameTestExtended',
- 'test_inner_callable_function', '<locals>',
- 'a', '<locals>', 'b'))
- self.assertEqual(expected_name, name)
-
- def test_inner_class(self):
- obj = self.InnerCallableClass()
- name = reflection.get_callable_name(obj)
- expected_name = '.'.join((__name__,
- 'GetCallableNameTestExtended',
- 'InnerCallableClass'))
- self.assertEqual(expected_name, name)
-
-
-class GetCallableArgsTest(test.TestCase):
-
- def test_mere_function(self):
- result = reflection.get_callable_args(mere_function)
- self.assertEqual(['a', 'b'], result)
-
- def test_function_with_defaults(self):
- result = reflection.get_callable_args(function_with_defs)
- self.assertEqual(['a', 'b', 'optional'], result)
-
- def test_required_only(self):
- result = reflection.get_callable_args(function_with_defs,
- required_only=True)
- self.assertEqual(['a', 'b'], result)
-
- def test_method(self):
- result = reflection.get_callable_args(Class.method)
- self.assertEqual(['self', 'c', 'd'], result)
-
- def test_instance_method(self):
- result = reflection.get_callable_args(Class().method)
- self.assertEqual(['c', 'd'], result)
-
- def test_class_method(self):
- result = reflection.get_callable_args(Class.class_method)
- self.assertEqual(['g', 'h'], result)
-
- def test_class_constructor(self):
- result = reflection.get_callable_args(ClassWithInit)
- self.assertEqual(['k', 'l'], result)
-
- def test_class_with_call(self):
- result = reflection.get_callable_args(CallableClass())
- self.assertEqual(['i', 'j'], result)
-
- def test_decorators_work(self):
- @lock_utils.locked
- def locked_fun(x, y):
- pass
- result = reflection.get_callable_args(locked_fun)
- self.assertEqual(['x', 'y'], result)
-
-
-class AcceptsKwargsTest(test.TestCase):
-
- def test_no_kwargs(self):
- self.assertEqual(
- reflection.accepts_kwargs(mere_function), False)
-
- def test_with_kwargs(self):
- self.assertEqual(
- reflection.accepts_kwargs(function_with_kwargs), True)
-
-
-class GetClassNameTest(test.TestCase):
-
- def test_std_exception(self):
- name = reflection.get_class_name(RuntimeError)
- self.assertEqual(name, 'RuntimeError')
-
- def test_global_class(self):
- name = reflection.get_class_name(failure.Failure)
- self.assertEqual(name, 'taskflow.types.failure.Failure')
-
- def test_class(self):
- name = reflection.get_class_name(Class)
- self.assertEqual(name, '.'.join((__name__, 'Class')))
-
- def test_instance(self):
- name = reflection.get_class_name(Class())
- self.assertEqual(name, '.'.join((__name__, 'Class')))
-
- def test_int(self):
- name = reflection.get_class_name(42)
- self.assertEqual(name, 'int')
-
-
-class GetAllClassNamesTest(test.TestCase):
-
- def test_std_class(self):
- names = list(reflection.get_all_class_names(RuntimeError))
- self.assertEqual(names, test_utils.RUNTIME_ERROR_CLASSES)
-
- def test_std_class_up_to(self):
- names = list(reflection.get_all_class_names(RuntimeError,
- up_to=Exception))
- self.assertEqual(names, test_utils.RUNTIME_ERROR_CLASSES[:-2])
-
-
class CachedPropertyTest(test.TestCase):
def test_attribute_caching(self):