Skip to content

Commit e7d7295

Browse files
authored
Merge pull request #5405 from rldhont/server-wms-test-enhancement
[Server][Tests] Fix WMS tests locally
2 parents 79bc5d4 + dc6bdc2 commit e7d7295

10 files changed

+27
-18
lines changed

tests/src/python/test_qgsserver.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@
5151

5252
# Strip path and content length because path may vary
5353
RE_STRIP_UNCHECKABLE = b'MAP=[^"]+|Content-Length: \d+'
54-
RE_ELEMENT = b'</*([^>\s]+)[ >]'
55-
RE_ELEMENT_CONTENT = b'\>([^><]+)'
54+
RE_ELEMENT = b'</*([^>\[\s]+)[ >]'
55+
RE_ELEMENT_CONTENT = b'<[^>\[]+>(.+)</[^>\[\s]+>'
5656
RE_ATTRIBUTES = rb'((?:(?!\s|=).)*)\s*?=\s*?["\']?((?:(?<=")(?:(?<=\\)"|[^"])*|(?<=\')(?:(?<=\\)\'|[^\'])*)|(?:(?!"|\')(?:(?!\/>|>|\s).)+))'
5757

5858

@@ -82,17 +82,21 @@ def assertXMLEqual(self, response, expected, msg=''):
8282
if len(expected_elements) == 2 and expected_elements[0] == expected_elements[1]:
8383
expected_element_content = re.findall(RE_ELEMENT_CONTENT, expected_line)
8484
response_element_content = re.findall(RE_ELEMENT_CONTENT, response_line)
85-
self.assertEqual(expected_element_content[0],
86-
response_element_content[0], msg=msg + "\nContent mismatch on line %s: %s != %s" % (line_no, expected_line, response_line))
85+
self.assertEqual(len(expected_element_content), len(response_element_content),
86+
msg=msg + "\nContent mismatch on line %s: %s != %s" % (line_no, expected_line, response_line))
87+
if len(expected_element_content):
88+
self.assertEqual(expected_element_content[0],
89+
response_element_content[0], msg=msg + "\nContent mismatch on line %s: %s != %s" % (line_no, expected_line, response_line))
8790
else:
8891
self.assertEqual(expected_line, response_line, msg=msg + "\nTag line mismatch %s: %s != %s\n%s" % (line_no, expected_line, response_line, msg))
8992
# print("---->%s\t%s == %s" % (line_no, expected_line, response_line))
9093
# Compare attributes
9194
if re.findall(RE_ATTRIBUTES, expected_line): # has attrs
9295
expected_attrs, expected_values = zip(*sorted(re.findall(RE_ATTRIBUTES, expected_line)))
96+
self.assertTrue(re.findall(RE_ATTRIBUTES, response_line), msg=msg + "\nXML attributes differ at line {0}: {1} != {2}".format(line_no, expected_line, response_line))
9397
response_attrs, response_values = zip(*sorted(re.findall(RE_ATTRIBUTES, response_line)))
9498
self.assertEqual(expected_attrs, response_attrs, msg=msg + "\nXML attributes differ at line {0}: {1} != {2}".format(line_no, expected_attrs, response_attrs))
95-
self.assertEqual(expected_values, response_values, msg=msg + "\nXML attribute values differ at line {0}: {1} != {2}".format(line_no, expected_attrs, response_attrs))
99+
self.assertEqual(expected_values, response_values, msg=msg + "\nXML attribute values differ at line {0}: {1} != {2}".format(line_no, expected_values, response_values))
96100
line_no += 1
97101

98102
@classmethod

tests/testdata/qgis_server/describelayer.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
*****
22
Content-Type: text/xml; charset=utf-8
33

4-
<?xml version="1.0" encoding="utf-8"?>
4+
<?xml version="1.0" encoding="UTF-8"?>
55
<DescribeLayerResponse xmlns="http://www.opengis.net/sld" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/DescribeLayer.xsd" xmlns:se="http://www.opengis.net/se" xmlns:xlink="http://www.w3.org/1999/xlink">
66
<Version>1.1.0</Version>
77
<LayerDescription>

