def test_callback_args(self):
        """
        Test whether all required arguments are passed in kwargs.
        """
        if self.check_skip():
            return

        def my_callback(*args, **kwargs):
            required_args = ('filename', 'cf', 'start', 'end', 'step')
            for k in required_args:
                self.assertIn(k, kwargs)

            items = int((kwargs['end'] - kwargs['start']) / kwargs['step'])
            return {
                'start': kwargs['start'],
                'step': 300,
                'data': {
                    'a': [math.sin(x / 200) for x in range(0, items)],
                    'b': [math.cos(x / 200) for x in range(10, items)],
                    'c': [math.sin(x / 100) for x in range(100, items)],
                }
            }

        rrdtool.register_fetch_cb(my_callback)
        rrdtool.graphv(*self.graphv_args)
Example #2
0
    def test_callback_args(self):
        """
        Test whether all required arguments are passed in kwargs.
        """
        if self.check_skip():
            return

        def my_callback(*args, **kwargs):
            required_args = ('filename', 'cf', 'start', 'end', 'step')
            for k in required_args:
                self.assertIn(k, kwargs)

            items = int((kwargs['end'] - kwargs['start']) / kwargs['step'])
            return {
                'start': kwargs['start'],
                'step': 300,
                'data': {
                    'a': [math.sin(x / 200) for x in range(0, items)],
                    'b': [math.cos(x / 200) for x in range(10, items)],
                    'c': [math.sin(x / 100) for x in range(100, items)],
                }
            }

        rrdtool.register_fetch_cb(my_callback)
        rrdtool.graphv(*self.graphv_args)
Example #3
0
    def test_callback_return_type(self):
        """
        Test whether callback return type is checked correctly.
        The callback must always return a dict.
        """
        def my_callback(*args, **kwargs):
            return None

        rrdtool.register_fetch_cb(my_callback)

        self.assertRaisesRegex(
            rrdtool.OperationalError,
            'expected callback method to be a dict',
            rrdtool.graphv,
            self.graphv_args
        )
    def test_callback_return_type(self):
        """
        Test whether callback return type is checked correctly.
        The callback must always return a dict.
        """
        if self.check_skip():
            return

        def my_callback(*args, **kwargs):
            return None

        rrdtool.register_fetch_cb(my_callback)

        # TestCase.assertRaisesRegexp was renamed in Python 3.2
        if sys.version_info >= (3, 2):
            assert_raises_regex = self.assertRaisesRegex
        else:
            assert_raises_regex = self.assertRaisesRegexp

        assert_raises_regex(rrdtool.OperationalError,
                            'expected callback method to be a dict',
                            rrdtool.graphv, self.graphv_args)