# HG changeset patch # User Sylvain Thénault # Date 1396626838 -7200 # Node ID e02ebdf654c289a82d6d51ed02e131167ae2acd6 # Parent 5efd4a1abc66790775a69e3cff23c365f4efc30e [test] update sobjects/test/unittest_email to cw 3.19 api diff -r 5efd4a1abc66 -r e02ebdf654c2 sobjects/test/unittest_email.py --- a/sobjects/test/unittest_email.py Fri Apr 18 14:33:40 2014 +0200 +++ b/sobjects/test/unittest_email.py Fri Apr 04 17:53:58 2014 +0200 @@ -1,4 +1,4 @@ -# copyright 2003-2010 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,9 +15,6 @@ # # You should have received a copy of the GNU Lesser General Public License along # with CubicWeb. If not, see . -""" - -""" from cubicweb import Unauthorized from cubicweb.devtools.testlib import CubicWebTC @@ -25,45 +22,46 @@ class EmailAddressHooksTC(CubicWebTC): def test_use_email_set_primary_email(self): - self.execute('INSERT EmailAddress X: X address "admin@logilab.fr", U use_email X WHERE U login "admin"') - self.assertEqual(self.execute('Any A WHERE U primary_email X, U login "admin", X address A').rows, - []) - self.commit() - self.assertEqual(self.execute('Any A WHERE U primary_email X, U login "admin", X address A')[0][0], - 'admin@logilab.fr') - # having another email should'nt change anything - self.execute('INSERT EmailAddress X: X address "a@logilab.fr", U use_email X WHERE U login "admin"') - self.commit() - self.assertEqual(self.execute('Any A WHERE U primary_email X, U login "admin", X address A')[0][0], - 'admin@logilab.fr') + with self.admin_access.client_cnx() as cnx: + cnx.execute('INSERT EmailAddress X: X address "admin@logilab.fr", U use_email X WHERE U login "admin"') + self.assertEqual(cnx.execute('Any A WHERE U primary_email X, U login "admin", X address A').rows, + []) + cnx.commit() + self.assertEqual(cnx.execute('Any A WHERE U primary_email X, U login "admin", X address A')[0][0], + 'admin@logilab.fr') + # having another email should'nt change anything + cnx.execute('INSERT EmailAddress X: X address "a@logilab.fr", U use_email X WHERE U login "admin"') + cnx.commit() + self.assertEqual(cnx.execute('Any A WHERE U primary_email X, U login "admin", X address A')[0][0], + 'admin@logilab.fr') def test_primary_email_set_use_email(self): - self.execute('INSERT EmailAddress X: X address "admin@logilab.fr", U primary_email X WHERE U login "admin"') - self.assertEqual(self.execute('Any A WHERE U use_email X, U login "admin", X address A').rows, - []) - self.commit() - self.assertEqual(self.execute('Any A WHERE U use_email X, U login "admin", X address A')[0][0], - 'admin@logilab.fr') + with self.admin_access.client_cnx() as cnx: + cnx.execute('INSERT EmailAddress X: X address "admin@logilab.fr", U primary_email X WHERE U login "admin"') + self.assertEqual(cnx.execute('Any A WHERE U use_email X, U login "admin", X address A').rows, + []) + cnx.commit() + self.assertEqual(cnx.execute('Any A WHERE U use_email X, U login "admin", X address A')[0][0], + 'admin@logilab.fr') def test_cardinality_check(self): - email1 = self.execute('INSERT EmailAddress E: E address "client@client.com", U use_email E WHERE U login "admin"')[0][0] - self.commit() - self.execute('SET U primary_email E WHERE U login "anon", E address "client@client.com"') - self.commit() - rset = self.execute('Any X WHERE X use_email E, E eid %(e)s', {'e': email1}) - self.assertFalse(rset.rowcount != 1, rset) + with self.admin_access.client_cnx() as cnx: + email1 = cnx.execute('INSERT EmailAddress E: E address "client@client.com", U use_email E WHERE U login "admin"')[0][0] + cnx.commit() + cnx.execute('SET U primary_email E WHERE U login "anon", E address "client@client.com"') + cnx.commit() + rset = cnx.execute('Any X WHERE X use_email E, E eid %(e)s', {'e': email1}) + self.assertFalse(rset.rowcount != 1, rset) def test_security_check(self): - req = self.request() - self.create_user(req, 'toto') - email1 = self.execute('INSERT EmailAddress E: E address "client@client.com", U use_email E WHERE U login "admin"')[0][0] - self.commit() - cnx = self.login('toto') - cu = cnx.cursor() - self.assertRaises(Unauthorized, - cu.execute, 'SET U primary_email E WHERE E eid %(e)s, U login "toto"', - {'e': email1}) - cnx.close() + with self.admin_access.client_cnx() as cnx: + self.create_user(cnx, 'toto') + email1 = cnx.execute('INSERT EmailAddress E: E address "client@client.com", U use_email E WHERE U login "admin"')[0][0] + cnx.commit() + with self.new_access('toto').client_cnx() as cnx: + self.assertRaises(Unauthorized, + cnx.execute, 'SET U primary_email E WHERE E eid %(e)s, U login "toto"', + {'e': email1}) if __name__ == '__main__': from logilab.common.testlib import unittest_main