tests/testdata/qgis_server/getcapabilities.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Content-Type: text/xml; charset=utf-8
66
<Service>
77
<Name>WMS</Name>
88
<Title>QGIS TestProject</Title>
9-
<Abstract>Some UTF8 text èòù</Abstract>
9+
<Abstract><![CDATA[Some UTF8 text èòù]]></Abstract>
1010
<KeywordList>
1111
<Keyword vocabulary="ISO">infoMapAccessService</Keyword>
1212
</KeywordList>

tests/testdata/qgis_server/getcapabilities_inspire.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Content-Type: text/xml; charset=utf-8
66
<Service>
77
<Name>WMS</Name>
88
<Title>QGIS TestProject</Title>
9-
<Abstract>Some UTF8 text èòù</Abstract>
9+
<Abstract><![CDATA[Some UTF8 text èòù]]></Abstract>
1010
<KeywordList>
1111
<Keyword vocabulary="ISO">infoMapAccessService</Keyword>
1212
</KeywordList>

tests/testdata/qgis_server/getcontext.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ Content-Type: text/xml; charset=utf-8
66
<General>
77
<Window width="800" height="600"/>
88
<ows:Title>QGIS TestProject</ows:Title>
9-
<ows:Abstract>Some UTF8 text èòù</ows:Abstract>
9+
<ows:Abstract><![CDATA[Some UTF8 text èòù]]></ows:Abstract>
1010
<ows:BoundingBox crs="EPSG:4326">
1111
<ows:LowerCorner>44.9012 8.20315</ows:LowerCorner>
1212
<ows:UpperCorner>44.9016 8.20416</ows:UpperCorner>
1313
</ows:BoundingBox>
1414
</General>
1515
<ResourceList>
16-
<Layer opacity="1" queryable="true" hidden="false" id="testlayer_èé" name="testlayer èé">
16+
<Layer hidden="true" queryable="true" id="testlayer_èé" name="testlayer èé" opacity="1">
1717
<ows:Title>A test vector layer</ows:Title>
1818
<ows:OutputFormat>image/png</ows:OutputFormat>
1919
<Server version="1.3.0" default="true" service="urn:ogc:serviceType:WMS">
20-
<OnlineResource xlink:href="https://www.qgis.org/?*****&amp;"/>
20+
<OnlineResource xlink:href="https://www.qgis.org/?*****"/>
2121
</Server>
2222
<ows:Abstract>A test vector layer with unicode òà</ows:Abstract>
2323
<StyleList>

tests/testdata/qgis_server/getprojectsettings.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Content-Type: text/xml; charset=utf-8
66
<Service>
77
<Name>WMS</Name>
88
<Title>QGIS TestProject</Title>
9-
<Abstract>Some UTF8 text èòù</Abstract>
9+
<Abstract><![CDATA[Some UTF8 text èòù]]></Abstract>
1010
<KeywordList>
1111
<Keyword vocabulary="ISO">infoMapAccessService</Keyword>
1212
</KeywordList>
@@ -113,7 +113,7 @@ Content-Type: text/xml; charset=utf-8
113113
<WFSLayers>
114114
<WFSLayer name="testlayer èé"/>
115115
</WFSLayers>
116-
<Layer queryable="1">
116+
<Layer>
117117
<Name>QGIS Test Project</Name>
118118
<Title>QGIS Test Project</Title>
119119
<CRS>CRS:84</CRS>
@@ -128,7 +128,7 @@ Content-Type: text/xml; charset=utf-8
128128
<BoundingBox maxy="5.60604e+06" maxx="913283" miny="5.60599e+06" CRS="EPSG:3857" minx="913171"/>
129129
<BoundingBox maxy="8.20416" maxx="44.9016" miny="8.20315" CRS="EPSG:4326" minx="44.9012"/>
130130
<TreeName>QGIS Test Project</TreeName>
131-
<Layer geometryType="Point" queryable="1" displayField="name" visible="1">
131+
<Layer geometryType="Point" queryable="1" displayField="name">
132132
<Name>testlayer èé</Name>
133133
<Title>A test vector layer</Title>
134134
<Abstract>A test vector layer with unicode òà</Abstract>
@@ -153,9 +153,9 @@ Content-Type: text/xml; charset=utf-8
153153
</Style>
154154
<TreeName>testlayer èé</TreeName>
155155
<Attributes>
156-
<Attribute precision="0" type="qlonglong" editType="" typeName="Integer64" name="id" comment="" length="10"/>
157-
<Attribute precision="0" type="QString" editType="" typeName="String" name="name" comment="" length="10"/>
158-
<Attribute precision="0" type="QString" editType="" typeName="String" name="utf8nameè" comment="" length="13"/>
156+
<Attribute precision="0" type="qlonglong" editType="TextEdit" typeName="Integer64" name="id" comment="" length="10"/>
157+
<Attribute precision="0" type="QString" editType="TextEdit" typeName="String" name="name" comment="" length="10"/>
158+
<Attribute precision="0" type="QString" editType="TextEdit" typeName="String" name="utf8nameè" comment="" length="13"/>
159159
</Attributes>
160160
</Layer>
161161
</Layer>

