mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-17 00:04:02 -04:00
Merge pull request #5399 from pblottiere/server_flaky_tests
[server] WIP : reactivate flaky server tests for WMS requests
This commit is contained in:
commit
13a00aae30
@ -215,6 +215,46 @@ class QgsServerTestBase(unittest.TestCase):
|
||||
return b"\n".join(headers) + b"\n\n", bytes(response.body())
|
||||
|
||||
|
||||
class TestQgsServerTestBase(unittest.TestCase):
|
||||
|
||||
def test_assert_xml_equal(self):
|
||||
engine = QgsServerTestBase()
|
||||
|
||||
# test bad assertion
|
||||
expected = b'</WFSLayers>\n<Layer queryable="1">\n'
|
||||
response = b'<Layer>\n'
|
||||
self.assertRaises(AssertionError, engine.assertXMLEqual, response, expected)
|
||||
|
||||
expected = b'</WFSLayers>\n<Layer queryable="1">\n'
|
||||
response = b'</WFSLayers>\n<Layer>\n'
|
||||
self.assertRaises(AssertionError, engine.assertXMLEqual, response, expected)
|
||||
|
||||
expected = b'</WFSLayers>\n<Layer queryable="1">\n'
|
||||
response = b'</WFSLayers>\n<Layer fake="1">\n'
|
||||
self.assertRaises(AssertionError, engine.assertXMLEqual, response, expected)
|
||||
|
||||
expected = b'</WFSLayers>\n<Layer queryable="1">\n'
|
||||
response = b'</WFSLayers>\n<Layer queryable="2">\n'
|
||||
self.assertRaises(AssertionError, engine.assertXMLEqual, response, expected)
|
||||
|
||||
expected = b'<TreeName>QGIS Test Project</TreeName>\n<Layer geometryType="Point" queryable="1" displayField="name" visible="1">\n'
|
||||
response = b'<TreeName>QGIS Test Project</TreeName>\n<Layer geometryType="Point" queryable="1" displayField="name">\n'
|
||||
self.assertRaises(AssertionError, engine.assertXMLEqual, response, expected)
|
||||
|
||||
expected = b'<TreeName>QGIS Test Project</TreeName>\n<Layer geometryType="Point" queryable="1" displayField="name" visible="1">\n'
|
||||
response = b'<TreeName>QGIS Test Project</TreeName>\n<Layer geometryType="Point" queryable="1" displayField="name" visible="0">\n'
|
||||
self.assertRaises(AssertionError, engine.assertXMLEqual, response, expected)
|
||||
|
||||
# test valid assertion
|
||||
expected = b'</WFSLayers>\n<Layer queryable="1">\n'
|
||||
response = b'</WFSLayers>\n<Layer queryable="1">\n'
|
||||
self.assertFalse(engine.assertXMLEqual(response, expected))
|
||||
|
||||
expected = b'<TreeName>QGIS Test Project</TreeName>\n<Layer geometryType="Point" queryable="1" displayField="name" visible="1">\n'
|
||||
response = b'<TreeName>QGIS Test Project</TreeName>\n<Layer geometryType="Point" queryable="1" displayField="name" visible="1">\n'
|
||||
self.assertFalse(engine.assertXMLEqual(response, expected))
|
||||
|
||||
|
||||
class TestQgsServer(QgsServerTestBase):
|
||||
|
||||
"""Tests container"""
|
||||
|
@ -64,12 +64,16 @@ class TestQgsServerWMS(QgsServerTestBase):
|
||||
|
||||
self.assertXMLEqual(response, expected, msg="request %s failed.\nQuery: %s\nExpected file: %s\nResponse:\n%s" % (query_string, request, reference_path, response.decode('utf-8')))
|
||||
|
||||
@unittest.skipIf(os.environ.get('TRAVIS', '') == 'true', 'Test is flaky on Travis environment')
|
||||
def test_project_wms(self):
|
||||
"""Test some WMS request"""
|
||||
for request in ('GetCapabilities', 'GetProjectSettings', 'GetContext'):
|
||||
self.wms_request_compare(request)
|
||||
def test_getcapabilities(self):
|
||||
self.wms_request_compare('GetCapabilities')
|
||||
|
||||
def test_getprojectsettings(self):
|
||||
self.wms_request_compare('GetProjectSettings')
|
||||
|
||||
def test_getcontext(self):
|
||||
self.wms_request_compare('GetContext')
|
||||
|
||||
def test_getfeatureinfo(self):
|
||||
# Test getfeatureinfo response xml
|
||||
self.wms_request_compare('GetFeatureInfo',
|
||||
'&layers=testlayer%20%C3%A8%C3%A9&styles=&' +
|
||||
@ -174,11 +178,14 @@ class TestQgsServerWMS(QgsServerTestBase):
|
||||
'FEATURE_COUNT=10&FILTER_GEOM=POLYGON((8.2035381 44.901459,8.2035562 44.901459,8.2035562 44.901418,8.2035381 44.901418,8.2035381 44.901459))',
|
||||
'wms_getfeatureinfo_invalid_query_layers')
|
||||
|
||||
def test_describelayer(self):
|
||||
# Test DescribeLayer
|
||||
self.wms_request_compare('DescribeLayer',
|
||||
'&layers=testlayer%20%C3%A8%C3%A9&' +
|
||||
'SLD_VERSION=1.1.0',
|
||||
'describelayer')
|
||||
|
||||
def test_getstyles(self):
|
||||
# Test GetStyles
|
||||
self.wms_request_compare('GetStyles',
|
||||
'&layers=testlayer%20%C3%A8%C3%A9&',
|
||||
@ -1279,7 +1286,6 @@ class TestQgsServerWMS(QgsServerTestBase):
|
||||
r, h = self._result(self._execute_request(qs))
|
||||
self._img_diff_error(r, h, "WMS_GetPrint_Legend")
|
||||
|
||||
@unittest.skip('Randomly failing to draw the map layer')
|
||||
def test_wms_getprint_srs(self):
|
||||
qs = "?" + "&".join(["%s=%s" % i for i in list({
|
||||
"MAP": urllib.parse.quote(self.projectPath),
|
||||
|
Loading…
x
Reference in New Issue
Block a user