Пример #1
0
    def test_gets_builtin_path(self):
        """Ensure check job function returns the path of built-in callable."""
        from furious.job_utils import get_function_path_and_options

        path, options = get_function_path_and_options(eval)
        self.assertEqual('eval', path)
        self.assertIsNone(options)
Пример #2
0
    def test_gets_builtin_path(self):
        """Ensure check job function returns the path of built-in callable."""
        from furious.job_utils import get_function_path_and_options

        path, options = get_function_path_and_options(eval)
        self.assertEqual('eval', path)
        self.assertIsNone(options)
Пример #3
0
    def test_gets_logging_path(self):
        """Ensure check job function returns the path of logging callable."""
        from furious.job_utils import get_function_path_and_options
        import logging

        path, options = get_function_path_and_options(logging.info)
        self.assertEqual('logging.info', path)
        self.assertIsNone(options)
Пример #4
0
    def test_gets_logging_path(self):
        """Ensure check job function returns the path of logging callable."""
        from furious.job_utils import get_function_path_and_options
        import logging

        path, options = get_function_path_and_options(logging.info)
        self.assertEqual('logging.info', path)
        self.assertIsNone(options)
Пример #5
0
    def test_gets_class_method_path(self):
        """Ensure get function path returns the path of a classmethod."""
        from furious.job_utils import get_function_path_and_options

        path, options = get_function_path_and_options(
            TestGetFunctionPathAndOptions.test_gets_class_method_path)
        self.assertEqual(
            'furious.tests.test_job_utils.TestGetFunctionPathAndOptions.'
            'test_gets_class_method_path', path)
        self.assertIsNone(options)
Пример #6
0
    def test_valid_name(self):
        """Ensure check job function accepts good input."""
        from furious.job_utils import get_function_path_and_options

        good_names = ['name', 'good.name', 'gr8.name', 'ok.na_me',
                      'Name', 'Good.Name', 'Gr8.Name', 'ok.Na_me']
        for name in good_names:
            cleansed_path, options = get_function_path_and_options(name)
            self.assertEqual(name, cleansed_path)
            self.assertIsNone(options)
Пример #7
0
    def test_gets_class_method_path(self):
        """Ensure get function path returns the path of a classmethod."""
        from furious.job_utils import get_function_path_and_options

        path, options = get_function_path_and_options(
            TestGetFunctionPathAndOptions.test_gets_class_method_path)
        self.assertEqual(
            'furious.tests.test_job_utils.TestGetFunctionPathAndOptions.'
            'test_gets_class_method_path', path)
        self.assertIsNone(options)
Пример #8
0
    def _update_job(self, target, args, kwargs):
        """Specify the function this async job is to execute when run."""
        target_path, options = get_function_path_and_options(target)

        assert isinstance(args, (tuple, list)) or args is None
        assert isinstance(kwargs, dict) or kwargs is None

        if options:
            self.update_options(**options)

        self._options['job'] = (target_path, args, kwargs)
Пример #9
0
    def _update_job(self, target, args, kwargs):
        """Specify the function this async job is to execute when run."""
        target_path, options = get_function_path_and_options(target)

        assert isinstance(args, (tuple, list)) or args is None
        assert isinstance(kwargs, dict) or kwargs is None

        if options:
            self.update_options(**options)

        self._options['job'] = (target_path, args, kwargs)
Пример #10
0
    def test_gets_callable_path(self):
        """Ensure check job function returns the path of a callable."""
        from furious.job_utils import get_function_path_and_options

        def some_function():
            """This will appear to be a module-level function."""
            pass

        path, options = get_function_path_and_options(some_function)
        self.assertEqual('furious.tests.test_job_utils.some_function', path)
        self.assertIsNone(options)
Пример #11
0
    def test_gets_callable_path(self):
        """Ensure check job function returns the path of a callable."""
        from furious.job_utils import get_function_path_and_options

        def some_function():
            """This will appear to be a module-level function."""
            pass

        path, options = get_function_path_and_options(some_function)
        self.assertEqual('furious.tests.test_job_utils.some_function', path)
        self.assertIsNone(options)
Пример #12
0
    def test_valid_name(self):
        """Ensure check job function accepts good input."""
        from furious.job_utils import get_function_path_and_options

        good_names = [
            'name', 'good.name', 'gr8.name', 'ok.na_me', 'Name', 'Good.Name',
            'Gr8.Name', 'ok.Na_me'
        ]
        for name in good_names:
            cleansed_path, options = get_function_path_and_options(name)
            self.assertEqual(name, cleansed_path)
            self.assertIsNone(options)
Пример #13
0
    def test_gets_default_options(self):
        """Ensure check job function returns options off a callable."""
        from furious. async import defaults
        from furious.job_utils import get_function_path_and_options

        default_options = {'test': 'options'}

        @defaults(**default_options)
        def method_with_options():
            """This will appear to be a module-level function."""
            pass

        path, options = get_function_path_and_options(method_with_options)
        self.assertEqual('furious.tests.test_job_utils.method_with_options',
                         path)
        self.assertEqual(default_options, options)
Пример #14
0
    def test_gets_default_options(self):
        """Ensure check job function returns options off a callable."""
        from furious.async import defaults
        from furious.job_utils import get_function_path_and_options

        default_options = {
            'test': 'options'
        }

        @defaults(**default_options)
        def method_with_options():
            """This will appear to be a module-level function."""
            pass

        path, options = get_function_path_and_options(method_with_options)
        self.assertEqual('furious.tests.test_job_utils.method_with_options',
                         path)
        self.assertEqual(default_options, options)
Пример #15
0
    def test_gets_default_options_from_path(self):
        """Ensure check job function returns options from a path object.

        NOTE: This is just a concept of how this would work.
        """
        from furious. async import FunctionPath
        from furious.job_utils import get_function_path_and_options

        default_options = {'test': 'options'}

        function_path = FunctionPath("this.is.a.test.function")
        function_path.update_options(default_options.copy())

        # OR maybe:
        # function_path = FunctionPath(
        #     "this.is.a.test.function", default_options.copy())

        path, options = get_function_path_and_options(function_path)
        self.assertEqual('this.is.a.test.function', path)
        self.assertEqual(default_options, options)
Пример #16
0
    def test_gets_default_options_from_path(self):
        """Ensure check job function returns options from a path object.

        NOTE: This is just a concept of how this would work.
        """
        from furious.async import FunctionPath
        from furious.job_utils import get_function_path_and_options

        default_options = {
            'test': 'options'
        }

        function_path = FunctionPath("this.is.a.test.function")
        function_path.update_options(default_options.copy())

        # OR maybe:
        # function_path = FunctionPath(
        #     "this.is.a.test.function", default_options.copy())

        path, options = get_function_path_and_options(function_path)
        self.assertEqual('this.is.a.test.function', path)
        self.assertEqual(default_options, options)