Make TastyPieRequestTimingMiddleware fallback to GraphiteRequestTimingMiddleware

This commit is contained in:
Mathieu Pillard 2013-12-19 16:52:16 +01:00
parent 9ffe094703
commit 2b4bd11273
3 changed files with 28 additions and 1 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
*.py[co]
build
dist
mydatabase

View File

@ -59,4 +59,5 @@ class TastyPieRequestTimingMiddleware(GraphiteRequestTimingMiddleware):
request._view_name = view_kwargs['resource_name']
request._start_time = time.time()
except (AttributeError, KeyError):
pass
super(TastyPieRequestTimingMiddleware, self).process_view(request,
view_func, view_args, view_kwargs)

View File

@ -113,6 +113,31 @@ class TestTiming(unittest.TestCase):
for expected, (args, kwargs) in zip(names, timing.call_args_list):
eq_(expected, args[0])
def test_request_timing_tastypie(self, timing):
func = lambda x: x
gmw = middleware.TastyPieRequestTimingMiddleware()
gmw.process_view(self.req, func, tuple(), {'api_name': 'my_api_name',
'resource_name': 'my_resource_name'})
gmw.process_response(self.req, self.res)
eq_(timing.call_count, 3)
names = ['view.my_api_name.my_resource_name.GET',
'view.my_api_name.GET',
'view.GET']
for expected, (args, kwargs) in zip(names, timing.call_args_list):
eq_(expected, args[0])
def test_request_timing_tastypie_fallback(self, timing):
func = lambda x: x
gmw = middleware.TastyPieRequestTimingMiddleware()
gmw.process_view(self.req, func, tuple(), dict())
gmw.process_response(self.req, self.res)
eq_(timing.call_count, 3)
names = ['view.%s.%s.GET' % (func.__module__, func.__name__),
'view.%s.GET' % func.__module__,
'view.GET']
for expected, (args, kwargs) in zip(names, timing.call_args_list):
eq_(expected, args[0])
class TestClient(unittest.TestCase):