Skip to content

Commit

Permalink
[pre-commit.ci] auto fixes from pre-commit.com hooks
Browse files Browse the repository at this point in the history
for more information, see https://pre-commit.ci
  • Loading branch information
pre-commit-ci[bot] authored and nyalldawson committed Jan 25, 2025
1 parent 3ccd4f7 commit f286a99
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 17 deletions.
35 changes: 27 additions & 8 deletions tests/src/python/test_provider_memory.py
Original file line number Diff line number Diff line change
Expand Up @@ -740,19 +740,38 @@ def testAspatialLayerHasNoGeometryRelatedCapabilities(self):
layer = QgsMemoryProviderUtils.createMemoryLayer("my name", QgsFields())
self.assertTrue(layer.isValid())
self.assertFalse(layer.isSpatial())
self.assertFalse(layer.dataProvider().capabilities() & Qgis.VectorProviderCapability.ChangeGeometries)
self.assertFalse(layer.dataProvider().capabilities() & Qgis.VectorProviderCapability.CircularGeometries)
self.assertFalse(layer.dataProvider().capabilities() & Qgis.VectorProviderCapability.CreateSpatialIndex)
self.assertFalse(
layer.dataProvider().capabilities()
& Qgis.VectorProviderCapability.ChangeGeometries
)
self.assertFalse(
layer.dataProvider().capabilities()
& Qgis.VectorProviderCapability.CircularGeometries
)
self.assertFalse(
layer.dataProvider().capabilities()
& Qgis.VectorProviderCapability.CreateSpatialIndex
)

def testSpatialLayerHasGeometryRelatedCapabilities(self):

layer = QgsMemoryProviderUtils.createMemoryLayer("my name", QgsFields(), QgsWkbTypes.Type.Point)
layer = QgsMemoryProviderUtils.createMemoryLayer(
"my name", QgsFields(), QgsWkbTypes.Type.Point
)
self.assertTrue(layer.isValid())
self.assertTrue(layer.isSpatial())
self.assertTrue(layer.dataProvider().capabilities() & Qgis.VectorProviderCapability.ChangeGeometries)
self.assertTrue(layer.dataProvider().capabilities() & Qgis.VectorProviderCapability.CircularGeometries)
self.assertTrue(layer.dataProvider().capabilities() & Qgis.VectorProviderCapability.CreateSpatialIndex)

self.assertTrue(
layer.dataProvider().capabilities()
& Qgis.VectorProviderCapability.ChangeGeometries
)
self.assertTrue(
layer.dataProvider().capabilities()
& Qgis.VectorProviderCapability.CircularGeometries
)
self.assertTrue(
layer.dataProvider().capabilities()
& Qgis.VectorProviderCapability.CreateSpatialIndex
)

def testCreateMemoryLayer(self):
"""
Expand Down
22 changes: 13 additions & 9 deletions tests/src/python/test_qgsserver_wfs.py
Original file line number Diff line number Diff line change
Expand Up @@ -1536,27 +1536,30 @@ def test_GetFeature_with_datetime(self):
project_file=project_file,
)


def test_wfs_aspatial_getcapabilities(self):
### Test issue GH #60185 - WFS GetCapabilities for aspatial layers"""

# create a memory layer with no geometry
fields = QgsFields()
fields.append(QgsField('id', QVariant.Int))
fields.append(QgsField('name', QVariant.String))
layer = QgsMemoryProviderUtils.createMemoryLayer('no_geom', fields, QgsWkbTypes.NoGeometry)
fields.append(QgsField("id", QVariant.Int))
fields.append(QgsField("name", QVariant.String))
layer = QgsMemoryProviderUtils.createMemoryLayer(
"no_geom", fields, QgsWkbTypes.NoGeometry
)

provider = layer.dataProvider()
self.assertTrue(layer.isValid())
self.assertFalse(layer.isSpatial())
self.assertFalse(provider.capabilities( ) & QgsVectorDataProvider.Capability.ChangeGeometries)
self.assertFalse(
provider.capabilities() & QgsVectorDataProvider.Capability.ChangeGeometries
)

project = QgsProject()
project.addMapLayer(layer)
project.writeEntry( "WFSLayers" , "/", [layer.id()] )
project.writeEntry( "WFSTLayers" , "Update", [layer.id()] )
project.writeEntry( "WFSTLayers" , "Insert", [layer.id()] )
project.writeEntry( "WFSTLayers" , "Delete", [layer.id()] )
project.writeEntry("WFSLayers", "/", [layer.id()])
project.writeEntry("WFSTLayers", "Update", [layer.id()])
project.writeEntry("WFSTLayers", "Insert", [layer.id()])
project.writeEntry("WFSTLayers", "Delete", [layer.id()])

server = QgsServer()
request = QgsServerRequest()
Expand All @@ -1566,5 +1569,6 @@ def test_wfs_aspatial_getcapabilities(self):
body = response.body().data().decode("utf8").replace("\n", "")
self.assertIn("<Operation>Update</Operation>", body)


if __name__ == "__main__":
unittest.main()

0 comments on commit f286a99

Please sign in to comment.