Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make QgsServerLogger testable and test it
- Loading branch information
Éric Lemoine
committed
Sep 13, 2018
1 parent
504657e
commit 3443102
Showing
5 changed files
with
133 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 * | ||
************************************************************************/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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) |