예제 #1
0
파일: test_task.py 프로젝트: thavel/tukio
    def test_bad_register_class(self):
        """
        Trying to register a class with invalid/missing parameters passed to
        `register()` must raise a `ValueError` or `AttributeError` exception.
        """
        registered = len(TaskRegistry.all())

        # Register a class without the name of the method to register
        with self.assertRaisesRegex(TypeError, 'getattr()'):
            register('dummy-task')(MyTaskHolder)

        # Register a class with an invalid `coro_name` arg
        with self.assertRaisesRegex(TypeError, 'getattr()'):
            register('dummy-task', object())(MyTaskHolder)

        # Register a class with a wrong method name
        with self.assertRaisesRegex(AttributeError, 'yolo'):
            register('dummy-task', 'yolo')(MyTaskHolder)

        # No new item must have been registered
        self.assertEqual(registered, len(TaskRegistry.all()))
예제 #2
0
    def test_bad_register_class(self):
        """
        Trying to register a class with invalid/missing parameters passed to
        `register()` must raise a `ValueError` or `AttributeError` exception.
        """
        registered = len(TaskRegistry.all())

        # Register a class without the name of the method to register
        with self.assertRaisesRegex(TypeError, 'getattr()'):
            register('dummy-task')(MyTaskHolder)

        # Register a class with an invalid `coro_name` arg
        with self.assertRaisesRegex(TypeError, 'getattr()'):
            register('dummy-task', object())(MyTaskHolder)

        # Register a class with a wrong method name
        with self.assertRaisesRegex(AttributeError, 'yolo'):
            register('dummy-task', 'yolo')(MyTaskHolder)

        # No new item must have been registered
        self.assertEqual(registered, len(TaskRegistry.all()))
예제 #3
0
파일: test_task.py 프로젝트: thavel/tukio
    def test_register_not_coroutine(self):
        """
        Trying to register a function or method that is not a coroutine must
        raise a `TypeError` exception.
        """
        err = 'not a coroutine function'
        registered = len(TaskRegistry.all())

        # A regular function cannot be registered
        with self.assertRaisesRegex(TypeError, err):
            register('dummy')(my_func)

        # A generator cannot be registered either
        with self.assertRaisesRegex(TypeError, err):
            register('dummy')(my_gen)
        with self.assertRaisesRegex(TypeError, err):
            register('dummy')(my_gen())

        # A simple method is not a valid task
        with self.assertRaisesRegex(TypeError, err):
            register('dummy-task', 'dummy')(BadInitTaskHolder3)

        # No new item must have been registered
        self.assertEqual(registered, len(TaskRegistry.all()))
예제 #4
0
    def test_register_not_coroutine(self):
        """
        Trying to register a function or method that is not a coroutine must
        raise a `TypeError` exception.
        """
        err = 'not a coroutine function'
        registered = len(TaskRegistry.all())

        # A regular function cannot be registered
        with self.assertRaisesRegex(TypeError, err):
            register('dummy')(my_func)

        # A generator cannot be registered either
        with self.assertRaisesRegex(TypeError, err):
            register('dummy')(my_gen)
        with self.assertRaisesRegex(TypeError, err):
            register('dummy')(my_gen())

        # A simple method is not a valid task
        with self.assertRaisesRegex(TypeError, err):
            register('dummy-task', 'dummy')(BadInitTaskHolder3)

        # No new item must have been registered
        self.assertEqual(registered, len(TaskRegistry.all()))