Improving check_grants reliability

Signed-off-by: Pragadeeswaran Sathyanarayanan <psathyan@redhat.com>
(cherry picked from commit 5f96a32045)
This commit is contained in:
Pragadeeswaran Sathyanarayanan 2021-12-28 20:56:23 +05:30 committed by Ali Maredia
parent 3c52fa8bb9
commit e60dda8e1d

View file

@ -4500,12 +4500,19 @@ def check_access_denied(fn, *args, **kwargs):
status = _get_status(e.response)
eq(status, 403)
def check_grants(got, want):
"""
Check that grants list in got matches the dictionaries in want,
in any order.
"""
eq(len(got), len(want))
# There are instances when got does not match due the order of item.
if got[0]["Grantee"].get("DisplayName"):
got.sort(key=lambda x: x["Grantee"].get("DisplayName"))
want.sort(key=lambda x: x["DisplayName"])
for g, w in zip(got, want):
w = dict(w)
g = dict(g)
@ -4517,6 +4524,7 @@ def check_grants(got, want):
eq(g['Grantee'].pop('EmailAddress', None), w['EmailAddress'])
eq(g, {'Grantee': {}})
@attr(resource='bucket')
@attr(method='get')
@attr(operation='default acl')