cubicweb/server/test/unittest_repository.py
changeset 12044 70bb46dfa87b
parent 12030 72c3af2cde23
child 12567 26744ad37953
child 12726 1a2c7d6397ec
equal deleted inserted replaced
12043:b8d2e6b9f548 12044:70bb46dfa87b
    75     def test_all_entities_have_cw_source(self):
    75     def test_all_entities_have_cw_source(self):
    76         with self.admin_access.repo_cnx() as cnx:
    76         with self.admin_access.repo_cnx() as cnx:
    77             self.assertFalse(cnx.execute('Any X WHERE NOT X cw_source S'))
    77             self.assertFalse(cnx.execute('Any X WHERE NOT X cw_source S'))
    78 
    78 
    79     def test_connect(self):
    79     def test_connect(self):
    80         self.assertTrue(self.repo.new_session(self.admlogin, password=self.admpassword))
    80         with self.repo.internal_cnx() as cnx:
    81         self.assertRaises(AuthenticationError,
    81             self.assertTrue(
    82                           self.repo.new_session, self.admlogin, password='nimportnawak')
    82                 self.repo.authenticate_user(cnx, self.admlogin, password=self.admpassword))
    83         self.assertRaises(AuthenticationError,
    83             self.assertRaises(AuthenticationError, self.repo.authenticate_user,
    84                           self.repo.new_session, self.admlogin, password='')
    84                               cnx, self.admlogin, password='nimportnawak')
    85         self.assertRaises(AuthenticationError,
    85             self.assertRaises(AuthenticationError, self.repo.authenticate_user,
    86                           self.repo.new_session, self.admlogin, password=None)
    86                               cnx, self.admlogin, password='')
    87         self.assertRaises(AuthenticationError,
    87             self.assertRaises(AuthenticationError, self.repo.authenticate_user,
    88                           self.repo.new_session, None, password=None)
    88                               cnx, self.admlogin, password=None)
    89         self.assertRaises(AuthenticationError,
    89             self.assertRaises(AuthenticationError, self.repo.authenticate_user,
    90                           self.repo.new_session, self.admlogin)
    90                               cnx, None, password=None)
    91         self.assertRaises(AuthenticationError,
    91             self.assertRaises(AuthenticationError, self.repo.authenticate_user,
    92                           self.repo.new_session, None)
    92                               cnx, self.admlogin)
       
    93             self.assertRaises(AuthenticationError, self.repo.authenticate_user,
       
    94                               cnx, None)
    93 
    95 
    94     def test_login_upassword_accent(self):
    96     def test_login_upassword_accent(self):
    95         with self.admin_access.repo_cnx() as cnx:
    97         with self.admin_access.repo_cnx() as cnx:
    96             cnx.execute('INSERT CWUser X: X login %(login)s, X upassword %(passwd)s, '
    98             cnx.execute('INSERT CWUser X: X login %(login)s, X upassword %(passwd)s, '
    97                         'X in_group G WHERE G name "users"',
    99                         'X in_group G WHERE G name "users"',
    98                         {'login': u"barnabé", 'passwd': u"héhéhé".encode('UTF8')})
   100                         {'login': u"barnabé", 'passwd': u"héhéhé".encode('UTF8')})
    99             cnx.commit()
   101             cnx.commit()
   100         repo = self.repo
   102             repo = self.repo
   101         self.assertTrue(repo.new_session(u"barnabé", password=u"héhéhé".encode('UTF8')))
   103             self.assertTrue(repo.authenticate_user(cnx, u"barnabé", password=u"héhéhé".encode('UTF8')))
   102 
   104 
   103     def test_rollback_on_execute_validation_error(self):
   105     def test_rollback_on_execute_validation_error(self):
   104         class ValidationErrorAfterHook(Hook):
   106         class ValidationErrorAfterHook(Hook):
   105             __regid__ = 'valerror-after-hook'
   107             __regid__ = 'valerror-after-hook'
   106             __select__ = Hook.__select__ & is_instance('CWGroup')
   108             __select__ = Hook.__select__ & is_instance('CWGroup')
   178         self.assertIsInstance(cstr, RQLConstraint)
   180         self.assertIsInstance(cstr, RQLConstraint)
   179         self.assertEqual(cstr.expression, 'O final TRUE')
   181         self.assertEqual(cstr.expression, 'O final TRUE')
   180 
   182 
   181         ownedby = schema.rschema('owned_by')
   183         ownedby = schema.rschema('owned_by')
   182         self.assertEqual(ownedby.objects('CWEType'), ('CWUser',))
   184         self.assertEqual(ownedby.objects('CWEType'), ('CWUser',))
   183 
       
   184     def test_internal_api(self):
       
   185         repo = self.repo
       
   186         session = repo.new_session(self.admlogin, password=self.admpassword)
       
   187         with session.new_cnx() as cnx:
       
   188             self.assertEqual(repo.type_from_eid(2, cnx), 'CWGroup')
       
   189 
   185 
   190     def test_public_api(self):
   186     def test_public_api(self):
   191         self.assertEqual(self.repo.get_schema(), self.repo.schema)
   187         self.assertEqual(self.repo.get_schema(), self.repo.schema)
   192         self.assertEqual(self.repo.source_defs(), {'system': {'type': 'native',
   188         self.assertEqual(self.repo.source_defs(), {'system': {'type': 'native',
   193                                                               'uri': 'system',
   189                                                               'uri': 'system',