def test_get_area(self, server_iface, dbsession, test_data): ogcserver_accesscontrol = OGCServerAccessControl( server_iface, 'qgisserver1', 21781, dbsession ) for user_name, layer_name, expected in [ ('root', layer_name, (Access.FULL, None)) for layer_name in ( 'public_layer', 'private_layer1', 'private_layer2', 'private_layer3', ) ] + [ ('user1', 'public_layer', (Access.FULL, None)), ('user1', 'private_layer1', (Access.AREA, area1.wkt)), ('user1', 'private_layer2', (Access.NO, None)), ('user1', 'private_layer3', (Access.AREA, area1.wkt)), ]: user = test_data['users'][user_name] set_request_parameters(server_iface, { 'USER_ID': str(user.id) }) layer = QgsProject.instance().mapLayersByName(layer_name)[0] result = ogcserver_accesscontrol.get_area(layer) assert expected == result, ( 'get_area with "{}", "{}" should return {}'. format(user_name, layer_name, expected))
def test_get_area(self, server_iface, DBSession, test_data): # noqa: ignore=N803 dbsession = DBSession() ogcserver_accesscontrol = OGCServerAccessControl( server_iface, "qgisserver1", "no_project", 21781, lambda: dbsession) ogcserver_accesscontrol.project = test_data["project"] for user_name, layer_name, expected in [ ("root", layer_name, (Access.FULL, None)) for layer_name in ("public_layer", "private_layer1", "private_layer2", "private_layer3") ] + [ ("user1", "public_layer", (Access.FULL, None)), ("user1", "private_layer1", (Access.AREA, area1.wkt)), ("user1", "private_layer2", (Access.NO, None)), ("user1", "private_layer3", (Access.AREA, area1.wkt)), ]: user = test_data["users"][user_name] set_request_parameters( server_iface, { "USER_ID": str(user["id"]), "ROLE_IDS": ",".join([str(r) for r in user["role_ids"]]) }, ) layer = test_data["project"].mapLayersByName(layer_name)[0] access, area = ogcserver_accesscontrol.get_area(layer, dbsession) assert expected == ( access, area.wkt if area else None, ), 'get_area with "{}", "{}" should return {}'.format( user_name, layer_name, expected)
def test_get_area(self, server_iface, dbsession, test_data): ogcserver_accesscontrol = OGCServerAccessControl( server_iface, "qgisserver1", 21781, dbsession) for user_name, layer_name, expected in [ ("root", layer_name, (Access.FULL, None)) for layer_name in ("public_layer", "private_layer1", "private_layer2", "private_layer3") ] + [ ("user1", "public_layer", (Access.FULL, None)), ("user1", "private_layer1", (Access.AREA, area1.wkt)), ("user1", "private_layer2", (Access.NO, None)), ("user1", "private_layer3", (Access.AREA, area1.wkt)), ]: user = test_data["users"][user_name] set_request_parameters(server_iface, {"USER_ID": str(user.id)}) layer = QgsProject.instance().mapLayersByName(layer_name)[0] result = ogcserver_accesscontrol.get_area(layer) assert expected == result, 'get_area with "{}", "{}" should return {}'.format( user_name, layer_name, expected)