From 74a6a81ae9d2c92575f4be531aa88fbd5dae9819 Mon Sep 17 00:00:00 2001 From: Steve Martinelli Date: Mon, 14 Dec 2015 03:30:00 -0500 Subject: [PATCH] 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 --- openstackclient/api/object_store_v1.py | 2 +- openstackclient/tests/api/test_object_store_v1.py | 5 ++++- releasenotes/notes/bug_1525805-122e6ce0c3cd4945.yaml | 5 +++++ 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 releasenotes/notes/bug_1525805-122e6ce0c3cd4945.yaml diff --git a/openstackclient/api/object_store_v1.py b/openstackclient/api/object_store_v1.py index ab75a78c2..d9f130bce 100644 --- a/openstackclient/api/object_store_v1.py +++ b/openstackclient/api/object_store_v1.py @@ -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 diff --git a/openstackclient/tests/api/test_object_store_v1.py b/openstackclient/tests/api/test_object_store_v1.py index 992bf2617..8cc3a9271 100644 --- a/openstackclient/tests/api/test_object_store_v1.py +++ b/openstackclient/tests/api/test_object_store_v1.py @@ -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', diff --git a/releasenotes/notes/bug_1525805-122e6ce0c3cd4945.yaml b/releasenotes/notes/bug_1525805-122e6ce0c3cd4945.yaml new file mode 100644 index 000000000..444b63781 --- /dev/null +++ b/releasenotes/notes/bug_1525805-122e6ce0c3cd4945.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Fix case sensitivity when showing object-store properties. + [Bug `1525805 `_]