diff test/rest_common.py @ 5707:f9a762678af6

Change some 400 errors to 405 (method not allowed) errors where user is tryng to delete or modify a read only attribute/resource. Fix errors generated when output dict include exceptions and we are generating XML output. Add XML header with encoding to xml output.
author John Rouillard <rouilj@ieee.org>
date Sat, 13 Apr 2019 12:16:15 -0400
parents dfca6136dd7b
children ad786c394788
line wrap: on
line diff
--- a/test/rest_common.py	Thu Apr 11 21:46:51 2019 -0400
+++ b/test/rest_common.py	Sat Apr 13 12:16:15 2019 -0400
@@ -1085,15 +1085,15 @@
         results = self.server.put_attribute(
             'user', self.joeid, 'creator', form
         )
-        expected= {'error': {'status': 400, 'msg': 
-                             UsageError('\'"creator", "actor", "creation" and '
+        expected= {'error': {'status': 405, 'msg': 
+                             AttributeError('\'"creator", "actor", "creation" and '
                                         '"activity" are reserved\'')}}
         print(results)
         self.assertEqual(results['error']['status'],
                          expected['error']['status'])
         self.assertEqual(type(results['error']['msg']),
                          type(expected['error']['msg']))
-        self.assertEqual(self.dummy_client.response_code, 400)
+        self.assertEqual(self.dummy_client.response_code, 405)
 
         # put invalid property
         # make sure we don't have permission issues
@@ -1272,15 +1272,15 @@
             'issue', issue_id, 'creator', form
         )
         expected= {'error': {
-            'status': 400, 
-            'msg': UsageError("Attribute 'creator' can not be updated for class issue.")
+            'status': 405, 
+            'msg': AttributeError("Attribute 'creator' can not be updated for class issue.")
         }}
 
         self.assertEqual(results['error']['status'],
                          expected['error']['status'])
         self.assertEqual(type(results['error']['msg']),
                          type(expected['error']['msg']))
-        self.assertEqual(self.dummy_client.response_code, 400)
+        self.assertEqual(self.dummy_client.response_code, 405)
 
         # delete required property
         etag = calculate_etag(self.db.issue.getnode(issue_id))

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