def tearDown(self): # noqa testing.tearDown() functionality.FUNCTIONALITIES_TYPES = None from c2cgeoportal.models import DBSession, User, Role, Layer, \ RestrictionArea, Theme, LayerGroup, Interface, OGCServer DBSession.query(User).filter(User.username == "__test_user1").delete() DBSession.query(User).filter(User.username == "__test_user2").delete() ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == "__test_ra1").one() ra.roles = [] DBSession.delete(ra) ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == "__test_ra2").one() ra.roles = [] DBSession.delete(ra) DBSession.query(Role).filter(Role.name == "__test_role1").delete() DBSession.query(Role).filter(Role.name == "__test_role2").delete() for t in DBSession.query(Theme).filter( Theme.name == "__test_theme").all(): DBSession.delete(t) for g in DBSession.query(LayerGroup).all(): DBSession.delete(g) for layer in DBSession.query(Layer).all(): DBSession.delete(layer) DBSession.query(Interface).filter(Interface.name == "main").delete() DBSession.query(OGCServer).delete() transaction.commit()
def tearDown(self): testing.tearDown() from c2cgeoportal.models import DBSession, User, Role, Layer, \ RestrictionArea, Theme, LayerGroup DBSession.query(User).filter(User.username == '__test_user1').delete() DBSession.query(User).filter(User.username == '__test_user2').delete() ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == '__test_ra1').one() ra.roles = [] DBSession.delete(ra) ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == '__test_ra2').one() ra.roles = [] DBSession.delete(ra) DBSession.query(Role).filter(Role.name == '__test_role1').delete() DBSession.query(Role).filter(Role.name == '__test_role2').delete() for t in DBSession.query(Theme).filter(Theme.name == '__test_theme').all(): DBSession.delete(t) for layergroup in DBSession.query(LayerGroup).all(): DBSession.delete(layergroup) # pragma: nocover for layer in DBSession.query(Layer).all(): DBSession.delete(layer) # pragma: nocover transaction.commit()
def setUp(self): # noqa import sqlahelper import transaction from c2cgeoportal.models import DBSession, Role, User, Interface, TreeItem from c2cgeoportal.lib.dbreflection import init for treeitem in DBSession.query(TreeItem).all(): DBSession.delete(treeitem) self.metadata = None self.layer_ids = [] self.role = Role(name=u"__test_role") self.user = User(username=u"__test_user", password=u"__test_user", role=self.role) self.main = Interface(name=u"main") DBSession.add(self.user) DBSession.add(self.role) DBSession.add(self.main) transaction.commit() engine = sqlahelper.get_engine() init(engine)
def tearDown(self): testing.tearDown() from c2cgeoportal.models import DBSession, User, Role, Layer, \ RestrictionArea, Theme, LayerGroup DBSession.query(User).filter(User.username == '__test_user1').delete() DBSession.query(User).filter(User.username == '__test_user2').delete() ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == '__test_ra1').one() ra.roles = [] DBSession.delete(ra) ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == '__test_ra2').one() ra.roles = [] DBSession.delete(ra) DBSession.query(Role).filter(Role.name == '__test_role1').delete() DBSession.query(Role).filter(Role.name == '__test_role2').delete() for t in DBSession.query(Theme).filter( Theme.name == '__test_theme').all(): DBSession.delete(t) for layergroup in DBSession.query(LayerGroup).all(): DBSession.delete(layergroup) # pragma: nocover for layer in DBSession.query(Layer).all(): DBSession.delete(layer) # pragma: nocover transaction.commit()
def tearDown(self): # noqa import transaction from c2cgeoportal.models import DBSession, Role, User, \ TreeItem, RestrictionArea, Interface transaction.commit() for treeitem in DBSession.query(TreeItem).all(): DBSession.delete(treeitem) DBSession.query(User).filter( User.username == u"__test_user" ).delete() r = DBSession.query(Role).filter( Role.name == u"__test_role" ).one() r.restrictionareas = [] DBSession.delete(r) DBSession.query(RestrictionArea).filter( RestrictionArea.name == u"__test_ra" ).delete() DBSession.query(Interface).filter( Interface.name == u"main" ).delete() if self._tables is not None: for table in self._tables[::-1]: table.drop() transaction.commit()
def setUp(self): # noqa import sqlahelper import transaction from c2cgeoportal.models import DBSession, Role, User, Interface, TreeItem from c2cgeoportal.lib.dbreflection import init for treeitem in DBSession.query(TreeItem).all(): DBSession.delete(treeitem) self.metadata = None self.layer_ids = [] self.role = Role(name=u"__test_role") self.user = User( username=u"__test_user", password=u"__test_user", role=self.role ) self.main = Interface(name=u"main") DBSession.add(self.user) DBSession.add(self.role) DBSession.add(self.main) transaction.commit() engine = sqlahelper.get_engine() init(engine)
def teardown_method(self, _): testing.tearDown() from c2cgeoportal.models import DBSession, TreeItem, Interface, Metadata for t in DBSession.query(Metadata).all(): DBSession.delete(t) for item in DBSession.query(TreeItem).all(): DBSession.delete(item) DBSession.query(Interface).filter(Interface.name == "desktop").delete() transaction.commit()
def teardown_method(self, _): testing.tearDown() from c2cgeoportal.models import DBSession, TreeItem, Interface, OGCServer for item in DBSession.query(TreeItem).all(): DBSession.delete(item) DBSession.query(Interface).filter(Interface.name == "main").delete() DBSession.query(OGCServer).delete() transaction.commit() PointTest.__table__.drop(bind=DBSession.bind, checkfirst=True)
def teardown_method(self, _): testing.tearDown() from c2cgeoportal.models import DBSession, TreeItem, \ Interface, Dimension, OGCServer DBSession.query(Dimension).delete() for item in DBSession.query(TreeItem).all(): DBSession.delete(item) DBSession.query(Interface).filter(Interface.name == "main").delete() DBSession.query(OGCServer).delete() transaction.commit()
def tearDown(self): # noqa testing.tearDown() from c2cgeoportal.models import DBSession, LayerV1, \ Theme, LayerGroup for t in DBSession.query(Theme).filter(Theme.name == "__test_theme").all(): DBSession.delete(t) DBSession.query(LayerGroup).delete() for layer in DBSession.query(LayerV1).all(): DBSession.delete(layer) # pragma: no cover transaction.commit()
def tearDown(self): # noqa testing.tearDown() from c2cgeoportal.models import DBSession, TreeItem, Interface for item in DBSession.query(TreeItem).all(): DBSession.delete(item) DBSession.query(Interface).filter( Interface.name == "main" ).delete() transaction.commit() TestPoint.__table__.drop(bind=DBSession.bind, checkfirst=True)
def teardown_method(self, _): import transaction from c2cgeoportal.models import DBSession, Role, User, Functionality, OGCServer functionality.FUNCTIONALITIES_TYPES = None transaction.commit() for o in DBSession.query(User).filter( User.username == "__test_user1").all(): o.functionalities = [] DBSession.delete(o) for o in DBSession.query(User).filter( User.username == "__test_user2").all(): o.functionalities = [] DBSession.delete(o) for o in DBSession.query(Role).filter( Role.name == "__test_role1").all(): o.functionalities = [] DBSession.delete(o) for o in DBSession.query(Role).filter( Role.name == "__test_role2").all(): o.functionalities = [] DBSession.delete(o) DBSession.query(Functionality).filter( Functionality.name == "__test_s").delete() DBSession.query(Functionality).filter( Functionality.name == "__test_a").delete() DBSession.query(Functionality).filter( Functionality.name == "__test_s").delete() DBSession.query(Functionality).filter( Functionality.name == "__test_a").delete() DBSession.query(OGCServer).delete() transaction.commit()
def tearDown(self): # noqa import transaction from c2cgeoportal.models import DBSession, Role, User, Functionality functionality.FUNCTIONALITIES_TYPES = None transaction.commit() for o in DBSession.query(User).filter( User.username == "__test_user1").all(): o.functionalities = [] DBSession.delete(o) for o in DBSession.query(User).filter( User.username == "__test_user2").all(): o.functionalities = [] DBSession.delete(o) for o in DBSession.query(Role).filter( Role.name == "__test_role1").all(): o.functionalities = [] DBSession.delete(o) for o in DBSession.query(Role).filter( Role.name == "__test_role2").all(): o.functionalities = [] DBSession.delete(o) DBSession.query(Functionality).filter( Functionality.name == "__test_s").delete() DBSession.query(Functionality).filter( Functionality.name == "__test_a").delete() DBSession.query(Functionality).filter( Functionality.name == "__test_s").delete() DBSession.query(Functionality).filter( Functionality.name == "__test_a").delete() transaction.commit()
def tearDown(self): import transaction from c2cgeoportal.models import DBSession, Role, User, Functionality transaction.commit() for o in DBSession.query(User).filter( User.username == '__test_user1').all(): o.functionalities = [] DBSession.delete(o) for o in DBSession.query(User).filter( User.username == '__test_user2').all(): o.functionalities = [] DBSession.delete(o) for o in DBSession.query(Role).filter( Role.name == '__test_role1').all(): o.functionalities = [] DBSession.delete(o) for o in DBSession.query(Role).filter( Role.name == '__test_role2').all(): o.functionalities = [] DBSession.delete(o) DBSession.query(Functionality).filter( Functionality.name == '__test_s').delete() DBSession.query(Functionality).filter( Functionality.name == '__test_a').delete() DBSession.query(Functionality).filter( Functionality.name == '__test_s').delete() DBSession.query(Functionality).filter( Functionality.name == '__test_a').delete() transaction.commit()
def tearDown(): # noqa testing.tearDown() from c2cgeoportal.models import DBSession, Layer, Theme, LayerGroup, Interface, Dimension, OGCServer DBSession.query(Dimension).delete() for l in DBSession.query(Layer).all(): DBSession.delete(l) DBSession.query(LayerGroup).delete() for t in DBSession.query(Theme).all(): DBSession.delete(t) DBSession.query(Interface).filter(Interface.name == "main").delete() DBSession.query(OGCServer).delete() transaction.commit()
def main(): # pragma: no cover parser = ArgumentParser( prog=sys.argv[0], add_help=True, description="Tool used to migrate your old layers from the old structure to the new one.", ) parser.add_argument( "-i", "--app-config", default="production.ini", dest="app_config", help="the application .ini config file (optional, default is 'production.ini')" ) parser.add_argument( "-n", "--app-name", default="app", dest="app_name", help="the application name (optional, default is 'app')" ) options = parser.parse_args() app_config = options.app_config app_name = options.app_name if app_name is None and "#" in app_config: app_config, app_name = app_config.split("#", 1) get_app(app_config, name=app_name) # must be done only once we have loaded the project config from c2cgeoportal.models import DBSession, \ ServerOGC, LayerWMS, LayerWMTS, LayerV1 session = DBSession() table_list = [LayerWMTS, LayerWMS, ServerOGC] for table in table_list: print "Emptying table %s." % str(table.__table__) # must be done exactly this way othewise the cascade config in the # models are not used for t in session.query(table).all(): session.delete(t) # list and create all distinct server_ogc server_ogc(session) print "Converting layerv1." for layer in session.query(LayerV1).all(): layer_v1tov2(session, layer) transaction.commit()
def tearDown(self): # noqa testing.tearDown() from c2cgeoportal.models import DBSession, Layer, \ Theme, LayerGroup, Interface, Dimension, OGCServer DBSession.query(Dimension).delete() for l in DBSession.query(Layer).all(): DBSession.delete(l) DBSession.query(LayerGroup).delete() for t in DBSession.query(Theme).all(): DBSession.delete(t) DBSession.query(Interface).filter(Interface.name == "main").delete() DBSession.query(OGCServer).delete() transaction.commit()
def tearDown(self): # noqa testing.tearDown() functionality.FUNCTIONALITIES_TYPES = None from c2cgeoportal.models import DBSession, LayerV1, \ Theme, LayerGroup, Interface for t in DBSession.query(Theme).all(): DBSession.delete(t) DBSession.query(LayerGroup).delete() for layer in DBSession.query(LayerV1).all(): DBSession.delete(layer) # pragma: no cover DBSession.query(Interface).filter( Interface.name == "main" ).delete() transaction.commit()
def tearDown(self): # noqa testing.tearDown() from c2cgeoportal.models import DBSession, Layer, \ Theme, LayerGroup, Interface, UIMetadata, WMTSDimension DBSession.query(UIMetadata).delete() DBSession.query(WMTSDimension).delete() for layer in DBSession.query(Layer).all(): DBSession.delete(layer) DBSession.query(LayerGroup).delete() for t in DBSession.query(Theme).all(): DBSession.delete(t) DBSession.query(Interface).filter( Interface.name == "main" ).delete() transaction.commit()
def tearDown(self): testing.tearDown() from c2cgeoportal.models import DBSession, Layer, \ Theme, LayerGroup, Interface, OGCServer for layer in DBSession.query(Layer).all(): DBSession.delete(layer) DBSession.query(LayerGroup).delete() for t in DBSession.query(Theme).all(): DBSession.delete(t) DBSession.query(OGCServer).filter( OGCServer.name == "__test_ogc_server" ).delete() DBSession.query(Interface).filter( Interface.name == "main" ).delete() transaction.commit()
def setup_method(self, _): # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None cleanup_db() self._tables = [] import transaction from c2cgeoportal.models import DBSession, Role, User, Interface, TreeItem, Theme, \ LayerGroup, OGCSERVER_AUTH_NOAUTH for treeitem in DBSession.query(TreeItem).all(): DBSession.delete(treeitem) self.role = Role(name="__test_role") self.user = User( username="******", password="******", role=self.role ) self.main = Interface(name="main") self.ogc_server, external_ogc_server = create_default_ogcserver() self.ogc_server.auth = OGCSERVER_AUTH_NOAUTH external_ogc_server.auth = OGCSERVER_AUTH_NOAUTH self.metadata = None self.layer_ids = [] self.layer_group_1 = LayerGroup(name="__test_layer_group_1") theme = Theme(name="__test_theme") theme.interfaces = [self.main] theme.children = [self.layer_group_1] DBSession.add_all([self.main, self.user, self.role, theme, self.layer_group_1]) transaction.commit()
def tearDown(self): # noqa testing.tearDown() functionality.FUNCTIONALITIES_TYPES = None from c2cgeoportal.models import ( DBSession, User, Role, Layer, RestrictionArea, Theme, LayerGroup, Interface, OGCServer, ) DBSession.query(User).filter(User.username == "__test_user1").delete() DBSession.query(User).filter(User.username == "__test_user2").delete() ra = DBSession.query(RestrictionArea).filter(RestrictionArea.name == "__test_ra1").one() ra.roles = [] DBSession.delete(ra) ra = DBSession.query(RestrictionArea).filter(RestrictionArea.name == "__test_ra2").one() ra.roles = [] DBSession.delete(ra) DBSession.query(Role).filter(Role.name == "__test_role1").delete() DBSession.query(Role).filter(Role.name == "__test_role2").delete() for t in DBSession.query(Theme).filter(Theme.name == "__test_theme").all(): DBSession.delete(t) for g in DBSession.query(LayerGroup).all(): DBSession.delete(g) for layer in DBSession.query(Layer).all(): DBSession.delete(layer) DBSession.query(Interface).filter(Interface.name == "main").delete() DBSession.query(OGCServer).delete() transaction.commit()
def tearDown(self): # noqa from c2cgeoportal.models import User, Role, LayerV1, RestrictionArea, \ Interface, DBSession, OGCServer DBSession.query(User).filter(User.username == "__test_user1").delete() ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == "__test_ra1" ).one() ra.roles = [] ra.layers = [] DBSession.delete(ra) r = DBSession.query(Role).filter(Role.name == "__test_role1").one() DBSession.delete(r) for layer in DBSession.query(LayerV1).filter( LayerV1.name.in_(["testpoint_group", "testpoint_protected_2"]) ).all(): DBSession.delete(layer) DBSession.query(Interface).filter( Interface.name == "main" ).delete() DBSession.query(OGCServer).delete() transaction.commit()
def tearDown(self): import transaction from c2cgeoportal.models import (DBSession, Role, User, Layer, TreeItem, RestrictionArea) transaction.commit() if self.metadata is not None: self.metadata.drop_all() for i in self.layer_ids: treeitem = DBSession.query(TreeItem).get(i) DBSession.delete(treeitem) layer = DBSession.query(Layer).get(i) DBSession.delete(layer) DBSession.query(User).filter( User.username == '__test_user' ).delete() r = DBSession.query(Role).filter( Role.name == '__test_role' ).one() r.restrictionareas = [] DBSession.delete(r) DBSession.query(RestrictionArea).filter( RestrictionArea.name == '__test_ra' ).delete() transaction.commit()
def tearDown(self): # noqa import transaction from c2cgeoportal.models import DBSession, Role, User, \ TreeItem, RestrictionArea, Interface transaction.commit() for treeitem in DBSession.query(TreeItem).all(): DBSession.delete(treeitem) DBSession.query(User).filter(User.username == u"__test_user").delete() r = DBSession.query(Role).filter(Role.name == u"__test_role").one() r.restrictionareas = [] DBSession.delete(r) DBSession.query(RestrictionArea).filter( RestrictionArea.name == u"__test_ra").delete() DBSession.query(Interface).filter(Interface.name == u"main").delete() if self._tables is not None: for table in self._tables[::-1]: table.drop() transaction.commit()
def tearDown(self): # noqa testing.tearDown() from c2cgeoportal.models import DBSession, Layer, \ Theme, LayerGroup, Interface, Metadata for t in DBSession.query(Metadata).all(): DBSession.delete(t) for layer in DBSession.query(Layer).all(): DBSession.delete(layer) for layergroup in DBSession.query(LayerGroup).all(): DBSession.delete(layergroup) for t in DBSession.query(Theme).all(): DBSession.delete(t) DBSession.query(Interface).filter( Interface.name == "desktop" ).delete() transaction.commit()
def tearDown(self): testing.tearDown() from c2cgeoportal.models import DBSession, Layer, \ Theme, LayerGroup for t in DBSession.query(Theme).all(): DBSession.delete(t) for layergroup in DBSession.query(LayerGroup).all(): DBSession.delete(layergroup) # pragma: nocover for layer in DBSession.query(Layer).all(): DBSession.delete(layer) # pragma: nocover transaction.commit()
def tearDown(self): testing.tearDown() from c2cgeoportal.models import DBSession, Layer, \ Theme, LayerGroup, Role for t in DBSession.query(Theme).filter(Theme.name == '__test_theme').all(): DBSession.delete(t) for layergroup in DBSession.query(LayerGroup).all(): DBSession.delete(layergroup) # pragma: nocover for layer in DBSession.query(Layer).all(): DBSession.delete(layer) # pragma: nocover transaction.commit()
def tearDown(self): # noqa testing.tearDown() from c2cgeoportal.models import DBSession, LayerV1, \ Theme, LayerGroup, OGCServer for t in DBSession.query(Theme).filter( Theme.name == "__test_theme").all(): DBSession.delete(t) for g in DBSession.query(LayerGroup).all(): DBSession.delete(g) for layer in DBSession.query(LayerV1).all(): DBSession.delete(layer) # pragma: no cover DBSession.query(OGCServer).delete() transaction.commit()
def teardown_method(self, _): testing.tearDown() from c2cgeoportal.models import DBSession, Layer, \ Theme, LayerGroup, OGCServer, Interface for layer in DBSession.query(Layer).all(): DBSession.delete(layer) for g in DBSession.query(LayerGroup).all(): DBSession.delete(g) for t in DBSession.query(Theme).all(): DBSession.delete(t) DBSession.query(OGCServer).delete() DBSession.query(Interface).filter(Interface.name == "main").delete() transaction.commit()
def tearDown(self): # noqa testing.tearDown() from c2cgeoportal.models import DBSession, LayerV1, \ Theme, LayerGroup, Interface for t in DBSession.query(Theme).all(): DBSession.delete(t) for layergroup in DBSession.query(LayerGroup).all(): DBSession.delete(layergroup) # pragma: nocover for layer in DBSession.query(LayerV1).all(): DBSession.delete(layer) # pragma: nocover DBSession.query(Interface).filter( Interface.name == 'main' ).delete() transaction.commit()
def teardown_method(self, _): testing.tearDown() functionality.FUNCTIONALITIES_TYPES = None from c2cgeoportal.models import DBSession, LayerV1, \ Theme, LayerGroup, Interface, OGCServer for t in DBSession.query(Theme).all(): DBSession.delete(t) for g in DBSession.query(LayerGroup).all(): DBSession.delete(g) for layer in DBSession.query(LayerV1).all(): DBSession.delete(layer) # pragma: no cover DBSession.query(Interface).filter(Interface.name == "main").delete() DBSession.query(OGCServer).delete() transaction.commit()
def tearDown(self): import transaction from c2cgeoportal.models import (DBSession, Role, User, Layer, TreeItem, RestrictionArea) transaction.commit() if self.metadata is not None: self.metadata.drop_all() for i in self.layer_ids: treeitem = DBSession.query(TreeItem).get(i) DBSession.delete(treeitem) layer = DBSession.query(Layer).get(i) DBSession.delete(layer) DBSession.query(User).filter(User.username == '__test_user').delete() r = DBSession.query(Role).filter(Role.name == '__test_role').one() r.restrictionareas = [] DBSession.delete(r) DBSession.query(RestrictionArea).filter( RestrictionArea.name == '__test_ra').delete() transaction.commit()
def main(): parser = ArgumentParser( prog=sys.argv[0], add_help=True, description="Tool used to migrate your old layers from the old structure to the new one.", ) parser.add_argument( "-i", "--app-config", default="production.ini", dest="app_config", help="the application .ini config file (optional, default is 'production.ini')" ) parser.add_argument( "-n", "--app-name", default="app", dest="app_name", help="the application name (optional, default is 'app')" ) parser.add_argument( "--no-layers", dest="layers", action="store_false", help="do not import the layers" ) parser.add_argument( "--no-groups", dest="groups", action="store_false", help="do not import the groups" ) parser.add_argument( "--no-themes", dest="themes", action="store_false", help="do not import the themes" ) options = parser.parse_args() app_config = options.app_config app_name = options.app_name if app_name is None and "#" in app_config: app_config, app_name = app_config.split("#", 1) get_app(app_config, name=app_name) # must be done only once we have loaded the project config from c2cgeoportal.models import DBSession, \ OGCServer, Theme, LayerWMS, LayerWMTS, LayerV1, LayerGroup session = DBSession() if options.layers: table_list = [LayerWMTS, LayerWMS, OGCServer] for table in table_list: print("Emptying table {0!s}.".format(str(table.__table__))) # must be done exactly this way othewise the cascade config in the # models are not used for t in session.query(table).all(): session.delete(t) # list and create all distinct ogc_server ogc_server(session) print("Converting layerv1.") for layer in session.query(LayerV1).all(): layer_v1tov2(session, layer) if options.groups: print("Converting layer groups.") for group in session.query(LayerGroup).all(): layergroup_v1tov2(session, group) if options.themes: print("Converting themes.") for theme in session.query(Theme).all(): theme_v1tov2(session, theme) transaction.commit()
def tearDown(): # noqa from c2cgeoportal.models import User, Role, LayerV1, RestrictionArea, \ Functionality, Interface, DBSession, OGCServer functionality.FUNCTIONALITIES_TYPES = None DBSession.query(User).filter(User.username == "__test_user1").delete() DBSession.query(User).filter(User.username == "__test_user2").delete() DBSession.query(User).filter(User.username == "__test_user3").delete() ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == "__test_ra1" ).one() ra.roles = [] ra.layers = [] DBSession.delete(ra) ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == "__test_ra2" ).one() ra.roles = [] ra.layers = [] DBSession.delete(ra) ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == "__test_ra3" ).one() ra.roles = [] ra.layers = [] DBSession.delete(ra) r = DBSession.query(Role).filter(Role.name == "__test_role1").one() r.functionalities = [] DBSession.delete(r) r = DBSession.query(Role).filter(Role.name == "__test_role2").one() r.functionalities = [] DBSession.delete(r) r = DBSession.query(Role).filter(Role.name == "__test_role3").one() r.functionalities = [] DBSession.delete(r) DBSession.query(Functionality).filter(Functionality.value == u"1 Wohlen A4 portrait").delete() DBSession.query(Functionality).filter(Functionality.value == u"2 Wohlen A3 landscape").delete() for layer in DBSession.query(LayerV1).filter(LayerV1.name == "testpoint_unprotected").all(): DBSession.delete(layer) # pragma: no cover for layer in DBSession.query(LayerV1).filter(LayerV1.name == "testpoint_protected").all(): DBSession.delete(layer) for layer in DBSession.query(LayerV1).filter(LayerV1.name == "testpoint_protected_query_with_collect").all(): DBSession.delete(layer) DBSession.query(Interface).filter( Interface.name == "main" ).delete() DBSession.query(OGCServer).delete() transaction.commit() TestPoint.__table__.drop(bind=DBSession.bind, checkfirst=True)
def tearDown(self): from c2cgeoportal.models import User, Role, Layer, RestrictionArea, \ Functionality, DBSession DBSession.query(User).filter(User.username == '__test_user1').delete() DBSession.query(User).filter(User.username == '__test_user2').delete() DBSession.query(User).filter(User.username == '__test_user3').delete() ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == '__test_ra1').one() ra.roles = [] ra.layers = [] DBSession.delete(ra) ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == '__test_ra2').one() ra.roles = [] ra.layers = [] DBSession.delete(ra) ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == '__test_ra3').one() ra.roles = [] ra.layers = [] DBSession.delete(ra) r = DBSession.query(Role).filter(Role.name == '__test_role1').one() r.functionalities = [] DBSession.delete(r) r = DBSession.query(Role).filter(Role.name == '__test_role2').one() r.functionalities = [] DBSession.delete(r) r = DBSession.query(Role).filter(Role.name == '__test_role3').one() r.functionalities = [] DBSession.delete(r) for f in DBSession.query(Functionality).filter( Functionality.value == u'1 Wohlen A4 portrait').all(): DBSession.delete(f) for f in DBSession.query(Functionality).filter( Functionality.value == u'2 Wohlen A3 landscape').all(): DBSession.delete(f) for layer in DBSession.query(Layer).filter( Layer.name == 'testpoint_unprotected').all(): DBSession.delete(layer) # pragma: nocover for layer in DBSession.query(Layer).filter( Layer.name == 'testpoint_protected').all(): DBSession.delete(layer) for layer in DBSession.query(Layer).filter( Layer.name == 'testpoint_protected_query_with_collect').all(): DBSession.delete(layer) transaction.commit() TestPoint.__table__.drop(bind=DBSession.bind, checkfirst=True)
def tearDown(self): # noqa from c2cgeoportal.models import User, Role, LayerV1, RestrictionArea, Interface, DBSession DBSession.query(User).filter(User.username == "__test_user1").delete() DBSession.query(User).filter(User.username == "__test_user2").delete() ra = DBSession.query(RestrictionArea).filter(RestrictionArea.name == "__test_ra1").one() ra.roles = [] ra.layers = [] DBSession.delete(ra) ra = DBSession.query(RestrictionArea).filter(RestrictionArea.name == "__test_ra2").one() ra.roles = [] ra.layers = [] DBSession.delete(ra) r = DBSession.query(Role).filter(Role.name == "__test_role1").one() r.functionalities = [] DBSession.delete(r) r = DBSession.query(Role).filter(Role.name == "__test_role2").one() r.functionalities = [] DBSession.delete(r) for layer in DBSession.query(LayerV1).filter(LayerV1.name == "layer_1").all(): DBSession.delete(layer) # pragma: no cover for layer in DBSession.query(LayerV1).filter(LayerV1.name == "layer_2").all(): DBSession.delete(layer) for layer in DBSession.query(LayerV1).filter(LayerV1.name == "layer_3").all(): DBSession.delete(layer) DBSession.query(Interface).filter(Interface.name == "main").delete() transaction.commit()
def tearDown(self): from c2cgeoportal.models import User, Role, Layer, RestrictionArea, \ Functionality, DBSession DBSession.query(User).filter(User.username == '__test_user1').delete() DBSession.query(User).filter(User.username == '__test_user2').delete() DBSession.query(User).filter(User.username == '__test_user3').delete() ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == '__test_ra1').one() ra.roles = [] ra.layers = [] DBSession.delete(ra) ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == '__test_ra2').one() ra.roles = [] ra.layers = [] DBSession.delete(ra) ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == '__test_ra3').one() ra.roles = [] ra.layers = [] DBSession.delete(ra) r = DBSession.query(Role).filter(Role.name == '__test_role1').one() r.functionalities = [] DBSession.delete(r) r = DBSession.query(Role).filter(Role.name == '__test_role2').one() r.functionalities = [] DBSession.delete(r) r = DBSession.query(Role).filter(Role.name == '__test_role3').one() r.functionalities = [] DBSession.delete(r) for f in DBSession.query(Functionality).filter(Functionality.value == u'1 Wohlen A4 portrait').all(): DBSession.delete(f) for f in DBSession.query(Functionality).filter(Functionality.value == u'2 Wohlen A3 landscape').all(): DBSession.delete(f) for layer in DBSession.query(Layer).filter(Layer.name == 'testpoint_unprotected').all(): DBSession.delete(layer) # pragma: nocover for layer in DBSession.query(Layer).filter(Layer.name == 'testpoint_protected').all(): DBSession.delete(layer) for layer in DBSession.query(Layer).filter(Layer.name == 'testpoint_protected_query_with_collect').all(): DBSession.delete(layer) transaction.commit() TestPoint.__table__.drop(bind=DBSession.bind, checkfirst=True)
def main(): parser = ArgumentParser( prog=sys.argv[0], add_help=True, description="Tool used to migrate your old layers from the old structure to the new one.", ) parser.add_argument( "-i", "--app-config", default="production.ini", dest="app_config", help="the application .ini config file (optional, default is 'production.ini')" ) parser.add_argument( "-n", "--app-name", default="app", dest="app_name", help="the application name (optional, default is 'app')" ) parser.add_argument( "--no-layers", dest="layers", action="store_false", help="do not import the layers" ) parser.add_argument( "--no-groups", dest="groups", action="store_false", help="do not import the groups" ) parser.add_argument( "--no-themes", dest="themes", action="store_false", help="do not import the themes" ) options = parser.parse_args() app_config = options.app_config app_name = options.app_name if app_name is None and "#" in app_config: app_config, app_name = app_config.split("#", 1) fileConfig(app_config, defaults=os.environ) app = get_app(app_config, app_name, options=os.environ) # must be done only once we have loaded the project config from c2cgeoportal.models import DBSession, \ OGCServer, Theme, LayerWMS, LayerWMTS, LayerV1, LayerGroup session = DBSession() if options.layers: table_list = [LayerWMTS, LayerWMS, OGCServer] for table in table_list: print(("Emptying table {0!s}.".format(table.__table__))) # must be done exactly this way othewise the cascade config in the # models are not used for t in session.query(table).all(): session.delete(t) # list and create all distinct ogc_server ogc_server(session, app.registry.settings) print("Converting layerv1.") for layer in session.query(LayerV1).all(): layer_v1tov2(session, layer) if options.groups: print("Converting layer groups.") for group in session.query(LayerGroup).all(): layergroup_v1tov2(session, group) if options.themes: print("Converting themes.") for theme in session.query(Theme).all(): theme_v1tov2(session, theme) transaction.commit()
def setup_method(self, _): # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None self._tables = [] functionality.FUNCTIONALITIES_TYPES = None from c2cgeoportal.models import DBSession, User, Role, \ RestrictionArea, TreeItem, Theme, LayerGroup, Interface, LayerWMS from sqlalchemy import Column, Table, types from sqlalchemy.ext.declarative import declarative_base from geoalchemy2 import Geometry for o in DBSession.query(RestrictionArea).all(): DBSession.delete(o) for o in DBSession.query(Role).all(): DBSession.delete(o) for o in DBSession.query(User).all(): DBSession.delete(o) for o in DBSession.query(TreeItem).all(): DBSession.delete(o) ogcserver, ogcserver_external = create_default_ogcserver() role1 = Role(name="__test_role1") role1.id = 999 user1 = User(username="******", password="******", role=role1) user1.email = "*****@*****.**" role2 = Role(name="__test_role2", extent=WKTElement( "POLYGON((1 2, 1 4, 3 4, 3 2, 1 2))", srid=21781 )) user2 = User(username="******", password="******", role=role2) main = Interface(name="main") engine = DBSession.c2c_rw_bind engine.connect() a_geo_table = Table( "a_geo_table", declarative_base(bind=engine).metadata, Column("id", types.Integer, primary_key=True), Column("geom", Geometry("POINT", srid=21781)), schema="geodata" ) self._tables = [a_geo_table] a_geo_table.drop(checkfirst=True) a_geo_table.create() private_layer = LayerWMS(name="__test_private_layer", public=False) private_layer.layer = "__test_private_layer" private_layer.geo_table = "geodata.a_geo_table" private_layer.interfaces = [main] private_layer.ogc_server = ogcserver group = LayerGroup(name="__test_layer_group") group.children = [private_layer] theme = Theme(name="__test_theme") theme.children = [group] theme.interfaces = [main] DBSession.add(RestrictionArea( name="__test_ra1", description="", layers=[private_layer], roles=[role1], )) DBSession.add(RestrictionArea( name="__test_ra2", description="", layers=[private_layer], roles=[role2], readwrite=True, )) DBSession.add_all([ user1, user2, role1, role2, theme, group, private_layer, ]) transaction.commit()
def tearDown(self): # noqa from c2cgeoportal.models import User, Role, LayerV1, RestrictionArea, \ Interface, DBSession DBSession.query(User).filter(User.username == "__test_user1").delete() DBSession.query(User).filter(User.username == "__test_user2").delete() ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == "__test_ra1").one() ra.roles = [] ra.layers = [] DBSession.delete(ra) ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == "__test_ra2").one() ra.roles = [] ra.layers = [] DBSession.delete(ra) r = DBSession.query(Role).filter(Role.name == "__test_role1").one() r.functionalities = [] DBSession.delete(r) r = DBSession.query(Role).filter(Role.name == "__test_role2").one() r.functionalities = [] DBSession.delete(r) for layer in DBSession.query(LayerV1).filter( LayerV1.name == "layer_1").all(): DBSession.delete(layer) # pragma: no cover for layer in DBSession.query(LayerV1).filter( LayerV1.name == "layer_2").all(): DBSession.delete(layer) for layer in DBSession.query(LayerV1).filter( LayerV1.name == "layer_3").all(): DBSession.delete(layer) DBSession.query(Interface).filter(Interface.name == "main").delete() transaction.commit()
def tearDown(self): # noqa from c2cgeoportal.models import User, Role, LayerV1, RestrictionArea, \ Functionality, Interface, DBSession, OGCServer functionality.FUNCTIONALITIES_TYPES = None DBSession.query(User).filter(User.username == "__test_user1").delete() DBSession.query(User).filter(User.username == "__test_user2").delete() DBSession.query(User).filter(User.username == "__test_user3").delete() ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == "__test_ra1").one() ra.roles = [] ra.layers = [] DBSession.delete(ra) ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == "__test_ra2").one() ra.roles = [] ra.layers = [] DBSession.delete(ra) ra = DBSession.query(RestrictionArea).filter( RestrictionArea.name == "__test_ra3").one() ra.roles = [] ra.layers = [] DBSession.delete(ra) r = DBSession.query(Role).filter(Role.name == "__test_role1").one() r.functionalities = [] DBSession.delete(r) r = DBSession.query(Role).filter(Role.name == "__test_role2").one() r.functionalities = [] DBSession.delete(r) r = DBSession.query(Role).filter(Role.name == "__test_role3").one() r.functionalities = [] DBSession.delete(r) DBSession.query(Functionality).filter( Functionality.value == u"1 Wohlen A4 portrait").delete() DBSession.query(Functionality).filter( Functionality.value == u"2 Wohlen A3 landscape").delete() for layer in DBSession.query(LayerV1).filter( LayerV1.name == "testpoint_unprotected").all(): DBSession.delete(layer) # pragma: no cover for layer in DBSession.query(LayerV1).filter( LayerV1.name == "testpoint_protected").all(): DBSession.delete(layer) for layer in DBSession.query(LayerV1).filter( LayerV1.name == "testpoint_protected_query_with_collect").all(): DBSession.delete(layer) DBSession.query(Interface).filter(Interface.name == "main").delete() DBSession.query(OGCServer).delete() transaction.commit() TestPoint.__table__.drop(bind=DBSession.bind, checkfirst=True)