QGIS_SERVER_PKI_KEY = os.environ.get('QGIS_SERVER_PKI_KEY') QGIS_SERVER_PKI_AUTHORITY = os.environ.get('QGIS_SERVER_PKI_AUTHORITY') QGIS_SERVER_PKI_USERNAME = os.environ.get('QGIS_SERVER_PKI_USERNAME') # Check if PKI - https is enabled https = (QGIS_SERVER_PKI_CERTIFICATE is not None and os.path.isfile(QGIS_SERVER_PKI_CERTIFICATE) and QGIS_SERVER_PKI_KEY is not None and os.path.isfile(QGIS_SERVER_PKI_KEY) and QGIS_SERVER_PKI_AUTHORITY is not None and os.path.isfile(QGIS_SERVER_PKI_AUTHORITY) and QGIS_SERVER_PKI_USERNAME) qgs_app = QgsApplication([], False) qgs_server = QgsServer() if os.environ.get('QGIS_SERVER_HTTP_BASIC_AUTH') is not None: import base64 class HTTPBasicFilter(QgsServerFilter): def requestReady(self): handler = self.serverInterface().requestHandler() auth = self.serverInterface().requestHandler().requestHeader('HTTP_AUTHORIZATION') if auth: username, password = base64.b64decode(auth[6:]).split(b':') if (username.decode('utf-8') == os.environ.get('QGIS_SERVER_USERNAME', 'username') and password.decode('utf-8') == os.environ.get('QGIS_SERVER_PASSWORD', 'password')): return
def setUp(self): self.server = QgsServer() copyfile(self.db, self.db_clone)
def test_destructor_segfaults(self): """Segfault on destructor?""" server = QgsServer() del server
def test_multiple_servers(self): """Segfaults?""" for i in range(10): locals()["s%s" % i] = QgsServer() locals()["s%s" % i].handleRequest()