[dataimport] check that MassiveObjectStore restores the db schema properly
Ideally we'd use "pg_dump --schema-only" to compare before/after, but when
restoring a constraint such as:
cstr48f9ceae537d68859b62c601681c8d3e CHECK (((cw_type)::text = ANY ((ARRAY['normal'::character varying, 'auto'::character varying])::text[])))
postgres will convert the text cast on array to a cast on each cell of array
cstr48f9ceae537d68859b62c601681c8d3e CHECK (cw_type::text = ANY (ARRAY['normal'::character varying::text, 'auto'::character varying::text]))
from six.moves import http_client
from logilab.common.testlib import Tags
from cubicweb.devtools.webtest import CubicWebTestTC
class CWTTC(CubicWebTestTC):
def test_response(self):
response = self.webapp.get('/')
self.assertEqual(200, response.status_int)
def test_base_url(self):
if self.config['base-url'] not in self.webapp.get('/').text:
self.fail('no mention of base url in retrieved page')
class CWTIdentTC(CubicWebTestTC):
test_db_id = 'webtest-ident'
anonymous_allowed = False
tags = CubicWebTestTC.tags | Tags(('auth',))
def test_reponse_denied(self):
res = self.webapp.get('/', expect_errors=True)
self.assertEqual(http_client.FORBIDDEN, res.status_int)
def test_login(self):
res = self.webapp.get('/', expect_errors=True)
self.assertEqual(http_client.FORBIDDEN, res.status_int)
self.login(self.admlogin, self.admpassword)
res = self.webapp.get('/')
self.assertEqual(http_client.OK, res.status_int)
self.logout()
res = self.webapp.get('/', expect_errors=True)
self.assertEqual(http_client.FORBIDDEN, res.status_int)
if __name__ == '__main__':
from logilab.common.testlib import unittest_main
unittest_main()