[utils] use the "predictable" argument to js_dumps
Fixes doctest under python -R. Related to #4959402.
# 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.## CubicWeb is free software: you can redistribute it and/or modify it under the# terms of the GNU Lesser General Public License as published by the Free# Software Foundation, either version 2.1 of the License, or (at your option)# any later version.## CubicWeb is distributed in the hope that it will be useful, but WITHOUT# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more# details.## You should have received a copy of the GNU Lesser General Public License along# with CubicWeb. If not, see <http://www.gnu.org/licenses/>."""unittest for cubicweb.dbapi"""fromcubicwebimportValidationErrorfromcubicweb.webimportUnauthorizedfromcubicweb.devtools.testlibimportCubicWebTCclassRegisterUserTC(CubicWebTC):deftest_register_user_service(self):acc=self.admin_accesswithacc.client_cnx()ascnx:cnx.call_service('register_user',login=u'foo1',password=u'bar1',email=u'foo1@bar1.com',firstname=u'Foo1',surname=u'Bar1')acc=self.new_access('anon')withacc.client_cnx()ascnx:self.assertRaises(Unauthorized,cnx.call_service,'register_user',login=u'foo2',password=u'bar2',email=u'foo2@bar2.com',firstname=u'Foo2',surname=u'Bar2')withself.repo.internal_cnx()ascnx:cnx.call_service('register_user',login=u'foo3',password=u'bar3',email=u'foo3@bar3.com',firstname=u'Foo3',surname=u'Bar3')# same loginwithself.assertRaises(ValidationError):cnx.call_service('register_user',login=u'foo3',password=u'bar3')deftest_register_user_attributes(self):withself.repo.internal_cnx()ascnx:cnx.call_service('register_user',login=u'foo3',password=u'bar3',email=u'foo3@bar3.com',firstname=u'Foo3',surname=u'Bar3')cnx.commit()withself.admin_access.client_cnx()ascnx:user=cnx.find('CWUser',login=u'foo3').one()self.assertEqual(user.firstname,u'Foo3')self.assertEqual(user.use_email[0].address,u'foo3@bar3.com')deftest_register_user_groups(self):withself.repo.internal_cnx()ascnx:# defaultcnx.call_service('register_user',login=u'foo_user',password=u'bar_user',email=u'foo_user@bar_user.com',firstname=u'Foo_user',surname=u'Bar_user')# group kwargcnx.call_service('register_user',login=u'foo_admin',password=u'bar_admin',email=u'foo_admin@bar_admin.com',firstname=u'Foo_admin',surname=u'Bar_admin',groups=('managers','users'))# class attributefromcubicweb.sobjectsimportservicesservices.RegisterUserService.default_groups=('guests',)cnx.call_service('register_user',login=u'foo_guest',password=u'bar_guest',email=u'foo_guest@bar_guest.com',firstname=u'Foo_guest',surname=u'Bar_guest')cnx.commit()withself.admin_access.client_cnx()ascnx:user=cnx.find('CWUser',login=u'foo_user').one()self.assertEqual([g.nameforginuser.in_group],['users'])admin=cnx.find('CWUser',login=u'foo_admin').one()self.assertEqual(sorted(g.nameforginadmin.in_group),['managers','users'])guest=cnx.find('CWUser',login=u'foo_guest').one()self.assertEqual([g.nameforginguest.in_group],['guests'])if__name__=='__main__':fromlogilab.common.testlibimportunittest_mainunittest_main()