s3api: extra unit test assertion for statsd metric prefix
An s3api bug that mutated statsd prefixes was previously fixed in [1]. The FakeStatsdClient subsequently introduced in [2] enables a more targeted assertion of the statsd metric name emitted by s3api. [1] Related-Change: Ia89485bae8f92f4f3d9f5375cab8ff08f70a11a7 [2] Related-Change: I9cdf395e85ab559c2b67b0617f898ad2d6a870d4 Change-Id: Ic2e698f3f62c2ee1f98291c4a7a4e37519471fcd
This commit is contained in:
parent
00bfc425ce
commit
20dc888602
@ -1,3 +1,4 @@
|
||||
|
||||
# Copyright (c) 2011-2014 OpenStack Foundation.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@ -37,7 +38,7 @@ from swift.common.utils import md5, get_logger
|
||||
from keystonemiddleware.auth_token import AuthProtocol
|
||||
from keystoneauth1.access import AccessInfoV2
|
||||
|
||||
from test.debug_logger import debug_logger
|
||||
from test.debug_logger import debug_logger, FakeStatsdClient
|
||||
from test.unit.common.middleware.s3api import S3ApiTestCase
|
||||
from test.unit.common.middleware.s3api.helpers import FakeSwift
|
||||
from test.unit.common.middleware.s3api.test_s3token import \
|
||||
@ -224,13 +225,19 @@ class TestS3ApiMiddleware(S3ApiTestCase):
|
||||
self.assertEqual('swift', s3api.logger.server)
|
||||
self.assertIsNone(s3api.logger.logger.statsd_client)
|
||||
|
||||
s3api = S3ApiMiddleware(None, {'log_name': 'proxy-server',
|
||||
'log_statsd_host': '1.2.3.4'})
|
||||
with mock.patch('swift.common.utils.StatsdClient', FakeStatsdClient):
|
||||
s3api = S3ApiMiddleware(None, {'log_name': 'proxy-server',
|
||||
'log_statsd_host': '1.2.3.4'})
|
||||
s3api.logger.increment('test-metric')
|
||||
self.assertEqual('s3api', s3api.logger.name)
|
||||
self.assertEqual('s3api', s3api.logger.logger.name)
|
||||
self.assertIsNot(s3api.logger.logger, proxy_logger)
|
||||
self.assertEqual('proxy-server', s3api.logger.server)
|
||||
self.assertEqual('s3api.', s3api.logger.logger.statsd_client._prefix)
|
||||
client = s3api.logger.logger.statsd_client
|
||||
self.assertEqual({'test-metric': 1}, client.get_increment_counts())
|
||||
self.assertEqual(1, len(client.sendto_calls))
|
||||
self.assertEqual(b's3api.test-metric:1|c', client.sendto_calls[0][0])
|
||||
|
||||
def test_non_s3_request_passthrough(self):
|
||||
req = Request.blank('/something')
|
||||
|
Loading…
Reference in New Issue
Block a user