Fix account metadata test for Ceph RadosGW Squid release
The test_list_no_account_metadata test was failing with Ceph RadosGW
19.2.x (Squid release) because it returns X-Account-Meta-Quota-Containers
as a system-generated header.
This change filters out the specific x-account-meta-quota-containers
header when checking for user-defined account metadata, allowing the
test to pass with both Swift and Ceph RadosGW backends while still
validating that no user-defined metadata headers are present.
Related ceph commit: 55f196cb47
Change-Id: Idbf22909b389190f7365bb3e54fd77d69df0c789
Signed-off-by: Maximilian Stinsky <maximilian.stinsky-damke@wiit.cloud>
This commit is contained in:
@@ -307,7 +307,18 @@ class AccountTest(base.BaseObjectTest):
|
||||
"""Test listing account metadata for account without metadata"""
|
||||
resp, _ = self.account_client.list_account_metadata()
|
||||
self.assertHeaders(resp, 'Account', 'HEAD')
|
||||
self.assertNotIn('x-account-meta-', str(resp))
|
||||
# Filter out X-Account-Meta-Quota-Containers header which is
|
||||
# returned by Ceph RadosGW (Squid release and later) as a
|
||||
# system-generated header. This is a RadosGW extension not present
|
||||
# in Swift.
|
||||
# See: https://github.com/ceph/ceph/commit/55f196cb47c9a452fc718ba9a58be7f68bb7a54a # noqa: E501
|
||||
user_metadata_headers = [k for k in resp.keys()
|
||||
if k.startswith('x-account-meta-') and
|
||||
k.lower() !=
|
||||
'x-account-meta-quota-containers']
|
||||
self.assertEmpty(user_metadata_headers,
|
||||
'Found user-defined account metadata headers: %s' %
|
||||
user_metadata_headers)
|
||||
|
||||
@decorators.idempotent_id('e2a08b5f-3115-4768-a3ee-d4287acd6c08')
|
||||
def test_update_account_metadata_with_create_metadata(self):
|
||||
|
||||
Reference in New Issue
Block a user