when fetching object store properties use lower()

sometimes properties within object store concepts are stored with
mixed case depending on the client used to store said properties.

when retrieving properties to 'show' the user, always call lower()
on the property in question when comparing it to the reserved
values of the swift API.

Change-Id: I97ffc715788ca3cd021413124b6945a399465c99
Closes-Bug: 1525805
This commit is contained in:
Steve Martinelli 2015-12-14 03:30:00 -05:00
parent 1ee5191cec
commit 74a6a81ae9
3 changed files with 10 additions and 2 deletions

View File

@ -570,6 +570,6 @@ class APIv1(api.BaseAPI):
# OSC commands
properties = {}
for k, v in six.iteritems(headers):
if k.startswith(header_tag):
if k.lower().startswith(header_tag):
properties[k[len(header_tag):]] = v
return properties

View File

@ -157,6 +157,7 @@ class TestContainer(TestObjectAPIv1):
'container': 'qaz',
'object_count': '1',
'bytes_used': '577',
'properties': {'Owner': FAKE_ACCOUNT},
}
self.requests_mock.register_uri(
'HEAD',
@ -309,6 +310,7 @@ class TestObject(TestObjectAPIv1):
'etag': 'qaz',
'x-container-meta-owner': FAKE_ACCOUNT,
'x-object-meta-wife': 'Wilma',
'x-object-meta-Husband': 'fred',
'x-tra-header': 'yabba-dabba-do',
}
resp = {
@ -319,7 +321,8 @@ class TestObject(TestObjectAPIv1):
'content-length': '577',
'last-modified': '20130101',
'etag': 'qaz',
'properties': {'wife': 'Wilma'},
'properties': {'wife': 'Wilma',
'Husband': 'fred'},
}
self.requests_mock.register_uri(
'HEAD',

View File

@ -0,0 +1,5 @@
---
fixes:
- |
Fix case sensitivity when showing object-store properties.
[Bug `1525805 <https://bugs.launchpad.net/bugs/1525805>`_]