diff options
author | Rohit Jaiswal <rohit.jaiswal@hp.com> | 2015-08-26 17:06:12 +0000 |
---|---|---|
committer | Rohit Jaiswal <rohit.jaiswal@hp.com> | 2015-08-28 06:13:29 +0000 |
commit | 41e869a311e39f25044f4200c15501c17fe4a05e (patch) | |
tree | e837dfc392a495fb4851be055eb4c5e24facf214 /ceilometermiddleware/tests/test_swift.py | |
parent | 45fc416606712f4030abdbd6dd153e7d6318a9e0 (diff) | |
download | ceilometermiddleware-41e869a311e39f25044f4200c15501c17fe4a05e.tar.gz |
Fixes parsing req path for account HEAD/GET
When path is of the form /v1/AUTH_xyz, the
path parsing expects 3 tokens, this fix retries
parsing to expect 2 tokens, so that operations at
an account level can be metered.
Change-Id: I5eb83e39e7902b9410487c98295f12640aeef140
Closes-Bug: 1488682
Diffstat (limited to 'ceilometermiddleware/tests/test_swift.py')
-rw-r--r-- | ceilometermiddleware/tests/test_swift.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/ceilometermiddleware/tests/test_swift.py b/ceilometermiddleware/tests/test_swift.py index 41aaf58..2ca0be9 100644 --- a/ceilometermiddleware/tests/test_swift.py +++ b/ceilometermiddleware/tests/test_swift.py @@ -365,3 +365,19 @@ class TestSwift(tests_base.TestCase): list(app(req.environ, self.start_response)) data = notify.call_args_list[0][0] self.assertIsNot(0, len(data[2]['target']['id'])) + + def test_head_account(self): + app = swift.Swift(FakeApp(body=['']), {}) + req = FakeRequest('/1.0/account', + environ={'REQUEST_METHOD': 'HEAD'}) + with mock.patch('oslo_messaging.Notifier.info') as notify: + list(app(req.environ, self.start_response)) + self.assertEqual(1, len(notify.call_args_list)) + data = notify.call_args_list[0][0] + self.assertEqual('objectstore.http.request', data[1]) + self.assertIsNone(data[2].get('measurements')) + metadata = data[2]['target']['metadata'] + self.assertEqual('1.0', metadata['version']) + self.assertIsNone(metadata['container']) + self.assertIsNone(metadata['object']) + self.assertEqual('head', data[2]['target']['action']) |