From b0d06908f5e1a63998708ed772879f8b134b3a3f Mon Sep 17 00:00:00 2001 From: Etienne Trimaille Date: Fri, 15 Mar 2024 14:33:25 +0100 Subject: [PATCH] Fix tests for QGIS 3.36, "name" is now provided in GetFeatureInfo --- lizmap_server/get_legend_graphic.py | 1 + test/test_get_feature_info.py | 131 +++++++++++++++------------- test/test_legend.py | 3 +- 3 files changed, 75 insertions(+), 60 deletions(-) diff --git a/lizmap_server/get_legend_graphic.py b/lizmap_server/get_legend_graphic.py index d011dd31..227ef538 100644 --- a/lizmap_server/get_legend_graphic.py +++ b/lizmap_server/get_legend_graphic.py @@ -7,6 +7,7 @@ import json import re + from typing import Optional from qgis.core import Qgis, QgsDataSourceUri, QgsProject diff --git a/test/test_get_feature_info.py b/test/test_get_feature_info.py index 5110643c..86a90b90 100644 --- a/test/test_get_feature_info.py +++ b/test/test_get_feature_info.py @@ -1,6 +1,7 @@ import logging import xml.etree.ElementTree as ET +from qgis.core import Qgis from xmldiff import main as xml_diff LOGGER = logging.getLogger('server') @@ -52,10 +53,12 @@ def test_no_get_feature_info_default_popup(client): rv = client.get(qs, PROJECT) assert rv.status_code == 200 assert rv.headers.get('Content-Type', '').find('text/xml') == 0 - expected = f''' - - -''' + title_attribute = f'title="{LAYER_DEFAULT_POPUP}"' if Qgis.QGIS_VERSION_INT >= 33600 else '' + expected = f''' + + + + ''' diff = xml_diff.diff_texts(expected, rv.content) assert diff == [], diff @@ -66,21 +69,23 @@ def test_single_get_feature_info_default_popup(client): rv = client.get(qs, PROJECT) assert rv.status_code == 200 assert rv.headers.get('Content-Type', '').find('text/xml') == 0 - expected = f''' - - - - - - - - - - - - - -''' + title_attribute = f'title="{LAYER_DEFAULT_POPUP}"' if Qgis.QGIS_VERSION_INT >= 33600 else '' + expected = f''' + + + + + + + + + + + + + + + ''' diff = xml_diff.diff_texts(expected, rv.content) assert diff == [], diff @@ -92,21 +97,23 @@ def test_single_get_feature_info_default_popup_user(client): rv = client.get(qs, PROJECT, headers) assert rv.status_code == 200 assert rv.headers.get('Content-Type', '').find('text/xml') == 0 - expected = f''' - - - - - - - - - - - - - -''' + title_attribute = f'title="{LAYER_DEFAULT_POPUP}"' if Qgis.QGIS_VERSION_INT >= 33600 else '' + expected = f''' + + + + + + + + + + + + + + + ''' diff = xml_diff.diff_texts(expected, rv.content) assert diff == [], diff @@ -118,21 +125,24 @@ def test_single_get_feature_info_qgis_popup(client): assert rv.status_code == 200 assert rv.headers.get('Content-Type', '').find('text/xml') == 0 + title_attribute = f'title="{LAYER_QGIS_POPUP}"' if Qgis.QGIS_VERSION_INT >= 33600 else '' + # Note the line maptip - expected = f''' - - - - - - - - - - - - -''' + expected = f''' + + + + + + + + + + + + + + ''' diff = xml_diff.diff_texts(expected, rv.content) assert diff == [], diff @@ -156,17 +166,20 @@ def test_single_get_feature_info_form_popup(client): xml_lines = ET.tostring(root, encoding='utf8', method='xml').decode("utf-8").split('\n') xml_string = '\n'.join(xml_lines[1:]) - expected = f''' - - - - - - - - - - + title_attribute = f'title="{LAYER_QGIS_FORM}"' if Qgis.QGIS_VERSION_INT >= 33600 else '' + + expected = f''' + + + + + + + + + + + ''' diff = xml_diff.diff_texts(expected, xml_string.strip()) diff --git a/test/test_legend.py b/test/test_legend.py index aa3d7bac..f87f6149 100644 --- a/test/test_legend.py +++ b/test/test_legend.py @@ -1,10 +1,11 @@ import logging from test.utils import _build_query_string, _check_request -from lizmap_server.get_legend_graphic import GetLegendGraphicFilter from qgis.core import Qgis +from lizmap_server.get_legend_graphic import GetLegendGraphicFilter + LOGGER = logging.getLogger('server') __copyright__ = 'Copyright 2023, 3Liz'