Example #1
0
    def test_post_aggregators(self):
        backend = yield self.mk_backend()
        metrics = GraphiteMetrics(backend, 'owner-1')

        for agg in GraphiteMetrics.aggregators:
            res = yield metrics.fire(**{'foo.%s' % agg: 1.3})
            [metric] = res
            self.assertEqual(metric['aggregator'], agg)
Example #2
0
    def test_post_aggregators(self):
        backend = yield self.mk_backend()
        metrics = GraphiteMetrics(backend, 'owner-1')

        for agg in GraphiteMetrics.aggregators:
            res = yield metrics.fire(**{'foo.%s' % agg: 1.3})
            [metric] = res
            self.assertEqual(metric['aggregator'], agg)
Example #3
0
    def test_post_request_bad_aggregator(self):
        backend = yield self.mk_backend()
        metrics = GraphiteMetrics(backend, 'owner-1')

        try:
            yield metrics.fire(**{'foo': 1.2})
        except BadMetricsQueryError as e:
            self.assertEqual(str(e),
                             "Aggregator 'foo' is not a valid aggregator")
        else:
            self.fail("BadMetricQueryError not raised")
Example #4
0
    def test_post_request_bad_aggregator(self):
        backend = yield self.mk_backend()
        metrics = GraphiteMetrics(backend, 'owner-1')

        try:
            yield metrics.fire(**{'foo': 1.2})
        except BadMetricsQueryError as e:
            self.assertEqual(
                str(e), "Aggregator 'foo' is not a valid aggregator")
        else:
            self.fail("BadMetricQueryError not raised")
Example #5
0
    def test_post_request_bad_value(self):
        backend = yield self.mk_backend()
        metrics = GraphiteMetrics(backend, 'owner-1')

        try:
            yield metrics.fire(**{'foo.avg': 'bar'})
        except BadMetricsQueryError as e:
            self.assertEqual(
                str(e), "'bar' is not a valid metric value,should be a "
                "floating point number")
        else:
            self.fail("BadMetricQueryError not raised")
Example #6
0
    def test_post_request_single(self):
        backend = yield self.mk_backend()
        metrics = GraphiteMetrics(backend, 'owner-1')

        res = yield metrics.fire(**{'foo.avg': 1.7})
        [metric] = res

        self.assertEqual(metric, {
            'name': 'foo.avg',
            'value': 1.7,
            'aggregator': 'avg',
        })
Example #7
0
    def test_post_request_bad_value(self):
        backend = yield self.mk_backend()
        metrics = GraphiteMetrics(backend, 'owner-1')

        try:
            yield metrics.fire(**{'foo.avg': 'bar'})
        except BadMetricsQueryError as e:
            self.assertEqual(
                str(e), "'bar' is not a valid metric value,should be a "
                "floating point number")
        else:
            self.fail("BadMetricQueryError not raised")
Example #8
0
    def test_post_request_single(self):
        backend = yield self.mk_backend()
        metrics = GraphiteMetrics(backend, 'owner-1')

        res = yield metrics.fire(**{'foo.avg': 1.7})
        [metric] = res

        self.assertEqual(metric, {
            'name': 'foo.avg',
            'value': 1.7,
            'aggregator': 'avg',
        })
Example #9
0
    def test_post_request_multiple(self):
        backend = yield self.mk_backend()
        metrics = GraphiteMetrics(backend, 'owner-1')

        res = yield metrics.fire(**{'foo.avg': 1.2, 'oof.avg': 2.7})

        self.assertEqual(sorted(res), sorted([{
            'name': 'foo.avg',
            'value': 1.2,
            'aggregator': 'avg',
        }, {
            'name': 'oof.avg',
            'value': 2.7,
            'aggregator': 'avg',
        }]))
Example #10
0
    def test_post_request_multiple(self):
        backend = yield self.mk_backend()
        metrics = GraphiteMetrics(backend, 'owner-1')

        res = yield metrics.fire(**{'foo.avg': 1.2, 'oof.avg': 2.7})

        self.assertEqual(
            sorted(res),
            sorted([{
                'name': 'foo.avg',
                'value': 1.2,
                'aggregator': 'avg',
            }, {
                'name': 'oof.avg',
                'value': 2.7,
                'aggregator': 'avg',
            }]))