summaryrefslogtreecommitdiffstats
path: root/test/unit/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/__init__.py')
-rw-r--r--test/unit/__init__.py50
1 files changed, 38 insertions, 12 deletions
diff --git a/test/unit/__init__.py b/test/unit/__init__.py
index 76e09c1..fa46715 100644
--- a/test/unit/__init__.py
+++ b/test/unit/__init__.py
@@ -35,13 +35,6 @@ import logging.handlers
from httplib import HTTPException
-class DebugLogger(object):
- """A simple stdout logger for eventlet wsgi."""
-
- def write(self, *args):
- print args
-
-
class FakeRing(object):
def __init__(self, replicas=3, max_more_nodes=0):
@@ -254,6 +247,7 @@ class FakeLogger(logging.Logger):
self.level = logging.NOTSET
if 'facility' in kwargs:
self.facility = kwargs['facility']
+ self.statsd_client = None
def _clear(self):
self.log_dict = defaultdict(list)
@@ -276,10 +270,12 @@ class FakeLogger(logging.Logger):
error = _store_and_log_in('error')
info = _store_and_log_in('info')
warning = _store_and_log_in('warning')
+ warn = _store_and_log_in('warning')
debug = _store_and_log_in('debug')
def exception(self, *args, **kwargs):
- self.log_dict['exception'].append((args, kwargs, str(exc_info()[1])))
+ self.log_dict['exception'].append((args, kwargs,
+ str(sys.exc_info()[1])))
print 'FakeLogger Exception: %s' % self.log_dict
# mock out the StatsD logging methods:
@@ -323,7 +319,7 @@ class FakeLogger(logging.Logger):
def emit(self, record):
pass
- def handle(self, record):
+ def _handle(self, record):
try:
line = record.getMessage()
except TypeError:
@@ -332,6 +328,9 @@ class FakeLogger(logging.Logger):
raise
self.lines_dict[record.levelno].append(line)
+ def handle(self, record):
+ self._handle(record)
+
def flush(self):
pass
@@ -339,6 +338,26 @@ class FakeLogger(logging.Logger):
pass
+class DebugLogger(FakeLogger):
+ """A simple stdout logging version of FakeLogger"""
+
+ def __init__(self, *args, **kwargs):
+ FakeLogger.__init__(self, *args, **kwargs)
+ self.formatter = logging.Formatter("%(server)s: %(message)s")
+
+ def handle(self, record):
+ self._handle(record)
+ print self.formatter.format(record)
+
+ def write(self, *args):
+ print args
+
+
+def debug_logger(name='test'):
+ """get a named adapted debug logger"""
+ return LogAdapter(DebugLogger(), name)
+
+
original_syslog_handler = logging.handlers.SysLogHandler
@@ -446,6 +465,8 @@ def fake_http_connect(*code_iter, **kwargs):
self.body = body
self.headers = headers or {}
self.timestamp = timestamp
+ if kwargs.get('slow') and isinstance(kwargs['slow'], list):
+ kwargs['slow'][0] -= 1
def getresponse(self):
if kwargs.get('raise_exc'):
@@ -489,13 +510,18 @@ def fake_http_connect(*code_iter, **kwargs):
headers['x-container-timestamp'] = '1'
except StopIteration:
pass
- if 'slow' in kwargs:
+ if self.am_slow():
headers['content-length'] = '4'
headers.update(self.headers)
return headers.items()
+ def am_slow(self):
+ if kwargs.get('slow') and isinstance(kwargs['slow'], list):
+ return kwargs['slow'][0] >= 0
+ return bool(kwargs.get('slow'))
+
def read(self, amt=None):
- if 'slow' in kwargs:
+ if self.am_slow():
if self.sent < 4:
self.sent += 1
sleep(0.1)
@@ -505,7 +531,7 @@ def fake_http_connect(*code_iter, **kwargs):
return rv
def send(self, amt=None):
- if 'slow' in kwargs:
+ if self.am_slow():
if self.received < 4:
self.received += 1
sleep(0.1)