summaryrefslogtreecommitdiff
path: root/tests/test_web.py
diff options
context:
space:
mode:
authorDina Belova <dbelova@mirantis.com>2015-11-11 15:51:01 +0300
committerDina Belova <dbelova@mirantis.com>2015-11-12 09:17:45 +0000
commitcabf79d44c77a9259481cabfa888e99730fb40b0 (patch)
tree5a4c5f05e5e7b50a349241f378a88fd8e8046051 /tests/test_web.py
parent9c18d7ef6b886a9e320937117c0b1e57b154eeeb (diff)
downloadosprofiler-0.3.1.tar.gz
Make api-paste.ini config optional0.3.1
* osprofiler.web.WsgiMiddleware now treats hmac_keys as optional arg * add hmac_keys argument to enable() method to use it later in OpenStack services setup Change-Id: Ib544d2732c7307bc5405b4336eda80120d2f43af
Diffstat (limited to 'tests/test_web.py')
-rw-r--r--tests/test_web.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/test_web.py b/tests/test_web.py
index 578559c..94ab5c4 100644
--- a/tests/test_web.py
+++ b/tests/test_web.py
@@ -270,6 +270,33 @@ class WebMiddlewareTestCase(test.TestCase):
self.assertEqual("yeah!", middleware(request))
self.assertEqual(mock_profiler_init.call_count, 0)
+ @mock.patch("osprofiler.web.profiler.init")
+ def test_wsgi_middleware_enable_via_python(self, mock_profiler_init):
+ request = mock.MagicMock()
+ request.get_response.return_value = "yeah!"
+ request.url = "someurl"
+ request.host_url = "someurl"
+ request.path = "path"
+ request.query_string = "query"
+ request.method = "method"
+ request.scheme = "scheme"
+ hmac_key = 'super_secret_key2'
+
+ pack = utils.signed_pack({"base_id": "1", "parent_id": "2"}, hmac_key)
+ request.headers = {
+ "a": "1",
+ "b": "2",
+ "X-Trace-Info": pack[0],
+ "X-Trace-HMAC": pack[1]
+ }
+
+ web.enable('super_secret_key1,super_secret_key2')
+ middleware = web.WsgiMiddleware("app", enabled=True)
+ self.assertEqual("yeah!", middleware(request))
+ mock_profiler_init.assert_called_once_with(hmac_key=hmac_key,
+ base_id="1",
+ parent_id="2")
+
def test_disable(self):
web.disable()
self.assertTrue(web._DISABLED)