web/test/unittest_http_headers.py
author Julien Cristau <julien.cristau@logilab.fr>
Mon, 29 Jun 2015 16:58:43 +0200
changeset 10463 9add9b7f9df7
parent 10072 934341b848a6
permissions -rw-r--r--
[server/test] fix random error in unittest_security When entering a new Connection, we cache the user and its 'login' attribute (with no permissions checking). This test makes 'CWUser.login' unreadable by guests, and then proceeds to make sure the 'anon' user can actually not read any 'login' attribute. However, due to the above cnx initialization, anon's login is actually cached, hence readable. This happens to make the test fail sometimes depending on the order in which CWUser entities are returned, because one of them has .complete() called, which as a side effect sets the attribute cache to None for unreadable attributes. Call .complete() on both entities to reset the login cache. While this is still highly debatable, at least it's consistent.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9989
cfb6e9dab902 [cors] Fix CORS headers generators
Christophe de Vienne <christophe@unlish.com>
parents:
diff changeset
     1
import unittest
cfb6e9dab902 [cors] Fix CORS headers generators
Christophe de Vienne <christophe@unlish.com>
parents:
diff changeset
     2
cfb6e9dab902 [cors] Fix CORS headers generators
Christophe de Vienne <christophe@unlish.com>
parents:
diff changeset
     3
from cubicweb.web import http_headers
cfb6e9dab902 [cors] Fix CORS headers generators
Christophe de Vienne <christophe@unlish.com>
parents:
diff changeset
     4
cfb6e9dab902 [cors] Fix CORS headers generators
Christophe de Vienne <christophe@unlish.com>
parents:
diff changeset
     5
cfb6e9dab902 [cors] Fix CORS headers generators
Christophe de Vienne <christophe@unlish.com>
parents:
diff changeset
     6
class TestGenerators(unittest.TestCase):
cfb6e9dab902 [cors] Fix CORS headers generators
Christophe de Vienne <christophe@unlish.com>
parents:
diff changeset
     7
    def test_generate_true_false(self):
cfb6e9dab902 [cors] Fix CORS headers generators
Christophe de Vienne <christophe@unlish.com>
parents:
diff changeset
     8
        for v in (True, 1, 'true', 'True', 'TRUE'):
cfb6e9dab902 [cors] Fix CORS headers generators
Christophe de Vienne <christophe@unlish.com>
parents:
diff changeset
     9
            self.assertEqual('true', http_headers.generateTrueFalse(v))
cfb6e9dab902 [cors] Fix CORS headers generators
Christophe de Vienne <christophe@unlish.com>
parents:
diff changeset
    10
        for v in (False, 0, 'false', 'False', 'FALSE'):
cfb6e9dab902 [cors] Fix CORS headers generators
Christophe de Vienne <christophe@unlish.com>
parents:
diff changeset
    11
            self.assertEqual('false', http_headers.generateTrueFalse(v))
cfb6e9dab902 [cors] Fix CORS headers generators
Christophe de Vienne <christophe@unlish.com>
parents:
diff changeset
    12
cfb6e9dab902 [cors] Fix CORS headers generators
Christophe de Vienne <christophe@unlish.com>
parents:
diff changeset
    13
        with self.assertRaises(ValueError):
cfb6e9dab902 [cors] Fix CORS headers generators
Christophe de Vienne <christophe@unlish.com>
parents:
diff changeset
    14
            http_headers.generateTrueFalse('any value')
10072
934341b848a6 [test] missing unittest.main() call in unittest_http_headers.py
David Douard <david.douard@logilab.fr>
parents: 9989
diff changeset
    15
934341b848a6 [test] missing unittest.main() call in unittest_http_headers.py
David Douard <david.douard@logilab.fr>
parents: 9989
diff changeset
    16
if __name__ == '__main__':
934341b848a6 [test] missing unittest.main() call in unittest_http_headers.py
David Douard <david.douard@logilab.fr>
parents: 9989
diff changeset
    17
    from unittest import main
934341b848a6 [test] missing unittest.main() call in unittest_http_headers.py
David Douard <david.douard@logilab.fr>
parents: 9989
diff changeset
    18
    main()