15 # |
15 # |
16 # You should have received a copy of the GNU Lesser General Public License along |
16 # You should have received a copy of the GNU Lesser General Public License along |
17 # with CubicWeb. If not, see <http://www.gnu.org/licenses/>. |
17 # with CubicWeb. If not, see <http://www.gnu.org/licenses/>. |
18 """unittest for cubicweb.devtools.httptest module""" |
18 """unittest for cubicweb.devtools.httptest module""" |
19 |
19 |
20 from six.moves import http_client |
20 import http.client |
21 |
21 |
22 from logilab.common.testlib import Tags |
22 from logilab.common.testlib import Tags |
23 from cubicweb.devtools.httptest import CubicWebServerTC |
23 from cubicweb.devtools.httptest import CubicWebServerTC |
24 |
24 |
25 |
25 |
26 class WsgiCWAnonTC(CubicWebServerTC): |
26 class WsgiCWAnonTC(CubicWebServerTC): |
27 |
27 |
28 def test_response(self): |
28 def test_response(self): |
29 try: |
29 try: |
30 response = self.web_get() |
30 response = self.web_get() |
31 except http_client.NotConnected as ex: |
31 except http.client.NotConnected as ex: |
32 self.fail("Can't connection to test server: %s" % ex) |
32 self.fail("Can't connection to test server: %s" % ex) |
33 |
33 |
34 def test_response_anon(self): |
34 def test_response_anon(self): |
35 response = self.web_get() |
35 response = self.web_get() |
36 self.assertEqual(response.status, http_client.OK) |
36 self.assertEqual(response.status, http.client.OK) |
37 |
37 |
38 def test_base_url(self): |
38 def test_base_url(self): |
39 if self.config['base-url'] not in self.web_get().read().decode('ascii'): |
39 if self.config['base-url'] not in self.web_get().read().decode('ascii'): |
40 self.fail('no mention of base url in retrieved page') |
40 self.fail('no mention of base url in retrieved page') |
41 |
41 |
45 anonymous_allowed = False |
45 anonymous_allowed = False |
46 tags = CubicWebServerTC.tags | Tags(('auth',)) |
46 tags = CubicWebServerTC.tags | Tags(('auth',)) |
47 |
47 |
48 def test_response_denied(self): |
48 def test_response_denied(self): |
49 response = self.web_get() |
49 response = self.web_get() |
50 self.assertEqual(response.status, http_client.FORBIDDEN) |
50 self.assertEqual(response.status, http.client.FORBIDDEN) |
51 |
51 |
52 def test_login(self): |
52 def test_login(self): |
53 response = self.web_get() |
53 response = self.web_get() |
54 if response.status != http_client.FORBIDDEN: |
54 if response.status != http.client.FORBIDDEN: |
55 self.skipTest('Already authenticated, "test_response_denied" must have failed') |
55 self.skipTest('Already authenticated, "test_response_denied" must have failed') |
56 # login |
56 # login |
57 self.web_login(self.admlogin, self.admpassword) |
57 self.web_login(self.admlogin, self.admpassword) |
58 response = self.web_get() |
58 response = self.web_get() |
59 self.assertEqual(response.status, http_client.OK, response.body) |
59 self.assertEqual(response.status, http.client.OK, response.body) |
60 # logout |
60 # logout |
61 self.web_logout() |
61 self.web_logout() |
62 response = self.web_get() |
62 response = self.web_get() |
63 self.assertEqual(response.status, http_client.FORBIDDEN, response.body) |
63 self.assertEqual(response.status, http.client.FORBIDDEN, response.body) |
64 |
64 |
65 |
65 |
66 if __name__ == '__main__': |
66 if __name__ == '__main__': |
67 from logilab.common.testlib import unittest_main |
67 from logilab.common.testlib import unittest_main |
68 unittest_main() |
68 unittest_main() |