@@ -170,6 +170,19 @@ def _getWMSLayer(cls, layers, layer_name=None, authcfg=None):
170170 wms_layer = QgsRasterLayer (uri , layer_name , 'wms' )
171171 return wms_layer
172172
173+ @classmethod
174+ def _getGeoJsonLayer (cls , type_name , layer_name = None , authcfg = None ):
175+ """
176+ OGR layer factory
177+ """
178+ if layer_name is None :
179+ layer_name = 'geojson_' + type_name
180+ uri = '%s://%s:%s/?MAP=%s&SERVICE=WFS&REQUEST=GetFeature&TYPENAME=%s&VERSION=2.0.0&OUTPUTFORMAT=geojson' % (cls .protocol , cls .hostname , cls .port , cls .project_path , urllib .parse .quote (type_name ))
181+ if authcfg is not None :
182+ uri += " authcfg='%s'" % authcfg
183+ geojson_layer = QgsVectorLayer (uri , layer_name , 'ogr' )
184+ return geojson_layer
185+
173186 def testValidAuthAccess (self ):
174187 """
175188 Access the HTTP Basic protected layer with valid credentials
@@ -178,6 +191,8 @@ def testValidAuthAccess(self):
178191 self .assertTrue (wfs_layer .isValid ())
179192 wms_layer = self ._getWMSLayer ('testlayer_èé' , authcfg = self .auth_config .id ())
180193 self .assertTrue (wms_layer .isValid ())
194+ geojson_layer = self ._getGeoJsonLayer ('testlayer_èé' , authcfg = self .auth_config .id ())
195+ self .assertTrue (geojson_layer .isValid ())
181196
182197 def testInvalidAuthAccess (self ):
183198 """
@@ -187,6 +202,8 @@ def testInvalidAuthAccess(self):
187202 self .assertFalse (wfs_layer .isValid ())
188203 wms_layer = self ._getWMSLayer ('testlayer_èé' )
189204 self .assertFalse (wms_layer .isValid ())
205+ geojson_layer = self ._getGeoJsonLayer ('testlayer_èé' )
206+ self .assertFalse (geojson_layer .isValid ())
190207
191208 def testInvalidAuthFileDownload (self ):
192209 """
0 commit comments