# HG changeset patch # User Julien Cristau # Date 1454945556 -3600 # Node ID d60d181b2b17f4d1b45ec71ba9231094b37be70b # Parent dd1933f56f4e4f1be020b80a53a0669b9ef667e8 [devtools/test] duplicate CubicWebServerTC tests for CubicWebWsgiTC diff -r dd1933f56f4e -r d60d181b2b17 cubicweb/devtools/test/unittest_httptest.py --- a/cubicweb/devtools/test/unittest_httptest.py Mon Feb 08 16:32:07 2016 +0100 +++ b/cubicweb/devtools/test/unittest_httptest.py Mon Feb 08 16:32:36 2016 +0100 @@ -20,7 +20,7 @@ from six.moves import http_client from logilab.common.testlib import Tags -from cubicweb.devtools.httptest import CubicWebServerTC +from cubicweb.devtools.httptest import CubicWebServerTC, CubicWebWsgiTC class TwistedCWAnonTC(CubicWebServerTC): @@ -63,6 +63,44 @@ self.assertEqual(response.status, http_client.FORBIDDEN, response.body) +class WsgiCWAnonTC(CubicWebWsgiTC): + + def test_response(self): + try: + response = self.web_get() + except http_client.NotConnected as ex: + self.fail("Can't connection to test server: %s" % ex) + + def test_response_anon(self): + response = self.web_get() + self.assertEqual(response.status, http_client.OK) + + def test_base_url(self): + if self.config['base-url'] not in self.web_get().read().decode('ascii'): + self.fail('no mention of base url in retrieved page') + + +class WsgiCWIdentTC(CubicWebWsgiTC): + test_db_id = 'httptest-cwident' + anonymous_allowed = False + tags = CubicWebServerTC.tags | Tags(('auth',)) + + def test_response_denied(self): + response = self.web_get() + self.assertEqual(response.status, http_client.FORBIDDEN) + + def test_login(self): + response = self.web_get() + if response.status != http_client.FORBIDDEN: + self.skipTest('Already authenticated, "test_response_denied" must have failed') + # login + self.web_login(self.admlogin, self.admpassword) + response = self.web_get() + self.assertEqual(response.status, http_client.OK, response.body) + # logout + self.web_logout() + response = self.web_get() + self.assertEqual(response.status, http_client.FORBIDDEN, response.body) if __name__ == '__main__':