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 d8cf627b69
commit 57cf91a748

View file

@ -4540,12 +4540,19 @@ def check_access_denied(fn, *args, **kwargs):
status = _get_status(e.response) status = _get_status(e.response)
eq(status, 403) eq(status, 403)
def check_grants(got, want): def check_grants(got, want):
""" """
Check that grants list in got matches the dictionaries in want, Check that grants list in got matches the dictionaries in want,
in any order. in any order.
""" """
eq(len(got), len(want)) 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): for g, w in zip(got, want):
w = dict(w) w = dict(w)
g = dict(g) g = dict(g)
@ -4557,6 +4564,7 @@ def check_grants(got, want):
eq(g['Grantee'].pop('EmailAddress', None), w['EmailAddress']) eq(g['Grantee'].pop('EmailAddress', None), w['EmailAddress'])
eq(g, {'Grantee': {}}) eq(g, {'Grantee': {}})
@attr(resource='bucket') @attr(resource='bucket')
@attr(method='get') @attr(method='get')
@attr(operation='default acl') @attr(operation='default acl')