]> git-server-git.apps.pok.os.sepia.ceph.com Git - s3-tests.git/commitdiff
Improving check_grants reliability
authorPragadeeswaran Sathyanarayanan <psathyan@redhat.com>
Tue, 28 Dec 2021 15:26:23 +0000 (20:56 +0530)
committerAli Maredia <amaredia@redhat.com>
Thu, 3 Mar 2022 17:53:42 +0000 (12:53 -0500)
Signed-off-by: Pragadeeswaran Sathyanarayanan <psathyan@redhat.com>
(cherry picked from commit 5f96a32045aa50da674df000f462def06308e10b)

s3tests_boto3/functional/test_s3.py

index 3e5dfa16240e4068c7e92e9a720310184dd2eba1..b9ae380fd12ac7746d548bec481f87fd592d03b1 100644 (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')