diff -r bdc3dc94d744 -r 470d8e828fda goa/test/unittest_db.py --- a/goa/test/unittest_db.py Fri Sep 24 18:20:57 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ -# -*- coding: utf-8 -*- -# copyright 2003-2010 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 . -""" - -""" -from cubicweb.goa.testlib import * - -from cubicweb import Binary -from cubicweb.goa.goaconfig import GAEConfiguration -from cubicweb.server.utils import crypt_password - -from google.appengine.api.datastore_types import Text, Blob - - -class Blog(db.Model): - data = db.BlobProperty() - -class DBTest(GAEBasedTC): - config = GAEConfiguration('toto') - config.global_set_option('use-google-auth', False) - - MODEL_CLASSES = (Blog,) - - def test_set_none_relation(self): - eprop = self.add_entity('CWProperty', pkey=u'ui.language', value=u'en') - self.failUnless('s_for_user' in eprop._dbmodel) - self.assertEquals(eprop._dbmodel['s_for_user'], None) - - def test_euser_key(self): - euser = self.add_entity('CWUser', login=u'toto', upassword='toto') - self.assertEquals(euser.key().name(), 'key_toto') - - def test_egroup_key(self): - egroup = self.add_entity('CWGroup', name=u'toto') - self.assertEquals(egroup.key().name(), 'key_toto') - - def test_password_encryption(self): - euser = self.add_entity('CWUser', login=u'toto', upassword='toto') - self.failUnless(euser.upassword != 'toto', euser.upassword) - self.assertEquals(crypt_password('toto', euser.upassword[:2]), euser.upassword) - - def test_long_text(self): - # datastore string type is limited to 500 bytes - text = u'e'*501 - entity = self.add_entity('State', name=u'test', description=text) - self.assertIsInstance(entity.description, unicode) - self.failIf(isinstance(entity.description, Text)) - self.assertEquals(entity.description, text) - - def test_long_accentued_text(self): - # datastore string type is limited to 500 bytes - text = u'é'*500 - entity = self.add_entity('State', name=u'test', description=text) - self.assertIsInstance(entity.description, unicode) - self.failIf(isinstance(entity.description, Text)) - self.assertEquals(entity.description, text) - - def test_blob(self): - data = 'e'*501 - entity = self.add_entity('Blog', data=data) - self.assertIsInstance(entity.data, Binary) - value = entity.data.getvalue() - self.failIf(isinstance(value, Blob)) - self.assertEquals(value, data) - - -if __name__ == '__main__': - from logilab.common.testlib import unittest_main - unittest_main()