changeset 5585:8725c09802b8 REST-rebased

Added test cases for the element URI methods committer: Ralf Schlatterbeck <rsc@runtux.com>
author Chau Nguyen <dangchau1991@yahoo.com>
date Wed, 30 Jan 2019 10:26:35 +0100
parents 53098db851f2
children 8f2fbc88e155
files test/test_rest.py
diffstat 1 files changed, 46 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/test/test_rest.py	Wed Jan 30 10:26:35 2019 +0100
+++ b/test/test_rest.py	Wed Jan 30 10:26:35 2019 +0100
@@ -82,11 +82,32 @@
         self.assertEqual(results['attributes']['username'], 'joe')
         self.assertEqual(results['attributes']['realname'], 'Joe Random')
 
+        # Obtain data for 'joe'.
+        code, results = self.server.get_attribute(
+            'user', self.joeid, 'username', {}
+        )
+        self.assertEqual(code, 200)
+        self.assertEqual(results['data'], 'joe')
+
     def testPut(self):
         """
         Change joe's 'realname'
         Check if we can't change admin's detail
         """
+        # change Joe's realname via attribute uri
+        form = cgi.FieldStorage()
+        form.list = [
+            cgi.MiniFieldStorage('data', 'Joe Doe Doe')
+        ]
+        code, results = self.server.put_attribute(
+            'user', self.joeid, 'realname', form
+        )
+        code, results = self.server.get_attribute(
+            'user', self.joeid, 'realname', {}
+        )
+        self.assertEqual(code, 200)
+        self.assertEqual(results['data'], 'Joe Doe Doe')
+
         # Reset joe's 'realname'.
         form = cgi.FieldStorage()
         form.list = [
@@ -197,6 +218,31 @@
         finally:
             self.db.setCurrentUser('joe')
 
+    def testDeleteAttributeUri(self):
+        """
+        Test Delete an attribute
+        """
+        # create a new issue with userid 1 in the nosy list
+        issue_id = self.db.issue.create(title='foo', nosy=['1'])
+
+        # remove the title and nosy
+        code, results = self.server.delete_attribute(
+            'issue', issue_id, 'title', {}
+        )
+        self.assertEqual(code, 200)
+
+        code, results = self.server.delete_attribute(
+            'issue', issue_id, 'nosy', {}
+        )
+        self.assertEqual(code, 200)
+
+        # verify the result
+        code, results = self.server.get_element('issue', issue_id, {})
+        self.assertEqual(code, 200)
+        self.assertEqual(len(results['attributes']['nosy']), 0)
+        self.assertListEqual(results['attributes']['nosy'], [])
+        self.assertEqual(results['attributes']['title'], None)
+
     def testPatchAdd(self):
         """
         Test Patch op 'Add'

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