tests: provide FakeLabeledStatsdClient for debug
Drive by: FakeStatsdClient.send_calls was not used and is removed. Change-Id: Ib8bfff8d46ae81b017aff05aad80afe421e6828a
This commit is contained in:
@@ -44,12 +44,11 @@ class RecordingSocket(object):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
class FakeStatsdClient(statsd_client.StatsdClient):
|
class BaseFakeStatsdClient:
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self):
|
||||||
super(FakeStatsdClient, self).__init__(*args, **kwargs)
|
|
||||||
self.clear()
|
self.clear()
|
||||||
|
|
||||||
# Capture then call parent pubic stat functions
|
# Capture then call parent public stat functions
|
||||||
self.update_stats = self._capture("update_stats")
|
self.update_stats = self._capture("update_stats")
|
||||||
self.increment = self._capture("increment")
|
self.increment = self._capture("increment")
|
||||||
self.decrement = self._capture("decrement")
|
self.decrement = self._capture("decrement")
|
||||||
@@ -58,7 +57,9 @@ class FakeStatsdClient(statsd_client.StatsdClient):
|
|||||||
self.transfer_rate = self._capture("transfer_rate")
|
self.transfer_rate = self._capture("transfer_rate")
|
||||||
|
|
||||||
def _capture(self, func_name):
|
def _capture(self, func_name):
|
||||||
func = getattr(super(FakeStatsdClient, self), func_name)
|
# this works in subclasses because super() searches the next inherited
|
||||||
|
# class after BaseFakeStatsdClient i.e. the real StatsdClient class
|
||||||
|
func = getattr(super(BaseFakeStatsdClient, self), func_name)
|
||||||
|
|
||||||
def wrapper(*args, **kwargs):
|
def wrapper(*args, **kwargs):
|
||||||
self.calls[func_name].append((args, kwargs))
|
self.calls[func_name].append((args, kwargs))
|
||||||
@@ -71,12 +72,7 @@ class FakeStatsdClient(statsd_client.StatsdClient):
|
|||||||
def _open_socket(self):
|
def _open_socket(self):
|
||||||
return self.recording_socket
|
return self.recording_socket
|
||||||
|
|
||||||
def _send(self, *args, **kwargs):
|
|
||||||
self.send_calls.append((args, kwargs))
|
|
||||||
super(FakeStatsdClient, self)._send(*args, **kwargs)
|
|
||||||
|
|
||||||
def clear(self):
|
def clear(self):
|
||||||
self.send_calls = []
|
|
||||||
self.calls = defaultdict(list)
|
self.calls = defaultdict(list)
|
||||||
self.recording_socket = RecordingSocket()
|
self.recording_socket = RecordingSocket()
|
||||||
|
|
||||||
@@ -108,6 +104,19 @@ class FakeStatsdClient(statsd_client.StatsdClient):
|
|||||||
return dict(counts)
|
return dict(counts)
|
||||||
|
|
||||||
|
|
||||||
|
class FakeStatsdClient(BaseFakeStatsdClient, statsd_client.StatsdClient):
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super(FakeStatsdClient, self).__init__()
|
||||||
|
super(BaseFakeStatsdClient, self).__init__(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
class FakeLabeledStatsdClient(BaseFakeStatsdClient,
|
||||||
|
statsd_client.LabeledStatsdClient):
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super(FakeLabeledStatsdClient, self).__init__()
|
||||||
|
super(BaseFakeStatsdClient, self).__init__(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class CaptureLog(object):
|
class CaptureLog(object):
|
||||||
"""
|
"""
|
||||||
Captures log records passed to the ``handle`` method and provides accessor
|
Captures log records passed to the ``handle`` method and provides accessor
|
||||||
@@ -278,6 +287,20 @@ def debug_logger(name='test', log_route=None):
|
|||||||
return adapted_logger
|
return adapted_logger
|
||||||
|
|
||||||
|
|
||||||
|
def debug_statsd_client(conf):
|
||||||
|
"""get a configured statsd client"""
|
||||||
|
with mock.patch('swift.common.statsd_client.StatsdClient',
|
||||||
|
FakeStatsdClient):
|
||||||
|
return statsd_client.get_statsd_client(conf)
|
||||||
|
|
||||||
|
|
||||||
|
def debug_labeled_statsd_client(conf):
|
||||||
|
"""get a configured labeled statsd client"""
|
||||||
|
with mock.patch('swift.common.statsd_client.LabeledStatsdClient',
|
||||||
|
FakeLabeledStatsdClient):
|
||||||
|
return statsd_client.get_labeled_statsd_client(conf)
|
||||||
|
|
||||||
|
|
||||||
class ForwardingLogHandler(logging.NullHandler):
|
class ForwardingLogHandler(logging.NullHandler):
|
||||||
"""
|
"""
|
||||||
Provides a LogHandler implementation that simply forwards filtered records
|
Provides a LogHandler implementation that simply forwards filtered records
|
||||||
|
|||||||
Reference in New Issue
Block a user