summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ceilometermiddleware/swift.py2
-rw-r--r--ceilometermiddleware/tests/test_swift.py13
2 files changed, 13 insertions, 2 deletions
diff --git a/ceilometermiddleware/swift.py b/ceilometermiddleware/swift.py
index 925a879..ba2db38 100644
--- a/ceilometermiddleware/swift.py
+++ b/ceilometermiddleware/swift.py
@@ -216,7 +216,7 @@ class Swift(object):
# build object store details
target = cadf_resource.Resource(
typeURI='service/storage/object',
- id=account.partition(self.reseller_prefix)[2])
+ id=account.partition(self.reseller_prefix)[2] or path)
target.metadata = resource_metadata
target.action = method.lower()
diff --git a/ceilometermiddleware/tests/test_swift.py b/ceilometermiddleware/tests/test_swift.py
index 18f6977..2e7287a 100644
--- a/ceilometermiddleware/tests/test_swift.py
+++ b/ceilometermiddleware/tests/test_swift.py
@@ -317,7 +317,7 @@ class TestSwift(tests_base.TestCase):
data = notify.call_args_list[0][0]
self.assertEqual("account", data[2]['target']['id'])
- def test_invalid_reseller_prefix(self):
+ def test_incomplete_reseller_prefix(self):
# Custom reseller prefix set, but without trailing underscore
app = swift.Swift(
FakeApp(), {'reseller_prefix': 'CUSTOM'})
@@ -329,6 +329,17 @@ class TestSwift(tests_base.TestCase):
data = notify.call_args_list[0][0]
self.assertEqual("account", data[2]['target']['id'])
+ def test_invalid_reseller_prefix(self):
+ app = swift.Swift(
+ FakeApp(), {'reseller_prefix': 'AUTH_'})
+ req = FakeRequest('/1.0/admin/bucket',
+ environ={'REQUEST_METHOD': 'GET'})
+ 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("1.0/admin/bucket", data[2]['target']['id'])
+
def test_ignore_requests_from_project(self):
app = swift.Swift(FakeApp(), {'ignore_projects': 'skip_proj'})