diff test/test_liveserver.py @ 7983:dd229bbdd32d

issue 2551353 - add roundup-classhelper Add test for rest/data/user/roles endpoint. Fix allow header returned from endpoint to allow GET only.
author John Rouillard <rouilj@ieee.org>
date Wed, 22 May 2024 19:36:00 -0400
parents 22354d7fc94a
children 60c98a8a23bd
line wrap: on
line diff
--- a/test/test_liveserver.py	Wed May 22 19:09:26 2024 -0400
+++ b/test/test_liveserver.py	Wed May 22 19:36:00 2024 -0400
@@ -684,6 +684,30 @@
 
         self.assertEqual(f.status_code, 404)
 
+    def test_rest_endpoint_user_roles(self):
+        # use basic auth for rest endpoint
+        f = requests.get(self.url_base() + '/rest/data/user/roles',
+                         auth=('admin', 'sekrit'),
+                         headers = {'content-type': "",
+                                    'Origin': "http://localhost:9001",
+                         })
+        print(f.status_code)
+        print(f.headers)
+
+        self.assertEqual(f.status_code, 200)
+        expected = { 'Access-Control-Expose-Headers': 'X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-RateLimit-Limit-Period, Retry-After, Sunset, Allow',
+                     'Access-Control-Allow-Credentials': 'true',
+                     'Allow': 'GET',
+        }
+        # use dict comprehension to remove fields like date,
+        # content-length etc. from f.headers.
+        self.assertDictEqual({ key: value for (key, value) in f.headers.items() if key in expected }, expected)
+
+        content = json.loads(f.content)
+
+        self.assertEqual(3, len(json.loads(f.content)['data']['collection']))
+
+
     def test_ims(self):
         ''' retreive the user_utils.js file with old and new
             if-modified-since timestamps.

Roundup Issue Tracker: http://roundup-tracker.org/