test/unittest_req.py
changeset 9654 f788e5e7e6ea
parent 9386 a33da516028f
equal deleted inserted replaced
9653:ac723e09704f 9654:f788e5e7e6ea
     1 # copyright 2003-2012 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
     1 # copyright 2003-2014 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
     2 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
     2 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
     3 #
     3 #
     4 # This file is part of CubicWeb.
     4 # This file is part of CubicWeb.
     5 #
     5 #
     6 # CubicWeb is free software: you can redistribute it and/or modify it under the
     6 # CubicWeb is free software: you can redistribute it and/or modify it under the
    54 
    54 
    55 class RequestCWTC(CubicWebTC):
    55 class RequestCWTC(CubicWebTC):
    56 
    56 
    57     def test_base_url(self):
    57     def test_base_url(self):
    58         base_url = self.config['base-url']
    58         base_url = self.config['base-url']
    59         self.assertEqual(self.session.base_url(), base_url)
    59         with self.admin_access.repo_cnx() as session:
    60         assert 'https-url' not in self.config
    60             self.assertEqual(session.base_url(), base_url)
    61         self.assertEqual(self.session.base_url(secure=True), base_url)
    61             assert 'https-url' not in self.config
    62         secure_base_url = base_url.replace('http', 'https')
    62             self.assertEqual(session.base_url(secure=True), base_url)
    63         self.config.global_set_option('https-url', secure_base_url)
    63             secure_base_url = base_url.replace('http', 'https')
    64         self.assertEqual(self.session.base_url(secure=True), secure_base_url)
    64             self.config.global_set_option('https-url', secure_base_url)
       
    65             self.assertEqual(session.base_url(secure=True), secure_base_url)
    65 
    66 
    66     def test_view_catch_ex(self):
    67     def test_view_catch_ex(self):
    67         req = self.request()
    68         with self.admin_access.web_request() as req:
    68         rset = self.execute('CWUser X WHERE X login "hop"')
    69             rset = req.execute('CWUser X WHERE X login "hop"')
    69         self.assertEqual(req.view('oneline', rset, 'null'), '')
    70             self.assertEqual(req.view('oneline', rset, 'null'), '')
    70         self.assertRaises(ObjectNotFound, req.view, 'onelinee', rset, 'null')
    71             self.assertRaises(ObjectNotFound, req.view, 'onelinee', rset, 'null')
    71 
    72 
    72     def test_find_one_entity(self):
    73     def test_find_one_entity(self):
    73         self.request().create_entity(
    74         with self.admin_access.web_request() as req:
    74             'CWUser', login=u'cdevienne', upassword=u'cdevienne',
    75             req.create_entity(
    75             surname=u'de Vienne', firstname=u'Christophe',
    76                 'CWUser', login=u'cdevienne', upassword=u'cdevienne',
    76             in_group=self.request().find('CWGroup', name=u'users').one())
    77                 surname=u'de Vienne', firstname=u'Christophe',
       
    78                 in_group=req.find('CWGroup', name=u'users').one())
    77 
    79 
    78         self.request().create_entity(
    80             req.create_entity(
    79             'CWUser', login=u'adim', upassword='adim', surname=u'di mascio',
    81                 'CWUser', login=u'adim', upassword='adim', surname=u'di mascio',
    80             firstname=u'adrien',
    82                 firstname=u'adrien',
    81             in_group=self.request().find('CWGroup', name=u'users').one())
    83                 in_group=req.find('CWGroup', name=u'users').one())
    82 
    84 
    83         u = self.request().find_one_entity('CWUser', login=u'cdevienne')
    85             u = req.find_one_entity('CWUser', login=u'cdevienne')
    84         self.assertEqual(u.firstname, u"Christophe")
    86             self.assertEqual(u.firstname, u"Christophe")
    85 
    87 
    86         with self.assertRaises(FindEntityError):
    88             with self.assertRaises(FindEntityError):
    87             self.request().find_one_entity('CWUser', login=u'patanok')
    89                 req.find_one_entity('CWUser', login=u'patanok')
    88 
    90 
    89         with self.assertRaises(FindEntityError):
    91             with self.assertRaises(FindEntityError):
    90             self.request().find_one_entity('CWUser')
    92                 req.find_one_entity('CWUser')
    91 
    93 
    92     def test_find_entities(self):
    94     def test_find_entities(self):
    93         self.request().create_entity(
    95         with self.admin_access.web_request() as req:
    94             'CWUser', login=u'cdevienne', upassword=u'cdevienne',
    96             req.create_entity(
    95             surname=u'de Vienne', firstname=u'Christophe',
    97                 'CWUser', login=u'cdevienne', upassword=u'cdevienne',
    96             in_group=self.request().find('CWGroup', name=u'users').one())
    98                 surname=u'de Vienne', firstname=u'Christophe',
       
    99                 in_group=req.find('CWGroup', name=u'users').one())
    97 
   100 
    98         self.request().create_entity(
   101             req.create_entity(
    99             'CWUser', login=u'adim', upassword='adim', surname=u'di mascio',
   102                 'CWUser', login=u'adim', upassword='adim', surname=u'di mascio',
   100             firstname=u'adrien',
   103                 firstname=u'adrien',
   101             in_group=self.request().find('CWGroup', name=u'users').one())
   104                 in_group=req.find('CWGroup', name=u'users').one())
   102 
   105 
   103         l = list(self.request().find_entities('CWUser', login=u'cdevienne'))
   106             l = list(req.find_entities('CWUser', login=u'cdevienne'))
   104         self.assertEqual(1, len(l))
   107             self.assertEqual(1, len(l))
   105         self.assertEqual(l[0].firstname, u"Christophe")
   108             self.assertEqual(l[0].firstname, u"Christophe")
   106 
   109 
   107         l = list(self.request().find_entities('CWUser', login=u'patanok'))
   110             l = list(req.find_entities('CWUser', login=u'patanok'))
   108         self.assertEqual(0, len(l))
   111             self.assertEqual(0, len(l))
   109 
   112 
   110         l = list(self.request().find_entities('CWUser'))
   113             l = list(req.find_entities('CWUser'))
   111         self.assertEqual(4, len(l))
   114             self.assertEqual(4, len(l))
   112 
   115 
   113     def test_find(self):
   116     def test_find(self):
   114         self.request().create_entity(
   117         with self.admin_access.web_request() as req:
   115             'CWUser', login=u'cdevienne', upassword=u'cdevienne',
   118             req.create_entity(
   116             surname=u'de Vienne', firstname=u'Christophe',
   119                 'CWUser', login=u'cdevienne', upassword=u'cdevienne',
   117             in_group=self.request().find('CWGroup', name=u'users').one())
   120                 surname=u'de Vienne', firstname=u'Christophe',
       
   121                 in_group=req.find('CWGroup', name=u'users').one())
   118 
   122 
   119         self.request().create_entity(
   123             req.create_entity(
   120             'CWUser', login=u'adim', upassword='adim', surname=u'di mascio',
   124                 'CWUser', login=u'adim', upassword='adim', surname=u'di mascio',
   121             firstname=u'adrien',
   125                 firstname=u'adrien',
   122             in_group=self.request().find('CWGroup', name=u'users').one())
   126                 in_group=req.find('CWGroup', name=u'users').one())
   123 
   127 
   124         u = self.request().find('CWUser', login=u'cdevienne').one()
   128             u = req.find('CWUser', login=u'cdevienne').one()
   125         self.assertEqual(u.firstname, u"Christophe")
   129             self.assertEqual(u.firstname, u"Christophe")
   126 
   130 
   127         users = list(self.request().find('CWUser').entities())
   131             users = list(req.find('CWUser').entities())
   128         self.assertEqual(len(users), 4)
   132             self.assertEqual(len(users), 4)
   129 
   133 
   130         groups = list(
   134             groups = list(
   131             self.request().find('CWGroup', reverse_in_group=u).entities())
   135                 req.find('CWGroup', reverse_in_group=u).entities())
   132         self.assertEqual(len(groups), 1)
   136             self.assertEqual(len(groups), 1)
   133         self.assertEqual(groups[0].name, u'users')
   137             self.assertEqual(groups[0].name, u'users')
   134 
   138 
   135         users = self.request().find('CWUser', in_group=groups[0]).entities()
   139             users = req.find('CWUser', in_group=groups[0]).entities()
   136         users = list(users)
   140             users = list(users)
   137         self.assertEqual(len(users), 2)
   141             self.assertEqual(len(users), 2)
   138 
   142 
   139         with self.assertRaises(AssertionError):
   143             with self.assertRaises(AssertionError):
   140             self.request().find('CWUser', chapeau=u"melon")
   144                 req.find('CWUser', chapeau=u"melon")
   141 
   145 
   142         with self.assertRaises(AssertionError):
   146             with self.assertRaises(AssertionError):
   143             self.request().find('CWUser', reverse_buddy=users[0])
   147                 req.find('CWUser', reverse_buddy=users[0])
   144 
   148 
   145         with self.assertRaises(NotImplementedError):
   149             with self.assertRaises(NotImplementedError):
   146             self.request().find('CWUser', in_group=[1, 2])
   150                 req.find('CWUser', in_group=[1, 2])
   147 
   151 
   148 if __name__ == '__main__':
   152 if __name__ == '__main__':
   149     unittest_main()
   153     unittest_main()