mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-05 00:09:32 -04:00
Make QgsServerLogger testable and test it
This commit is contained in:
parent
504657ed51
commit
34431024d3
77
python/server/auto_generated/qgsserverlogger.sip.in
Normal file
77
python/server/auto_generated/qgsserverlogger.sip.in
Normal file
@ -0,0 +1,77 @@
|
||||
/************************************************************************
|
||||
* This file has been generated automatically from *
|
||||
* *
|
||||
* src/server/qgsserverlogger.h *
|
||||
* *
|
||||
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
||||
************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class QgsServerLogger : QgsMessageLogConsole
|
||||
{
|
||||
%Docstring
|
||||
Writes message log into server logfile
|
||||
|
||||
.. versionadded:: 2.8
|
||||
%End
|
||||
|
||||
%TypeHeaderCode
|
||||
#include "qgsserverlogger.h"
|
||||
%End
|
||||
public:
|
||||
|
||||
static QgsServerLogger *instance();
|
||||
%Docstring
|
||||
Gets the singleton instance
|
||||
%End
|
||||
|
||||
Qgis::MessageLevel logLevel() const;
|
||||
%Docstring
|
||||
Gets the current log level
|
||||
|
||||
:return: the log level
|
||||
|
||||
.. versionadded:: 3.0
|
||||
%End
|
||||
|
||||
void setLogLevel( Qgis::MessageLevel level );
|
||||
%Docstring
|
||||
Set the current log level
|
||||
|
||||
:param level: the log level
|
||||
|
||||
.. versionadded:: 3.0
|
||||
%End
|
||||
|
||||
void setLogFile( const QString &f );
|
||||
%Docstring
|
||||
Set the current log file
|
||||
%End
|
||||
|
||||
public slots:
|
||||
|
||||
void logMessage( const QString &message, const QString &tag, Qgis::MessageLevel level );
|
||||
%Docstring
|
||||
Log a message from the server context
|
||||
|
||||
:param message: the message
|
||||
:param tag: tag of the message
|
||||
:param level: log level of the message
|
||||
%End
|
||||
|
||||
protected:
|
||||
QgsServerLogger();
|
||||
|
||||
};
|
||||
|
||||
/************************************************************************
|
||||
* This file has been generated automatically from *
|
||||
* *
|
||||
* src/server/qgsserverlogger.h *
|
||||
* *
|
||||
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
||||
************************************************************************/
|
@ -3,6 +3,7 @@
|
||||
%Include auto_generated/qgsmapserviceexception.sip
|
||||
%Include auto_generated/qgscapabilitiescache.sip
|
||||
%Include auto_generated/qgsconfigcache.sip
|
||||
%Include auto_generated/qgsserverlogger.sip
|
||||
%Include auto_generated/qgsserversettings.sip
|
||||
%Include auto_generated/qgsserverparameters.sip
|
||||
%Include auto_generated/qgsbufferserverrequest.sip
|
||||
|
@ -18,8 +18,6 @@
|
||||
#ifndef QGSSERVERLOGGER_H
|
||||
#define QGSSERVERLOGGER_H
|
||||
|
||||
#define SIP_NO_FILE
|
||||
|
||||
|
||||
#include "qgsmessagelog.h"
|
||||
|
||||
@ -27,13 +25,14 @@
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
#include <QTextStream>
|
||||
#include "qgis_server.h"
|
||||
|
||||
/**
|
||||
* \ingroup server
|
||||
* \brief Writes message log into server logfile
|
||||
* \since QGIS 2.8
|
||||
*/
|
||||
class QgsServerLogger: public QgsMessageLogConsole
|
||||
class SERVER_EXPORT QgsServerLogger : public QgsMessageLogConsole
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
|
@ -255,6 +255,7 @@ ENDIF (ENABLE_ORACLETEST)
|
||||
|
||||
IF (WITH_SERVER)
|
||||
ADD_PYTHON_TEST(PyQgsServer test_qgsserver.py)
|
||||
ADD_PYTHON_TEST(PyQgsServerLogger test_qgsserverlogger.py)
|
||||
ADD_PYTHON_TEST(PyQgsServerPlugins test_qgsserver_plugins.py)
|
||||
ADD_PYTHON_TEST(PyQgsServerWMS test_qgsserver_wms.py)
|
||||
ADD_PYTHON_TEST(PyQgsServerWMSGetMap test_qgsserver_wms_getmap.py)
|
||||
|
52
tests/src/python/test_qgsserverlogger.py
Normal file
52
tests/src/python/test_qgsserverlogger.py
Normal file
@ -0,0 +1,52 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""QGIS Unit tests for QgsServerLogger.
|
||||
"""
|
||||
__author__ = 'Eric Lemoine'
|
||||
__date__ = '11/09/2018'
|
||||
__copyright__ = 'Copyright 2018, The QGIS Project'
|
||||
__revision__ = '$Format:%H$'
|
||||
|
||||
import os
|
||||
|
||||
from qgis.testing import unittest
|
||||
from qgis.server import QgsServerLogger
|
||||
|
||||
from utilities import unitTestDataPath
|
||||
|
||||
|
||||
class TestQgsServerLogger(unittest.TestCase):
|
||||
|
||||
log_file = os.path.join(unitTestDataPath('qgis_server'), 'qgis_server_test.log')
|
||||
|
||||
@staticmethod
|
||||
def remove_file(filename):
|
||||
try:
|
||||
os.remove(filename)
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
|
||||
def setUp(self):
|
||||
self.logger = QgsServerLogger.instance()
|
||||
self.logger.setLogLevel(0)
|
||||
self.logger.setLogFile(self.log_file)
|
||||
exists = os.access(self.log_file, os.R_OK)
|
||||
self.assertTrue(exists)
|
||||
self.remove_file(self.log_file)
|
||||
|
||||
def tearDown(self):
|
||||
self.remove_file(self.log_file)
|
||||
|
||||
def test_logging_no_log_file(self):
|
||||
self.logger.setLogFile('')
|
||||
exists = os.access(self.log_file, os.R_OK)
|
||||
self.assertFalse(exists)
|
||||
|
||||
def test_logging_log_file(self):
|
||||
self.logger.setLogFile(self.log_file)
|
||||
exists = os.access(self.log_file, os.R_OK)
|
||||
self.assertTrue(exists)
|
||||
|
||||
def test_logging_stderr(self):
|
||||
self.logger.setLogFile('stderr')
|
||||
exists = os.access(self.log_file, os.R_OK)
|
||||
self.assertFalse(exists)
|
Loading…
x
Reference in New Issue
Block a user