mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-14 00:07:35 -04:00
Add test that python exception is caught when executing an alg
This commit is contained in:
parent
eb39fb0ebd
commit
a8cdde5232
@ -30,7 +30,28 @@ import AlgorithmsTestBase
|
||||
import nose2
|
||||
import shutil
|
||||
|
||||
from qgis.core import (QgsProcessingAlgorithm,
|
||||
QgsProcessingFeedback)
|
||||
from qgis.testing import start_app, unittest
|
||||
from processing.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException
|
||||
from processing.tools.dataobjects import createContext
|
||||
|
||||
|
||||
class TestAlg(QgsProcessingAlgorithm):
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
def name(self):
|
||||
return 'testalg'
|
||||
|
||||
def displayName(self):
|
||||
return 'testalg'
|
||||
|
||||
def processAlgorithm(self, parameters, context, feedback):
|
||||
raise GeoAlgorithmExecutionException(
|
||||
self.tr('Exception while processing'))
|
||||
return {}
|
||||
|
||||
|
||||
class TestQgisAlgorithms(unittest.TestCase, AlgorithmsTestBase.AlgorithmsTest):
|
||||
@ -52,6 +73,17 @@ class TestQgisAlgorithms(unittest.TestCase, AlgorithmsTestBase.AlgorithmsTest):
|
||||
def test_definition_file(self):
|
||||
return 'qgis_algorithm_tests.yaml'
|
||||
|
||||
def testProcessingException(self):
|
||||
"""
|
||||
Test that Python exception is caught when running an alg
|
||||
"""
|
||||
|
||||
alg = TestAlg()
|
||||
context = createContext()
|
||||
feedback = QgsProcessingFeedback()
|
||||
results, ok = alg.run({}, context, feedback)
|
||||
self.assertFalse(ok)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
nose2.main()
|
||||
|
@ -65,7 +65,7 @@ TYPE_FILE = 4
|
||||
TYPE_TABLE = 5
|
||||
|
||||
|
||||
def createContext(feedback):
|
||||
def createContext(feedback=None):
|
||||
"""
|
||||
Creates a default processing context
|
||||
"""
|
||||
|
Loading…
x
Reference in New Issue
Block a user