@@ -158,14 +158,21 @@ def cacheKey(self):
158
158
return "r" if self ._active else "f"
159
159
160
160
161
- server = QgsServer ()
162
- server .handleRequest ()
163
- server_iface = server .serverInterface ()
164
- accesscontrol = RestrictedAccessControl (server_iface )
165
- server_iface .registerAccessControl (accesscontrol , 100 )
161
+ class TestQgsServerAccessControl (unittest .TestCase ):
166
162
163
+ @classmethod
164
+ def setUpClass (cls ):
165
+ """Run before all tests"""
166
+ cls ._server = QgsServer ()
167
+ cls ._server .handleRequest ()
168
+ cls ._server_iface = cls ._server .serverInterface ()
169
+ cls ._accesscontrol = RestrictedAccessControl (cls ._server_iface )
170
+ cls ._server_iface .registerAccessControl (cls ._accesscontrol , 100 )
167
171
168
- class TestQgsServerAccessControl (unittest .TestCase ):
172
+ @classmethod
173
+ def tearDownClass (cls ):
174
+ """Run after all tests"""
175
+ del cls ._server
169
176
170
177
def setUp (self ):
171
178
self .testdata_path = unitTestDataPath ("qgis_server_accesscontrol" )
@@ -1368,13 +1375,13 @@ def test_wfs_getfeature_project_subsetstring3(self):
1368
1375
"Project based layer subsetString not respected in GetFeature with restricted access\n %s" % response )
1369
1376
1370
1377
def _handle_request (self , restricted , * args ):
1371
- accesscontrol ._active = restricted
1372
- result = self ._result (server .handleRequest (* args ))
1378
+ self . _accesscontrol ._active = restricted
1379
+ result = self ._result (self . _server .handleRequest (* args ))
1373
1380
return result
1374
1381
1375
1382
def _result (self , data ):
1376
1383
headers = {}
1377
- for line in data [0 ].split ("\n " ):
1384
+ for line in data [0 ].decode ( 'UTF-8' ). split ("\n " ):
1378
1385
if line != "" :
1379
1386
header = line .split (":" )
1380
1387
self .assertEqual (len (header ), 2 , line )
@@ -1383,35 +1390,35 @@ def _result(self, data):
1383
1390
return data [1 ], headers
1384
1391
1385
1392
def _get_fullaccess (self , query_string ):
1386
- server .putenv ("REQUEST_METHOD" , "GET" )
1393
+ self . _server .putenv ("REQUEST_METHOD" , "GET" )
1387
1394
result = self ._handle_request (False , query_string )
1388
- server .putenv ("REQUEST_METHOD" , '' )
1395
+ self . _server .putenv ("REQUEST_METHOD" , '' )
1389
1396
return result
1390
1397
1391
1398
def _get_restricted (self , query_string ):
1392
- server .putenv ("REQUEST_METHOD" , "GET" )
1399
+ self . _server .putenv ("REQUEST_METHOD" , "GET" )
1393
1400
result = self ._handle_request (True , query_string )
1394
- server .putenv ("REQUEST_METHOD" , '' )
1401
+ self . _server .putenv ("REQUEST_METHOD" , '' )
1395
1402
return result
1396
1403
1397
1404
def _post_fullaccess (self , data , query_string = None ):
1398
- server .putenv ("REQUEST_METHOD" , "POST" )
1399
- server .putenv ("REQUEST_BODY" , data )
1400
- server .putenv ("QGIS_PROJECT_FILE" , self .projectPath )
1405
+ self . _server .putenv ("REQUEST_METHOD" , "POST" )
1406
+ self . _server .putenv ("REQUEST_BODY" , data )
1407
+ self . _server .putenv ("QGIS_PROJECT_FILE" , self .projectPath )
1401
1408
result = self ._handle_request (False , query_string )
1402
- server .putenv ("REQUEST_METHOD" , '' )
1403
- server .putenv ("REQUEST_BODY" , '' )
1404
- server .putenv ("QGIS_PROJECT_FILE" , '' )
1409
+ self . _server .putenv ("REQUEST_METHOD" , '' )
1410
+ self . _server .putenv ("REQUEST_BODY" , '' )
1411
+ self . _server .putenv ("QGIS_PROJECT_FILE" , '' )
1405
1412
return result
1406
1413
1407
1414
def _post_restricted (self , data , query_string = None ):
1408
- server .putenv ("REQUEST_METHOD" , "POST" )
1409
- server .putenv ("REQUEST_BODY" , data )
1410
- server .putenv ("QGIS_PROJECT_FILE" , self .projectPath )
1415
+ self . _server .putenv ("REQUEST_METHOD" , "POST" )
1416
+ self . _server .putenv ("REQUEST_BODY" , data )
1417
+ self . _server .putenv ("QGIS_PROJECT_FILE" , self .projectPath )
1411
1418
result = self ._handle_request (True , query_string )
1412
- server .putenv ("REQUEST_METHOD" , '' )
1413
- server .putenv ("REQUEST_BODY" , '' )
1414
- server .putenv ("QGIS_PROJECT_FILE" , '' )
1419
+ self . _server .putenv ("REQUEST_METHOD" , '' )
1420
+ self . _server .putenv ("REQUEST_BODY" , '' )
1421
+ self . _server .putenv ("QGIS_PROJECT_FILE" , '' )
1415
1422
return result
1416
1423
1417
1424
def _img_diff (self , image , control_image , max_diff , max_size_diff = QSize ()):
0 commit comments