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