diff test/test_cgi.py @ 5094:92d33d3125a0

Validate properties specified for sorting and grouping in index views. Original patch from martin.v.loewis via: https://hg.python.org/tracker/roundup/rev/439bd3060df2 Applied by John Rouillard with some modification to properly identify if the bad property is a sort or grouping property. Tests added. Ideally we would never get bad sort/group properties but...
author John Rouillard <rouilj@ieee.org>
date Tue, 21 Jun 2016 21:45:24 -0400
parents e424987d294a
children f608eeecf638
line wrap: on
line diff
--- a/test/test_cgi.py	Mon Jun 20 22:04:32 2016 -0400
+++ b/test/test_cgi.py	Tue Jun 21 21:45:24 2016 -0400
@@ -787,6 +787,7 @@
         cl.userid = userid
         cl.language = ('en',)
         cl._error_message = []
+        cl._ok_message = []
         cl.template = template
         return cl
 
@@ -986,6 +987,21 @@
             userid=chef, template='index')
         h = HTMLRequest(cl)
         self.assertEqual([x.id for x in h.batch()],['2', '3', '1'])
+        self.assertEqual(cl._error_message, []) # test for empty _error_message when sort is valid
+        self.assertEqual(cl._ok_message, []) # test for empty _ok_message when sort is valid
+
+        # Test for correct _error_message for invalid sort/group properties
+        baddepsort = {'@action':'search','columns':'id','@sort':'dep'}
+        baddepgrp = {'@action':'search','columns':'id','@group':'dep'}
+        cl = self._make_client(baddepsort, classname='iss', nodeid=None,
+            userid=chef, template='index')
+        h = HTMLRequest(cl)
+        self.assertEqual(cl._error_message, ['Unknown sort property dep'])
+        cl = self._make_client(baddepgrp, classname='iss', nodeid=None,
+            userid=chef, template='index')
+        h = HTMLRequest(cl)
+        self.assertEqual(cl._error_message, ['Unknown group property dep'])
+
         cl = self._make_client(depgrp, classname='iss', nodeid=None,
             userid=chef, template='index')
         h = HTMLRequest(cl)

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