tests/testdata/qgis_server/getstyles.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
*****
22
Content-Type: text/xml; charset=utf-8
33

4-
<?xml version="1.0" encoding="utf-8"?>
4+
<?xml version="1.0" encoding="UTF-8"?>
55
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd" xmlns:ogc="http://www.opengis.net/ogc" xmlns:se="http://www.opengis.net/se" version="1.1.0" xmlns:xlink="http://www.w3.org/1999/xlink">
66
<NamedLayer>
77
<se:Name>testlayer èé</se:Name>

tests/testdata/qgis_server/wms_getfeatureinfo_filter.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Content-Type: text/xml; charset=utf-8
88
<Attribute value="2" name="id"/>
99
<Attribute value="two" name="name"/>
1010
<Attribute value="two àò" name="utf8nameè"/>
11+
<Attribute value="1" name="orig_ogc_fid"/>
1112
<BoundingBox maxy="5606017.8743" maxx="913214.6741" miny="5606017.8743" CRS="EPSG:3857" minx="913214.6741"/>
1213
<Attribute type="derived" value="Point (913214.6741 5606017.8743)" name="geometry"/>
1314
</Feature>

tests/testdata/qgis_server/wms_getfeatureinfo_filter_or.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@ Content-Type: text/xml; charset=utf-8
88
<Attribute value="2" name="id"/>
99
<Attribute value="two" name="name"/>
1010
<Attribute value="two àò" name="utf8nameè"/>
11+
<Attribute value="1" name="orig_ogc_fid"/>
1112
<BoundingBox maxy="5606017.8743" maxx="913214.6741" miny="5606017.8743" CRS="EPSG:3857" minx="913214.6741"/>
1213
<Attribute type="derived" value="Point (913214.6741 5606017.8743)" name="geometry"/>
1314
</Feature>
1415
<Feature id="2">
1516
<Attribute value="3" name="id"/>
1617
<Attribute value="three" name="name"/>
1718
<Attribute value="three èé↓" name="utf8nameè"/>
19+
<Attribute value="2" name="orig_ogc_fid"/>
1820
<BoundingBox maxy="5606011.4565" maxx="913204.9128" miny="5606011.4565" CRS="EPSG:3857" minx="913204.9128"/>
1921
<Attribute type="derived" value="Point (913204.9128 5606011.4565)" name="geometry"/>
2022
</Feature>

tests/testdata/qgis_server/wms_getfeatureinfo_filter_or_utf8.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@ Content-Type: text/xml; charset=utf-8
88
<Attribute value="2" name="id"/>
99
<Attribute value="two" name="name"/>
1010
<Attribute value="two àò" name="utf8nameè"/>
11+
<Attribute value="1" name="orig_ogc_fid"/>
1112
<BoundingBox maxy="5606017.8743" maxx="913214.6741" miny="5606017.8743" CRS="EPSG:3857" minx="913214.6741"/>
1213
<Attribute type="derived" value="Point (913214.6741 5606017.8743)" name="geometry"/>
1314
</Feature>
1415
<Feature id="2">
1516
<Attribute value="3" name="id"/>
1617
<Attribute value="three" name="name"/>
1718
<Attribute value="three èé↓" name="utf8nameè"/>
19+
<Attribute value="2" name="orig_ogc_fid"/>
1820
<BoundingBox maxy="5606011.4565" maxx="913204.9128" miny="5606011.4565" CRS="EPSG:3857" minx="913204.9128"/>
1921
<Attribute type="derived" value="Point (913204.9128 5606011.4565)" name="geometry"/>
2022
</Feature>

0 commit comments

Comments
 (0)