Improving check_grants reliability

Signed-off-by: Pragadeeswaran Sathyanarayanan <psathyan@redhat.com>
This commit is contained in:
Pragadeeswaran Sathyanarayanan 2021-12-28 20:56:23 +05:30
parent 9a6a1e9f19
commit 5f96a32045
No known key found for this signature in database
GPG key ID: E640F159CDA35D8C

View file

@ -4490,12 +4490,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)
@ -4507,6 +4514,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')