--- a/web/test/unittest_views_errorform.py Mon Jun 02 16:52:34 2014 +0200
+++ b/web/test/unittest_views_errorform.py Mon Jun 02 17:01:38 2014 +0200
@@ -1,4 +1,4 @@
-# copyright 2003-2012 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
+# copyright 2003-2014 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
#
# This file is part of CubicWeb.
@@ -15,25 +15,20 @@
#
# You should have received a copy of the GNU Lesser General Public License along
# with CubicWeb. If not, see <http://www.gnu.org/licenses/>.
+import re
+import sys
from logilab.common.testlib import unittest_main
-from logilab.mtconverter import html_unescape
-from cubicweb import Forbidden, ValidationError
+from cubicweb import Forbidden
from cubicweb.devtools.testlib import CubicWebTC
-from cubicweb.utils import json
-from cubicweb.view import StartupView, TRANSITIONAL_DOCTYPE_NOEXT
+from cubicweb.view import StartupView
from cubicweb.web import Redirect
-from cubicweb.web.htmlwidgets import TableWidget
-from cubicweb.web.views import vid_from_rset
-import re
-import hmac
class ErrorViewTC(CubicWebTC):
def setUp(self):
super(ErrorViewTC, self).setUp()
- self.req = self.request()
self.vreg.config['submit-mail'] = "test@logilab.fr"
self.vreg.config['print-traceback'] = "yes"
@@ -48,15 +43,16 @@
raise ValueError('This is wrong')
with self.temporary_appobjects(MyWrongView):
- try:
- self.view('my-view')
- except Exception as e:
- import sys
- self.req.data['excinfo'] = sys.exc_info()
- self.req.data['ex'] = e
- html = self.view('error', req=self.req)
- self.failUnless(re.search(r'^<input name="__signature" type="hidden" value="[0-9a-f]{32}" />$',
- html.source, re.M))
+ with self.admin_access.web_request() as req:
+ try:
+ self.view('my-view', req=req)
+ except Exception as e:
+ req.data['excinfo'] = sys.exc_info()
+ req.data['ex'] = e
+ html = self.view('error', req=req)
+ self.failUnless(re.search(r'^<input name="__signature" type="hidden" '
+ 'value="[0-9a-f]{32}" />$',
+ html.source, re.M))
def test_error_submit_nosig(self):
@@ -64,36 +60,33 @@
tests that the reportbug controller refuses submission if
there is not content signature
"""
-
- self.req.form = {'description': u'toto',
- }
- with self.assertRaises(Forbidden) as cm:
- self.ctrl_publish(self.req, 'reportbug')
+ with self.admin_access.web_request() as req:
+ req.form = {'description': u'toto'}
+ with self.assertRaises(Forbidden) as cm:
+ self.ctrl_publish(req, 'reportbug')
def test_error_submit_wrongsig(self):
"""
tests that the reportbug controller refuses submission if the
content signature is invalid
"""
-
- self.req.form = {'__signature': 'X',
- 'description': u'toto',
- }
- with self.assertRaises(Forbidden) as cm:
- self.ctrl_publish(self.req, 'reportbug')
+ with self.admin_access.web_request() as req:
+ req.form = {'__signature': 'X',
+ 'description': u'toto'}
+ with self.assertRaises(Forbidden) as cm:
+ self.ctrl_publish(req, 'reportbug')
def test_error_submit_ok(self):
"""
tests that the reportbug controller accept the email submission if the
content signature is valid
"""
-
- sign = self.vreg.config.sign_text('toto')
- self.req.form = {'__signature': sign,
- 'description': u'toto',
- }
- with self.assertRaises(Redirect) as cm:
- self.ctrl_publish(self.req, 'reportbug')
+ with self.admin_access.web_request() as req:
+ sign = self.vreg.config.sign_text('toto')
+ req.form = {'__signature': sign,
+ 'description': u'toto'}
+ with self.assertRaises(Redirect) as cm:
+ self.ctrl_publish(req, 'reportbug')
if __name__ == '__main__':
unittest_main()