--- 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__':