def setUp(self): # noqa from c2cgeoportal.models import User, Role, LayerV1, RestrictionArea, \ Interface, DBSession create_default_ogcserver() user1 = User(username=u"__test_user1", password=u"__test_user1") role1 = Role(name=u"__test_role1", description=u"__test_role1") user1.role_name = role1.name user1.email = u"Tarenpion" main = Interface(name=u"main") layer1 = LayerV1(u"testpoint_group", public=False) layer1.interfaces = [main] layer2 = LayerV1(u"testpoint_protected_2", public=False) layer2.interfaces = [main] area = "POLYGON((-100 30, -100 50, 100 50, 100 30, -100 30))" area = WKTElement(area, srid=21781) restricted_area1 = RestrictionArea(u"__test_ra1", u"", [layer1, layer2], [role1], area) DBSession.add_all([user1, role1, layer1, layer2, restricted_area1]) DBSession.flush() transaction.commit()
def setUp(self): # noqa import sqlahelper import transaction from c2cgeoportal.models import DBSession, Role, User, Functionality from c2cgeoportal.lib.dbreflection import init create_default_ogcserver() role1 = Role(name=u"__test_role1") user1 = User(username=u"__test_user1", password=u"__test_user1", role=role1) role2 = Role(name=u"__test_role2") user2 = User(username=u"__test_user2", password=u"__test_user2", role=role2) functionality1 = Functionality(u"__test_s", u"db") functionality2 = Functionality(u"__test_a", u"db1") functionality3 = Functionality(u"__test_a", u"db2") role2.functionalities = [ functionality1, functionality2, functionality3 ] DBSession.add_all([user1, user2, role1, role2]) transaction.commit() engine = sqlahelper.get_engine() init(engine)
def setUp(self): # noqa import sqlahelper import transaction from c2cgeoportal.models import DBSession, Role, User, Functionality from c2cgeoportal.lib.dbreflection import init create_default_ogcserver() role1 = Role(name=u"__test_role1") user1 = User( username=u"__test_user1", password=u"__test_user1", role=role1 ) role2 = Role(name=u"__test_role2") user2 = User( username=u"__test_user2", password=u"__test_user2", role=role2 ) functionality1 = Functionality(u"__test_s", u"db") functionality2 = Functionality(u"__test_a", u"db1") functionality3 = Functionality(u"__test_a", u"db2") role2.functionalities = [functionality1, functionality2, functionality3] DBSession.add_all([user1, user2, role1, role2]) transaction.commit() engine = sqlahelper.get_engine() init(engine)
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import DBSession, LayerV1, Theme, Interface, LayerGroup create_default_ogcserver() main = Interface(name=u"main") mobile = Interface(name=u"mobile") layer = LayerV1(name=u"__test_layer") layer.interfaces = [main, mobile] mobile_only_layer = LayerV1(name=u"__test_mobile_only_layer") mobile_only_layer.interfaces = [mobile] desktop_only_layer = LayerV1(name=u"__test_desktop_only_layer") desktop_only_layer.interfaces = [main] group = LayerGroup(name=u"__test_layer_group") group.children = [layer, mobile_only_layer, desktop_only_layer] theme = Theme(name=u"__test_theme") theme.children = [group] theme.interfaces = [main, mobile] mobile_only_group = LayerGroup(name=u"__test_mobile_only_layer_group") mobile_only_group.children = [layer] mobile_only_theme = Theme(name=u"__test_mobile_only_theme") mobile_only_theme.children = [mobile_only_group] mobile_only_theme.interfaces = [mobile] desktop_only_group = LayerGroup(name=u"__test_desktop_only_layer_group") desktop_only_group.children = [layer] desktop_only_theme = Theme(name=u"__test_desktop_only_theme") desktop_only_theme.children = [desktop_only_group] desktop_only_theme.interfaces = [main] # the following theme should not appear in the list of themes on desktop # nor on mobile # It should be accessible by explicitely loading it in mobile though mobile_private_group = LayerGroup(name=u"__test_mobile_private_layer_group") mobile_private_group.children = [layer] mobile_private_theme = Theme(name=u"__test_mobile_private_theme") mobile_private_theme.children = [mobile_private_group] DBSession.add_all([ layer, mobile_only_layer, desktop_only_layer, theme, mobile_only_theme, desktop_only_theme, mobile_private_theme ]) transaction.commit()
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import DBSession, \ Theme, LayerGroup, Interface, OGCServer, LayerWMS, LayerWMTS main = Interface(name=u"main") ogc_server_internal, _ = create_default_ogcserver() ogc_server_external = OGCServer(name="__test_ogc_server_external", url="http://wms.geo.admin.ch/", image_type="image/jpeg") layer_internal_wms = LayerWMS(name=u"__test_layer_internal_wms", public=True) layer_internal_wms.layer = "__test_layer_internal_wms" layer_internal_wms.interfaces = [main] layer_internal_wms.ogc_server = ogc_server_internal layer_external_wms = LayerWMS(name=u"__test_layer_external_wms", layer="ch.swisstopo.dreiecksvermaschung", public=True) layer_external_wms.interfaces = [main] layer_external_wms.ogc_server = ogc_server_external layer_wmts = LayerWMTS(name=u"__test_layer_wmts", public=True) layer_wmts.interfaces = [main] layer_group_1 = LayerGroup(name=u"__test_layer_group_1") layer_group_1.children = [layer_internal_wms] layer_group_2 = LayerGroup(name=u"__test_layer_group_2") layer_group_2.children = [layer_external_wms] layer_group_3 = LayerGroup(name=u"__test_layer_group_3") layer_group_3.children = [layer_wmts] layer_group_4 = LayerGroup(name=u"__test_layer_group_4") layer_group_4.children = [layer_group_1, layer_group_2] layer_group_5 = LayerGroup(name=u"__test_layer_group_5") layer_group_5.children = [layer_group_1, layer_group_3] layer_group_6 = LayerGroup(name=u"__test_layer_group_6") layer_group_6.children = [layer_internal_wms] layer_group_7 = LayerGroup(name=u"__test_layer_group_7") layer_group_7.children = [layer_group_1, layer_group_6] layer_group_8 = LayerGroup(name=u"__test_layer_group_8") layer_group_8.children = [layer_group_2, layer_group_6] theme = Theme(name=u"__test_theme") theme.interfaces = [main] theme.children = [ layer_group_1, layer_group_2, layer_group_3, layer_group_4, layer_group_5, layer_group_7, layer_group_8, ] DBSession.add(theme) transaction.commit()
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import DBSession, \ Theme, LayerGroup, Interface, LayerWMS main = Interface(name=u"desktop") ogc_server, _ = create_default_ogcserver() layer_wms = LayerWMS(name=u"__test_layer_wms", public=True) layer_wms.layer = "testpoint_unprotected" layer_wms.interfaces = [main] layer_wms.ogc_server = ogc_server layer_group = LayerGroup(name=u"__test_layer_group") layer_group.children = [layer_wms] theme = Theme(name=u"__test/theme") theme.interfaces = [main] theme.children = [layer_group] DBSession.add(theme) transaction.commit()
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import DBSession, \ Theme, LayerGroup, Interface, LayerWMS main = Interface(name=u"desktop") ogc_server, _ = create_default_ogcserver() layer_wms = LayerWMS(name=u"__test_layer_wms", public=True) layer_wms.layer = "testpoint_unprotected" layer_wms.interfaces = [main] layer_wms.ogc_server = ogc_server layer_group = LayerGroup(name=u"__test_layer_group") layer_group.children = [layer_wms] theme = Theme(name=u"__test/theme") theme.interfaces = [main] theme.children = [ layer_group ] DBSession.add(theme) transaction.commit()
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None functionality.FUNCTIONALITIES_TYPES = None from c2cgeoportal.models import DBSession, User, Role, \ RestrictionArea, Theme, LayerGroup, Interface, LayerWMS ogcserver, ogcserver_external = create_default_ogcserver() role1 = Role(name=u"__test_role1") role1.id = 999 user1 = User(username=u"__test_user1", password=u"__test_user1", role=role1) user1.email = "*****@*****.**" role2 = Role(name=u"__test_role2", extent=WKTElement( "POLYGON((1 2, 1 4, 3 4, 3 2, 1 2))", srid=21781 )) user2 = User(username=u"__test_user2", password=u"__test_user2", role=role2) main = Interface(name=u"main") private_layer = LayerWMS(name=u"__test_private_layer", public=False) private_layer.layer = "__test_private_layer" private_layer.geo_table = "a_schema.a_geo_table" private_layer.interfaces = [main] private_layer.ogc_server = ogcserver group = LayerGroup(name=u"__test_layer_group") group.children = [private_layer] theme = Theme(name=u"__test_theme") theme.children = [group] theme.interfaces = [main] DBSession.add(RestrictionArea( name=u"__test_ra1", description=u"", layers=[private_layer], roles=[role1], )) DBSession.add(RestrictionArea( name=u"__test_ra2", description=u"", layers=[private_layer], roles=[role2], readwrite=True, )) DBSession.add_all([ user1, user2, role1, role2, theme, group, private_layer, ]) transaction.commit()
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import DBSession, LayerV1, \ Theme, LayerGroup, Interface create_default_ogcserver() main = Interface(name=u"desktop") layer = LayerV1(name=u"__test_layer", public=True) layer.interfaces = [main] layer_group = LayerGroup(name=u"__test_layer_group") layer_group.children = [layer, layer_group] theme = Theme(name=u"__test_theme") theme.children = [layer, layer_group] theme.interfaces = [main] DBSession.add_all([layer, layer_group, theme]) transaction.commit()
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import DBSession, \ Theme, LayerGroup, Interface, LayerWMS main = Interface(name=u"desktop") ogc_server, _ = create_default_ogcserver() layer_noscale = LayerWMS(name=u"__test_layer_noscale", public=True) layer_noscale.layer = "test_noscale" layer_noscale.interfaces = [main] layer_noscale.ogc_server = ogc_server layer_minscale = LayerWMS(name=u"__test_layer_minscale", public=True) layer_minscale.layer = "test_minscale" layer_minscale.interfaces = [main] layer_minscale.ogc_server = ogc_server layer_maxscale = LayerWMS(name=u"__test_layer_maxscale", public=True) layer_maxscale.layer = "test_maxscale" layer_maxscale.interfaces = [main] layer_maxscale.ogc_server = ogc_server layer_boothscale = LayerWMS(name=u"__test_layer_boothscale", public=True) layer_boothscale.layer = "test_boothscale" layer_boothscale.interfaces = [main] layer_boothscale.ogc_server = ogc_server layer_group = LayerGroup(name=u"__test_layer_group") layer_group.children = [ layer_noscale, layer_minscale, layer_maxscale, layer_boothscale ] theme = Theme(name=u"__test_theme") theme.interfaces = [main] theme.children = [layer_group] DBSession.add_all([theme]) transaction.commit()
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import DBSession, \ Theme, LayerGroup, Interface, LayerWMS main = Interface(name=u"desktop") ogc_server, _ = create_default_ogcserver() layer_noscale = LayerWMS(name=u"__test_layer_noscale", public=True) layer_noscale.layer = "test_noscale" layer_noscale.interfaces = [main] layer_noscale.ogc_server = ogc_server layer_minscale = LayerWMS(name=u"__test_layer_minscale", public=True) layer_minscale.layer = "test_minscale" layer_minscale.interfaces = [main] layer_minscale.ogc_server = ogc_server layer_maxscale = LayerWMS(name=u"__test_layer_maxscale", public=True) layer_maxscale.layer = "test_maxscale" layer_maxscale.interfaces = [main] layer_maxscale.ogc_server = ogc_server layer_boothscale = LayerWMS(name=u"__test_layer_boothscale", public=True) layer_boothscale.layer = "test_boothscale" layer_boothscale.interfaces = [main] layer_boothscale.ogc_server = ogc_server layer_group = LayerGroup(name=u"__test_layer_group") layer_group.children = [layer_noscale, layer_minscale, layer_maxscale, layer_boothscale] theme = Theme(name=u"__test_theme") theme.interfaces = [main] theme.children = [layer_group] DBSession.add_all([theme]) transaction.commit()
def setUp(self): # noqa self.maxDiff = None from c2cgeoportal.models import User, Role, LayerV1, RestrictionArea, \ Functionality, Interface, DBSession, management, OGCServer, \ OGCSERVER_TYPE_GEOSERVER, OGCSERVER_AUTH_GEOSERVER if management: TestPoint.__table__.c.the_geom.type.management = True create_default_ogcserver() ogcserver_geoserver = OGCServer(name="__test_ogc_server_geoserver") ogcserver_geoserver.url = mapserv ogcserver_geoserver.type = OGCSERVER_TYPE_GEOSERVER ogcserver_geoserver.auth = OGCSERVER_AUTH_GEOSERVER TestPoint.__table__.create(bind=DBSession.bind, checkfirst=True) geom = WKTElement("MULTIPOINT((-90 -45))", srid=21781) p1 = TestPoint(the_geom=geom, name=u"foo", city=u"Lausanne", country=u"Swiss") geom = WKTElement("MULTIPOINT((-90 45))", srid=21781) p2 = TestPoint(the_geom=geom, name=u"bar", city=u"Chambéry", country=u"France") geom = WKTElement("MULTIPOINT((90 45))", srid=21781) p3 = TestPoint(the_geom=geom, name=u"éàè", city="Paris", country=u"France") geom = WKTElement("MULTIPOINT((90 -45))", srid=21781) p4 = TestPoint(the_geom=geom, name=u"123", city="Londre", country=u"UK") pt1 = Functionality(name=u"print_template", value=u"1 Wohlen A4 portrait") pt2 = Functionality(name=u"print_template", value=u"2 Wohlen A3 landscape") user1 = User(username=u"__test_user1", password=u"__test_user1") role1 = Role(name=u"__test_role1", description=u"__test_role1", functionalities=[pt1, pt2]) user1.role_name = role1.name user1.email = u"Tarenpion" user2 = User(username=u"__test_user2", password=u"__test_user2") role2 = Role(name=u"__test_role2", description=u"__test_role2", functionalities=[pt1, pt2]) user2.role_name = role2.name user2.email = u"Tarenpion" user3 = User(username=u"__test_user3", password=u"__test_user3") role3 = Role(name=u"__test_role3", description=u"__test_role3", functionalities=[pt1, pt2]) user3.role_name = role3.name user3.email = u"Tarenpion" main = Interface(name=u"main") layer2 = LayerV1(u"testpoint_protected", public=False) layer2.interfaces = [main] layer3 = LayerV1(u"testpoint_protected_query_with_collect", public=False) layer3.interfaces = [main] area = "POLYGON((-100 30, -100 50, 100 50, 100 30, -100 30))" area = WKTElement(area, srid=21781) restricted_area1 = RestrictionArea(u"__test_ra1", u"", [layer2, layer3], [role1], area) area = "POLYGON((-100 0, -100 20, 100 20, 100 0, -100 0))" area = WKTElement(area, srid=21781) restricted_area2 = RestrictionArea(u"__test_ra2", u"", [layer2, layer3], [role2, role3], area) area = "POLYGON((-95 43, -95 47, 95 47, 95 43, -95 43))" area = WKTElement(area, srid=21781) restricted_area3 = RestrictionArea(u"__test_ra3", u"", [layer3], [role3], area, readwrite=True) DBSession.add_all([ p1, p2, p3, p4, user1, user2, user3, role1, role2, role3, restricted_area1, restricted_area2, restricted_area3, ogcserver_geoserver ]) DBSession.flush() self.id_lausanne = p1.id self.id_paris = p3.id transaction.commit()
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import DBSession, \ Theme, LayerGroup, Interface, LayerWMS, LayerWMTS TestPoint.__table__.create(bind=DBSession.bind, checkfirst=True) main = Interface(name=u"desktop") ogc_server, _ = create_default_ogcserver() layer_wms_1 = LayerWMS(name=u"__test_layer_time_1", public=True) layer_wms_1.layer = "test_wmstime" layer_wms_1.time_mode = "value" layer_wms_1.interfaces = [main] layer_wms_1.ogc_server = ogc_server layer_wms_2 = LayerWMS(name=u"__test_layer_time_2", public=True) layer_wms_2.layer = "test_wmstime2" layer_wms_2.time_mode = "value" layer_wms_2.interfaces = [main] layer_wms_2.ogc_server = ogc_server layer_wmts = LayerWMTS(name=u"__test_layer_wmts", public=True) layer_wmts.url = "http://example.com/1.0.0/WMTSCapabilities.xml" layer_wmts.layer = "map" layer_wmts.interfaces = [main] layer_wms_group = LayerWMS(name=u"__test_layer_time_group", public=True) layer_wms_group.layer = "test_wmstimegroup" layer_wms_group.time_mode = "range" layer_wms_group.time_widget = "datepicker" layer_wms_group.interfaces = [main] layer_wms_group.ogc_server = ogc_server layer_group_1 = LayerGroup(name=u"__test_layer_group_1") layer_group_1.children = [layer_wms_1, layer_wms_2] layer_group_2 = LayerGroup(name=u"__test_layer_group_2") layer_group_2.children = [layer_wms_1] layer_group_3 = LayerGroup(name=u"__test_layer_group_3") layer_group_3.children = [layer_wms_1, layer_wms_2, layer_wms_group] layer_group_4 = LayerGroup(name=u"__test_layer_group_4") layer_group_4.children = [layer_wms_group] layer_group_5 = LayerGroup(name=u"__test_layer_group_5") layer_group_5.children = [layer_wms_1, layer_wms_2] layer_group_6 = LayerGroup(name=u"__test_layer_group_6") layer_group_6.children = [layer_wms_1, layer_wms_2, layer_wmts] layer_group_7 = LayerGroup(name=u"__test_layer_group_7") layer_group_7.children = [layer_wms_1] theme = Theme(name=u"__test_theme") theme.interfaces = [main] theme.children = [ layer_group_1, layer_group_2, layer_group_3, layer_group_4, layer_group_5, layer_group_6, layer_group_7, ] DBSession.add_all([theme]) transaction.commit()
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import DBSession, \ Theme, LayerGroup, Functionality, Interface, \ LayerV1, OGCServer, LayerWMS, LayerWMTS, \ Metadata, Dimension, OGCSERVER_AUTH_NOAUTH main = Interface(name=u"desktop") mobile = Interface(name=u"mobile") min_levels = Interface(name=u"min_levels") layer_v1 = LayerV1(name=u"__test_layer_v1", public=True) layer_v1.interfaces = [main] layer_v1.metadatas = [Metadata("test", "v1")] ogc_server_internal, _ = create_default_ogcserver() ogc_server_external = OGCServer( name="__test_ogc_server_chtopo", url="http://wms.geo.admin.ch/", image_type="image/jpeg", auth=OGCSERVER_AUTH_NOAUTH ) ogc_server_external.wfs_support = False layer_internal_wms = LayerWMS(name=u"__test_layer_internal_wms", public=True) layer_internal_wms.layer = "__test_layer_internal_wms" layer_internal_wms.interfaces = [main, min_levels] layer_internal_wms.metadatas = [Metadata("test", "internal_wms")] layer_internal_wms.ogc_server = ogc_server_internal layer_external_wms = LayerWMS(name=u"__test_layer_external_wms", layer="ch.swisstopo.dreiecksvermaschung", public=True) layer_external_wms.interfaces = [main] layer_external_wms.metadatas = [Metadata("test", "external_wms")] layer_external_wms.ogc_server = ogc_server_external layer_wmts = LayerWMTS(name=u"__test_layer_wmts", public=True) layer_wmts.url = "http://example.com/1.0.0/WMTSCapabilities.xml" layer_wmts.layer = "map" layer_wmts.interfaces = [main, mobile] layer_wmts.metadatas = [Metadata("test", "wmts")] layer_wmts.dimensions = [Dimension("year", "2015")] layer_group_1 = LayerGroup(name=u"__test_layer_group_1") layer_group_1.children = [layer_v1, layer_internal_wms, layer_external_wms, layer_wmts] layer_group_1.metadatas = [Metadata("test", "group_1")] layer_group_2 = LayerGroup(name=u"__test_layer_group_2") layer_group_2.children = [layer_wmts, layer_internal_wms, layer_external_wms] layer_group_3 = LayerGroup(name=u"__test_layer_group_3") layer_group_3.children = [layer_wmts, layer_internal_wms, layer_external_wms] layer_group_4 = LayerGroup(name=u"__test_layer_group_4") layer_group_4.children = [layer_group_2] theme = Theme(name=u"__test_theme") theme.interfaces = [main, mobile] theme.metadatas = [Metadata("test", "theme")] theme.children = [ layer_group_1, layer_group_2 ] theme_layer = Theme(name=u"__test_theme_layer") theme_layer.interfaces = [min_levels] theme_layer.children = [ layer_internal_wms ] functionality1 = Functionality(name=u"test_name", value=u"test_value_1") functionality2 = Functionality(name=u"test_name", value=u"test_value_2") theme.functionalities = [functionality1, functionality2] DBSession.add_all([theme, theme_layer]) transaction.commit()
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import DBSession, \ Theme, LayerGroup, Functionality, Interface, \ LayerV1, OGCServer, LayerWMS, LayerWMTS, \ Metadata, Dimension, OGCSERVER_AUTH_NOAUTH main = Interface(name=u"desktop") mobile = Interface(name=u"mobile") min_levels = Interface(name=u"min_levels") layer_v1 = LayerV1(name=u"__test_layer_v1", public=True) layer_v1.interfaces = [main] layer_v1.metadatas = [Metadata("test", "v1")] ogc_server_internal, _ = create_default_ogcserver() ogc_server_external = OGCServer(name="__test_ogc_server_chtopo", url="http://wms.geo.admin.ch/", image_type="image/jpeg", auth=OGCSERVER_AUTH_NOAUTH) ogc_server_external.wfs_support = False layer_internal_wms = LayerWMS(name=u"__test_layer_internal_wms", public=True) layer_internal_wms.layer = "__test_layer_internal_wms" layer_internal_wms.interfaces = [main, min_levels] layer_internal_wms.metadatas = [Metadata("test", "internal_wms")] layer_internal_wms.ogc_server = ogc_server_internal layer_external_wms = LayerWMS(name=u"__test_layer_external_wms", layer="ch.swisstopo.dreiecksvermaschung", public=True) layer_external_wms.interfaces = [main] layer_external_wms.metadatas = [Metadata("test", "external_wms")] layer_external_wms.ogc_server = ogc_server_external layer_wmts = LayerWMTS(name=u"__test_layer_wmts", public=True) layer_wmts.url = "http://example.com/1.0.0/WMTSCapabilities.xml" layer_wmts.layer = "map" layer_wmts.interfaces = [main, mobile] layer_wmts.metadatas = [Metadata("test", "wmts")] layer_wmts.dimensions = [Dimension("year", "2015")] layer_group_1 = LayerGroup(name=u"__test_layer_group_1") layer_group_1.children = [ layer_v1, layer_internal_wms, layer_external_wms, layer_wmts ] layer_group_1.metadatas = [Metadata("test", "group_1")] layer_group_2 = LayerGroup(name=u"__test_layer_group_2") layer_group_2.children = [ layer_wmts, layer_internal_wms, layer_external_wms ] layer_group_3 = LayerGroup(name=u"__test_layer_group_3") layer_group_3.children = [ layer_wmts, layer_internal_wms, layer_external_wms ] layer_group_4 = LayerGroup(name=u"__test_layer_group_4") layer_group_4.children = [layer_group_2] theme = Theme(name=u"__test_theme") theme.interfaces = [main, mobile] theme.metadatas = [Metadata("test", "theme")] theme.children = [layer_group_1, layer_group_2] theme_layer = Theme(name=u"__test_theme_layer") theme_layer.interfaces = [min_levels] theme_layer.children = [layer_internal_wms] functionality1 = Functionality(name=u"test_name", value=u"test_value_1") functionality2 = Functionality(name=u"test_name", value=u"test_value_2") theme.functionalities = [functionality1, functionality2] DBSession.add_all([theme, theme_layer]) transaction.commit()
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import DBSession, \ Theme, LayerGroup, Interface, LayerWMS, LayerWMTS, Dimension ogc_server, _ = create_default_ogcserver() main = Interface(name=u"main") layer_wms_1 = LayerWMS(name=u"__test_layer_wms_1", public=True) layer_wms_1.layer = "__test_layer_wms_1" layer_wms_1.interfaces = [main] layer_wms_1.ogc_server = ogc_server Dimension("A", "a", layer_wms_1) layer_wms_2 = LayerWMS(name=u"__test_layer_wms_2", public=True) layer_wms_2.layer = "__test_layer_wms_2" layer_wms_2.interfaces = [main] layer_wms_2.ogc_server = ogc_server Dimension("A", "b", layer_wms_2) layer_wms_3 = LayerWMS(name=u"__test_layer_wms_3", public=True) layer_wms_3.layer = "__test_layer_wms_3" layer_wms_3.interfaces = [main] layer_wms_3.ogc_server = ogc_server Dimension("A", None, layer_wms_3) layer_wms_4 = LayerWMS(name=u"__test_layer_wms_4", public=True) layer_wms_4.layer = "__test_layer_wms_4" layer_wms_4.interfaces = [main] layer_wms_4.ogc_server = ogc_server Dimension("A", "a", layer_wms_4) layer_wms_5 = LayerWMS(name=u"__test_layer_wms_5", public=True) layer_wms_5.layer = "__test_layer_wms_5" layer_wms_5.interfaces = [main] layer_wms_5.ogc_server = ogc_server Dimension("B", "b", layer_wms_5) layer_wmts = LayerWMTS(name=u"__test_layer_wmts", public=True) layer_wmts.url = "http://example.com/1.0.0/WMTSCapabilities.xml" layer_wmts.layer = "map" layer_wmts.interfaces = [main] Dimension("B", "b", layer_wmts) layer_group_1 = LayerGroup(name=u"__test_layer_group_1") layer_group_1.children = [layer_wms_1, layer_wmts] layer_group_2 = LayerGroup(name=u"__test_layer_group_2") layer_group_2.children = [layer_wms_1, layer_wms_2] layer_group_3 = LayerGroup(name=u"__test_layer_group_3") layer_group_3.children = [layer_wms_1, layer_wms_3] layer_group_4 = LayerGroup(name=u"__test_layer_group_4") layer_group_4.children = [layer_wms_1, layer_wms_4] layer_group_5 = LayerGroup(name=u"__test_layer_group_5") layer_group_5.children = [layer_wms_1, layer_wms_5] layer_group_6 = LayerGroup(name=u"__test_layer_group_6") layer_group_6.children = [layer_wms_3] theme = Theme(name=u"__test_theme") theme.interfaces = [main] theme.children = [ layer_group_1, layer_group_2, layer_group_3, layer_group_4, layer_group_5, layer_group_6, ] DBSession.add(theme) transaction.commit()
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import DBSession, \ Theme, LayerGroup, Interface, LayerWMS, LayerWMTS, Dimension ogc_server, _ = create_default_ogcserver() main = Interface(name=u"main") layer_wms_1 = LayerWMS(name=u"__test_layer_wms_1", public=True) layer_wms_1.layer = "__test_layer_wms_1" layer_wms_1.interfaces = [main] layer_wms_1.ogc_server = ogc_server Dimension("A", "a", layer_wms_1) layer_wms_2 = LayerWMS(name=u"__test_layer_wms_2", public=True) layer_wms_2.layer = "__test_layer_wms_2" layer_wms_2.interfaces = [main] layer_wms_2.ogc_server = ogc_server Dimension("A", "b", layer_wms_2) layer_wms_3 = LayerWMS(name=u"__test_layer_wms_3", public=True) layer_wms_3.layer = "__test_layer_wms_3" layer_wms_3.interfaces = [main] layer_wms_3.ogc_server = ogc_server Dimension("A", None, layer_wms_3) layer_wms_4 = LayerWMS(name=u"__test_layer_wms_4", public=True) layer_wms_4.layer = "__test_layer_wms_4" layer_wms_4.interfaces = [main] layer_wms_4.ogc_server = ogc_server Dimension("A", "a", layer_wms_4) layer_wms_5 = LayerWMS(name=u"__test_layer_wms_5", public=True) layer_wms_5.layer = "__test_layer_wms_5" layer_wms_5.interfaces = [main] layer_wms_5.ogc_server = ogc_server Dimension("B", "b", layer_wms_5) layer_wmts = LayerWMTS(name=u"__test_layer_wmts", public=True) layer_wmts.interfaces = [main] Dimension("B", "b", layer_wmts) layer_group_1 = LayerGroup(name=u"__test_layer_group_1") layer_group_1.children = [layer_wms_1, layer_wmts] layer_group_2 = LayerGroup(name=u"__test_layer_group_2") layer_group_2.children = [layer_wms_1, layer_wms_2] layer_group_3 = LayerGroup(name=u"__test_layer_group_3") layer_group_3.children = [layer_wms_1, layer_wms_3] layer_group_4 = LayerGroup(name=u"__test_layer_group_4") layer_group_4.children = [layer_wms_1, layer_wms_4] layer_group_5 = LayerGroup(name=u"__test_layer_group_5") layer_group_5.children = [layer_wms_1, layer_wms_5] layer_group_6 = LayerGroup(name=u"__test_layer_group_6") layer_group_6.children = [layer_wms_3] theme = Theme(name=u"__test_theme") theme.interfaces = [main] theme.children = [ layer_group_1, layer_group_2, layer_group_3, layer_group_4, layer_group_5, layer_group_6, ] DBSession.add(theme) transaction.commit()
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None functionality.FUNCTIONALITIES_TYPES = None from c2cgeoportal.models import DBSession, User, Role, \ RestrictionArea, Theme, LayerGroup, Interface, LayerWMS ogcserver, ogcserver_external = create_default_ogcserver() role1 = Role(name=u"__test_role1") role1.id = 999 user1 = User(username=u"__test_user1", password=u"__test_user1", role=role1) user1.email = "*****@*****.**" role2 = Role(name=u"__test_role2", extent=WKTElement("POLYGON((1 2, 1 4, 3 4, 3 2, 1 2))", srid=21781)) user2 = User(username=u"__test_user2", password=u"__test_user2", role=role2) main = Interface(name=u"main") private_layer = LayerWMS(name=u"__test_private_layer", public=False) private_layer.layer = "__test_private_layer" private_layer.geo_table = "a_schema.a_geo_table" private_layer.interfaces = [main] private_layer.ogc_server = ogcserver group = LayerGroup(name=u"__test_layer_group") group.children = [private_layer] theme = Theme(name=u"__test_theme") theme.children = [group] theme.interfaces = [main] DBSession.add( RestrictionArea( name=u"__test_ra1", description=u"", layers=[private_layer], roles=[role1], )) DBSession.add( RestrictionArea( name=u"__test_ra2", description=u"", layers=[private_layer], roles=[role2], readwrite=True, )) DBSession.add_all([ user1, user2, role1, role2, theme, group, private_layer, ]) transaction.commit()
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import DBSession, \ Theme, LayerGroup, Interface, LayerWMS, LayerWMTS TestPoint.__table__.create(bind=DBSession.bind, checkfirst=True) main = Interface(name=u"desktop") ogc_server, _ = create_default_ogcserver() layer_wms_1 = LayerWMS(name=u"__test_layer_time_1", public=True) layer_wms_1.layer = "test_wmstime" layer_wms_1.time_mode = "single" layer_wms_1.interfaces = [main] layer_wms_1.ogc_server = ogc_server layer_wms_2 = LayerWMS(name=u"__test_layer_time_2", public=True) layer_wms_2.layer = "test_wmstime2" layer_wms_2.time_mode = "single" layer_wms_2.interfaces = [main] layer_wms_2.ogc_server = ogc_server layer_wmts = LayerWMTS(name=u"__test_layer_wmts", public=True) layer_wmts.interfaces = [main] layer_wms_group = LayerWMS(name=u"__test_layer_time_group", public=True) layer_wms_group.layer = "test_wmstimegroup" layer_wms_group.time_mode = "range" layer_wms_group.time_widget = "datepicker" layer_wms_group.interfaces = [main] layer_wms_group.ogc_server = ogc_server layer_group_1 = LayerGroup(name=u"__test_layer_group_1") layer_group_1.children = [layer_wms_1, layer_wms_2] layer_group_2 = LayerGroup(name=u"__test_layer_group_2") layer_group_2.children = [layer_wms_1] layer_group_3 = LayerGroup(name=u"__test_layer_group_3") layer_group_3.children = [layer_wms_1, layer_wms_2, layer_wms_group] layer_group_4 = LayerGroup(name=u"__test_layer_group_4") layer_group_4.children = [layer_wms_group] layer_group_5 = LayerGroup(name=u"__test_layer_group_5") layer_group_5.children = [layer_wms_1, layer_wms_2] layer_group_6 = LayerGroup(name=u"__test_layer_group_6") layer_group_6.children = [layer_wms_1, layer_wms_2, layer_wmts] layer_group_7 = LayerGroup(name=u"__test_layer_group_7") layer_group_7.children = [layer_wms_1] theme = Theme(name=u"__test_theme") theme.interfaces = [main] theme.children = [ layer_group_1, layer_group_2, layer_group_3, layer_group_4, layer_group_5, layer_group_6, layer_group_7, ] DBSession.add_all([theme]) transaction.commit()
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import DBSession, \ Theme, LayerGroup, Interface, OGCServer, LayerWMS, LayerWMTS main = Interface(name=u"main") ogc_server_internal, _ = create_default_ogcserver() ogc_server_external = OGCServer(name="__test_ogc_server_external", url="http://wms.geo.admin.ch/", image_type="image/jpeg") layer_internal_wms = LayerWMS(name=u"__test_layer_internal_wms", public=True) layer_internal_wms.layer = "__test_layer_internal_wms" layer_internal_wms.interfaces = [main] layer_internal_wms.ogc_server = ogc_server_internal layer_external_wms = LayerWMS(name=u"__test_layer_external_wms", layer="ch.swisstopo.dreiecksvermaschung", public=True) layer_external_wms.interfaces = [main] layer_external_wms.ogc_server = ogc_server_external layer_wmts = LayerWMTS(name=u"__test_layer_wmts", public=True) layer_wmts.url = "http://example.com/1.0.0/WMTSCapabilities.xml" layer_wmts.layer = "map" layer_wmts.interfaces = [main] layer_group_1 = LayerGroup(name=u"__test_layer_group_1") layer_group_1.children = [layer_internal_wms] layer_group_2 = LayerGroup(name=u"__test_layer_group_2") layer_group_2.children = [layer_external_wms] layer_group_3 = LayerGroup(name=u"__test_layer_group_3") layer_group_3.children = [layer_wmts] layer_group_4 = LayerGroup(name=u"__test_layer_group_4") layer_group_4.children = [layer_group_1, layer_group_2] layer_group_5 = LayerGroup(name=u"__test_layer_group_5") layer_group_5.children = [layer_group_1, layer_group_3] layer_group_6 = LayerGroup(name=u"__test_layer_group_6") layer_group_6.children = [layer_internal_wms] layer_group_7 = LayerGroup(name=u"__test_layer_group_7") layer_group_7.children = [layer_group_1, layer_group_6] layer_group_8 = LayerGroup(name=u"__test_layer_group_8") layer_group_8.children = [layer_group_2, layer_group_6] theme = Theme(name=u"__test_theme") theme.interfaces = [main] theme.children = [ layer_group_1, layer_group_2, layer_group_3, layer_group_4, layer_group_5, layer_group_7, layer_group_8, ] DBSession.add(theme) transaction.commit()
def setUp(self): # noqa self.maxDiff = None from c2cgeoportal.models import User, Role, LayerV1, RestrictionArea, \ Functionality, Interface, DBSession, management, OGCServer, \ OGCSERVER_TYPE_GEOSERVER, OGCSERVER_AUTH_GEOSERVER if management: TestPoint.__table__.c.the_geom.type.management = True create_default_ogcserver() ogcserver_geoserver = OGCServer(name="__test_ogc_server_geoserver") ogcserver_geoserver.url = mapserv_url ogcserver_geoserver.type = OGCSERVER_TYPE_GEOSERVER ogcserver_geoserver.auth = OGCSERVER_AUTH_GEOSERVER TestPoint.__table__.create(bind=DBSession.bind, checkfirst=True) geom = WKTElement("MULTIPOINT((-90 -45))", srid=21781) p1 = TestPoint(the_geom=geom, name=u"foo", city=u"Lausanne", country=u"Swiss") geom = WKTElement("MULTIPOINT((-90 45))", srid=21781) p2 = TestPoint(the_geom=geom, name=u"bar", city=u"Chambéry", country=u"France") geom = WKTElement("MULTIPOINT((90 45))", srid=21781) p3 = TestPoint(the_geom=geom, name=u"éàè", city="Paris", country=u"France") geom = WKTElement("MULTIPOINT((90 -45))", srid=21781) p4 = TestPoint(the_geom=geom, name=u"123", city="Londre", country=u"UK") pt1 = Functionality(name=u"print_template", value=u"1 Wohlen A4 portrait") pt2 = Functionality(name=u"print_template", value=u"2 Wohlen A3 landscape") user1 = User(username=u"__test_user1", password=u"__test_user1") role1 = Role(name=u"__test_role1", description=u"__test_role1", functionalities=[pt1, pt2]) user1.role_name = role1.name user1.email = u"Tarenpion" user2 = User(username=u"__test_user2", password=u"__test_user2") role2 = Role(name=u"__test_role2", description=u"__test_role2", functionalities=[pt1, pt2]) user2.role_name = role2.name user2.email = u"Tarenpion" user3 = User(username=u"__test_user3", password=u"__test_user3") role3 = Role(name=u"__test_role3", description=u"__test_role3", functionalities=[pt1, pt2]) user3.role_name = role3.name user3.email = u"Tarenpion" main = Interface(name=u"main") layer2 = LayerV1(u"testpoint_protected", public=False) layer2.interfaces = [main] layer3 = LayerV1(u"testpoint_protected_query_with_collect", public=False) layer3.interfaces = [main] area = "POLYGON((-100 30, -100 50, 100 50, 100 30, -100 30))" area = WKTElement(area, srid=21781) restricted_area1 = RestrictionArea(u"__test_ra1", u"", [layer2, layer3], [role1], area) area = "POLYGON((-100 0, -100 20, 100 20, 100 0, -100 0))" area = WKTElement(area, srid=21781) restricted_area2 = RestrictionArea(u"__test_ra2", u"", [layer2, layer3], [role2, role3], area) area = "POLYGON((-95 43, -95 47, 95 47, 95 43, -95 43))" area = WKTElement(area, srid=21781) restricted_area3 = RestrictionArea(u"__test_ra3", u"", [layer3], [role3], area, readwrite=True) DBSession.add_all([ p1, p2, p3, p4, user1, user2, user3, role1, role2, role3, restricted_area1, restricted_area2, restricted_area3, ogcserver_geoserver ]) DBSession.flush() self.id_lausanne = p1.id self.id_paris = p3.id transaction.commit()
def setUp(self): # noqa # Always see the diff # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff self.maxDiff = None from c2cgeoportal.models import DBSession, \ Theme, LayerGroup, Interface, LayerWMS, Metadata desktop = Interface(name=u"desktop") ogc_server_internal, _ = create_default_ogcserver() layer_wms = LayerWMS(name=u"__test_layer_internal_wms", public=True) layer_wms.layer = "__test_layer_internal_wms" layer_wms.ogc_server = ogc_server_internal layer_wms.interfaces = [desktop] layer_wms.metadatas = [ Metadata("string", "string"), Metadata("list", "1, 2, a"), Metadata("boolean", "y"), Metadata("boolean2", "no"), Metadata("boolean3", "Hello"), Metadata("integer", "1"), Metadata("float", "5.5"), Metadata("json", '{"test": 123}'), Metadata("json_wrong", '{"test": 123'), Metadata("date", "Sep 25 2003"), Metadata("time", "10:36:28"), Metadata("datetime", "Sep 25 10:36:28 BRST 2003"), Metadata("date2", "Sep 25 10:36:28 BRST 2003"), Metadata("time2", "Sep 25 10:36:28 BRST 2003"), Metadata("datetime2", "Hello"), Metadata("url1", "http://example.com/hi?a=b#c"), Metadata("url2", "static:///path/icon.png"), Metadata("url3", "static://static/path/icon.png"), Metadata("url4", "static://cgxp/path/icon.png"), Metadata("url5", "static://project:static/path/icon.png"), Metadata("url6", "static://project:cgxp/path/icon.png"), Metadata("url7", "config://server"), Metadata("url8", "config://server/index.html"), Metadata("url9", "/dummy/static/icon.png"), Metadata("url10", "dummy/static/icon.png"), Metadata("url11", "https:///static/icon.png"), Metadata("url12", "static://test"), Metadata("url13", "static://test/"), Metadata("url14", "config:///static/icon.png"), Metadata("url15", "config://unknown_server"), Metadata("url16", "https://"), Metadata("url17", "https:///"), Metadata("url18", "https:///static"), Metadata("url19", ""), Metadata("url20", "/"), Metadata("unknown", "Hello"), ] layer_group = LayerGroup(name=u"__test_layer_group") layer_group.children = [layer_wms] theme = Theme(name=u"__test_theme") theme.interfaces = [desktop] theme.children = [layer_group] DBSession.add(theme) transaction.commit()