def tearDownCommon(): # if test.in does not exist (because the z3c.recipe.filetemplate # part hasn't been executed) then db_url is None if db_url is None: # pragma: nocover return # verify that we have a working database connection before going # forward from sqlalchemy import create_engine from sqlalchemy.exc import OperationalError engine = create_engine(db_url) try: engine.connect() except OperationalError: # pragma: nocover return from c2cgeoportal.models import Base Base.metadata.drop_all(checkfirst=True) import sqlahelper sqlahelper.reset() from c2cgeoportal import caching caching.invalidate_region() del caching._regions[None]
def test_theme(self): from c2cgeoportal.models import DBSession, User from c2cgeoportal.views.entry import Entry request = testing.DummyRequest() request.headers['Host'] = host request.static_url = lambda url: 'http://example.com/dummy/static/url' request.route_url = lambda url: mapserv_url curdir = os.path.dirname(os.path.abspath(__file__)) mapfile = os.path.join(curdir, 'c2cgeoportal_test.map') ms_url = "%s?map=%s&" % (mapserv_url, mapfile) request.registry.settings = { 'mapserv_url': ms_url, } request.user = None entry = Entry(request) # unautenticated themes = entry.themes() self.assertEquals(len(themes), 1) self.assertTrue(self._find_layer(themes[0], '__test_public_layer')) self.assertFalse(self._find_layer(themes[0], '__test_private_layer')) # autenticated on parent role_id = DBSession.query( User.role_id).filter_by(username=u'__test_user1').one() request.params = {'role_id': role_id} themes = entry.themes() self.assertEquals(len(themes), 1) self.assertTrue(self._find_layer(themes[0], '__test_public_layer')) self.assertTrue(self._find_layer(themes[0], '__test_private_layer')) # autenticated request.params = {} request.user = DBSession.query(User).filter_by( username=u'__test_user1').one() themes = entry.themes() self.assertEquals(len(themes), 1) self.assertTrue(self._find_layer(themes[0], '__test_public_layer')) self.assertTrue(self._find_layer(themes[0], '__test_private_layer')) # mapfile error request.params = {} request.registry.settings = { 'mapserv_url': mapserv_url + '?map=not_a_mapfile', } from c2cgeoportal import caching caching.invalidate_region() themes, errors = entry._themes(None) self.assertEquals(len(themes), 0) self.assertEquals(len(errors), 1)
def test_theme(self): from c2cgeoportal.models import DBSession, User from c2cgeoportal.views.entry import Entry request = testing.DummyRequest() request.headers['Host'] = host request.static_url = lambda url: 'http://example.com/dummy/static/url' request.route_url = lambda url: mapserv_url curdir = os.path.dirname(os.path.abspath(__file__)) mapfile = os.path.join(curdir, 'c2cgeoportal_test.map') ms_url = "%s?map=%s&" % (mapserv_url, mapfile) request.registry.settings = { 'mapserv_url': ms_url, } request.user = None entry = Entry(request) # unautenticated themes = entry.themes() self.assertEquals(len(themes), 1) self.assertTrue(self._find_layer(themes[0], '__test_public_layer')) self.assertFalse(self._find_layer(themes[0], '__test_private_layer')) # autenticated on parent role_id = DBSession.query(User.role_id).filter_by(username=u'__test_user1').one() request.params = { 'role_id': role_id } themes = entry.themes() self.assertEquals(len(themes), 1) self.assertTrue(self._find_layer(themes[0], '__test_public_layer')) self.assertTrue(self._find_layer(themes[0], '__test_private_layer')) # autenticated request.params = {} request.user = DBSession.query(User).filter_by(username=u'__test_user1').one() themes = entry.themes() self.assertEquals(len(themes), 1) self.assertTrue(self._find_layer(themes[0], '__test_public_layer')) self.assertTrue(self._find_layer(themes[0], '__test_private_layer')) # mapfile error request.params = {} request.registry.settings = { 'mapserv_url': mapserv_url + '?map=not_a_mapfile', } from c2cgeoportal import caching caching.invalidate_region() themes, errors = entry._themes(None) self.assertEquals(len(themes), 0) self.assertEquals(len(errors), 1)
def test_theme(self): from c2cgeoportal.models import DBSession, User from c2cgeoportal.views.entry import Entry request = self._create_request_obj() #request.static_url = lambda url: 'http://example.com/dummy/static/url' entry = Entry(request) # unautenticated themes = entry.themes() self.assertEquals(len(themes), 1) self.assertTrue(self._find_layer(themes[0], '__test_public_layer')) self.assertFalse(self._find_layer(themes[0], '__test_private_layer')) # autenticated on parent role_id = DBSession.query( User.role_id).filter_by(username=u'__test_user1').one() request.params = {'role_id': role_id} themes = entry.themes() self.assertEquals(len(themes), 1) self.assertTrue(self._find_layer(themes[0], '__test_public_layer')) self.assertTrue(self._find_layer(themes[0], '__test_private_layer')) # autenticated request.params = {} request.user = DBSession.query(User).filter_by( username=u'__test_user1').one() themes = entry.themes() self.assertEquals(len(themes), 1) self.assertTrue(self._find_layer(themes[0], '__test_public_layer')) self.assertTrue(self._find_layer(themes[0], '__test_private_layer')) # mapfile error request.params = {} request.registry.settings[ 'mapserv_url'] = mapserv_url + '?map=not_a_mapfile' log.info(request.registry.settings['mapserv_url']) from c2cgeoportal import caching caching.invalidate_region() log.info(type(request.registry.settings['mapserv_url'])) themes, errors = entry._themes(None) self.assertEquals(len(themes), 0) self.assertEquals(len(errors), 1)
def test_theme(self): from c2cgeoportal.models import DBSession, User from c2cgeoportal.views.entry import Entry request = self._create_request_obj() #request.static_url = lambda url: 'http://example.com/dummy/static/url' entry = Entry(request) # unautenticated themes = entry.themes() self.assertEquals(len(themes), 1) self.assertTrue(self._find_layer(themes[0], '__test_public_layer')) self.assertFalse(self._find_layer(themes[0], '__test_private_layer')) # autenticated on parent role_id = DBSession.query(User.role_id).filter_by(username=u'__test_user1').one() request.params = {'role_id': role_id} themes = entry.themes() self.assertEquals(len(themes), 1) self.assertTrue(self._find_layer(themes[0], '__test_public_layer')) self.assertTrue(self._find_layer(themes[0], '__test_private_layer')) # autenticated request.params = {} request.user = DBSession.query(User).filter_by(username=u'__test_user1').one() themes = entry.themes() self.assertEquals(len(themes), 1) self.assertTrue(self._find_layer(themes[0], '__test_public_layer')) self.assertTrue(self._find_layer(themes[0], '__test_private_layer')) # mapfile error request.params = {} request.registry.settings['mapserv_url'] = mapserv_url + '?map=not_a_mapfile' log.info(request.registry.settings['mapserv_url']) from c2cgeoportal import caching caching.invalidate_region() log.info(type(request.registry.settings['mapserv_url'])) themes, errors = entry._themes(None) self.assertEquals(len(themes), 0) self.assertEquals(len(errors), 1)