def post_workspace_publication(publication_type, workspace, name, *, actor=None, access_rights=None, title=None, bbox=None, crs=None, style_type='sld'): assert (bbox is None) == (crs is None), f'bbox={bbox}, crs={crs}' access_rights = access_rights or {} default_access_rights = {settings.RIGHTS_EVERYONE_ROLE } if not actor else {actor} for right_type in ['read', 'write']: access_rights[right_type] = access_rights.get(right_type, default_access_rights) with app.app_context(): publications.insert_publication( workspace, { 'name': name, 'title': title or name, 'publ_type_name': publication_type, 'uuid': uuid.uuid4(), 'actor_name': actor, 'style_type': style_type, 'access_rights': access_rights, }) if bbox: publications.set_bbox(workspace, publication_type, name, bbox, crs)
def delete_layer(workspace, layername): publications.set_bbox(workspace, LAYER_TYPE, layername, bbox=( None, None, None, None, ), crs=None)
def delete_map(workspace, layername): publications.set_bbox(workspace, MAP_TYPE, layername, bbox=( None, None, None, None, ), crs=None)
def test_geoserver_bbox(): workspace = 'test_geoserver_bbox_workspace' layer = 'test_geoserver_bbox_layer' expected_bbox_1 = test_data.SMALL_LAYER_BBOX crs = crs_def.EPSG_3857 no_area_bbox_padding = crs_def.CRSDefinitions[crs].no_area_bbox_padding expected_bboxes = [ ((1571203, 6268895, 1572589, 6269864), (1571203, 6268895, 1572589, 6269864)), ((1571203, 6268895, 1571203, 6269864), (1571203 - no_area_bbox_padding, 6268895, 1571203 + no_area_bbox_padding, 6269864)), # line ((1571203, 6268895, 1571203, 6268895), (1571203 - no_area_bbox_padding, 6268895 - no_area_bbox_padding, 1571203 + no_area_bbox_padding, 6268895 + no_area_bbox_padding)), # point ((None, None, None, None), crs_def.CRSDefinitions[crs].max_bbox), ] process_client.publish_workspace_layer( workspace, layer, style_file='sample/style/small_layer.qml') assert_util.assert_wfs_bbox(workspace, layer, expected_bbox_1) assert_util.assert_wms_bbox(workspace, layer, expected_bbox_1) kwargs = { 'description': '', 'title': layer, 'access_rights': None, } # test WFS for bbox, expected_bbox in expected_bboxes: wfs.delete_layer(workspace, layer) with app.app_context(): publications.set_bbox( workspace, process_client.LAYER_TYPE, layer, bbox, crs, ) wfs.delete_layer(workspace, layer) tasks.refresh_wfs.apply( args=[workspace, layer], kwargs=kwargs, ) assert_util.assert_wfs_bbox(workspace, layer, expected_bbox) # test WMS for bbox, expected_bbox in expected_bboxes: wms.delete_layer(workspace, layer) with app.app_context(): publications.set_bbox( workspace, process_client.LAYER_TYPE, layer, bbox, crs, ) tasks.refresh_wms.apply( args=[workspace, layer, True], kwargs=kwargs, ) assert_util.assert_wms_bbox(workspace, layer, expected_bbox) # test cascade WMS from QGIS for bbox, expected_bbox in expected_bboxes: wms.delete_layer(workspace, layer) with app.app_context(): publications.set_bbox( workspace, process_client.LAYER_TYPE, layer, bbox, crs, ) wms.delete_layer(workspace, layer) tasks.refresh_wms.apply( args=[workspace, layer, False], kwargs=kwargs, ) assert_util.assert_wms_bbox(workspace, layer, expected_bbox) process_client.delete_workspace_layer(workspace, layer)
def test_geoserver_bbox(): workspace = 'test_geoserver_bbox_workspace' layer = 'test_geoserver_bbox_layer' expected_bbox_1 = test_data.SMALL_LAYER_BBOX expected_bboxes = [ ((1571203, 6268895, 1572589, 6269864), (1571203, 6268895, 1572589, 6269864)), ((1571203, 6268895, 1571203, 6269864), (1571203 - settings.NO_AREA_BBOX_PADDING, 6268895, 1571203 + settings.NO_AREA_BBOX_PADDING, 6269864)), # line ((1571203, 6268895, 1571203, 6268895), (1571203 - settings.NO_AREA_BBOX_PADDING, 6268895 - settings.NO_AREA_BBOX_PADDING, 1571203 + settings.NO_AREA_BBOX_PADDING, 6268895 + settings.NO_AREA_BBOX_PADDING)), # point ((None, None, None, None), settings.LAYMAN_DEFAULT_OUTPUT_BBOX), ] process_client.publish_workspace_layer( workspace, layer, style_file='sample/style/small_layer.qml') assert_util.assert_wfs_bbox(workspace, layer, expected_bbox_1) assert_util.assert_wms_bbox(workspace, layer, expected_bbox_1) # test WFS for bbox, expected_bbox in expected_bboxes: wfs.delete_layer(workspace, layer) with app.app_context(): publications.set_bbox(workspace, process_client.LAYER_TYPE, layer, bbox) wfs.delete_layer(workspace, layer) tasks.refresh_wfs.apply( args=[workspace, layer], description=layer, title=layer, ensure_user=False, access_rights=None, ) assert_util.assert_wfs_bbox(workspace, layer, expected_bbox) # test WMS for bbox, expected_bbox in expected_bboxes: wms.delete_layer(workspace, layer) with app.app_context(): publications.set_bbox(workspace, process_client.LAYER_TYPE, layer, bbox) tasks.refresh_wms.apply( args=[workspace, layer, True], description=layer, title=layer, ensure_user=False, access_rights=None, ) assert_util.assert_wms_bbox(workspace, layer, expected_bbox) # test cascade WMS from QGIS for bbox, expected_bbox in expected_bboxes: wms.delete_layer(workspace, layer) with app.app_context(): publications.set_bbox(workspace, process_client.LAYER_TYPE, layer, bbox) wms.delete_layer(workspace, layer) tasks.refresh_wms.apply( args=[workspace, layer, False], description=layer, title=layer, ensure_user=False, access_rights=None, ) assert_util.assert_wms_bbox(workspace, layer, expected_bbox) process_client.delete_workspace_layer(workspace, layer)