rename TaskModelException to TaskModelError

This commit is contained in:
burnettk 2023-04-25 21:55:18 -04:00
parent 956ba2955b
commit 17070332c1
4 changed files with 15 additions and 11 deletions

View File

@ -26,7 +26,7 @@ from spiffworkflow_backend.services.authentication_service import NotAuthorizedE
from spiffworkflow_backend.services.authentication_service import TokenInvalidError from spiffworkflow_backend.services.authentication_service import TokenInvalidError
from spiffworkflow_backend.services.authentication_service import TokenNotProvidedError from spiffworkflow_backend.services.authentication_service import TokenNotProvidedError
from spiffworkflow_backend.services.authentication_service import UserNotLoggedInError from spiffworkflow_backend.services.authentication_service import UserNotLoggedInError
from spiffworkflow_backend.services.task_service import TaskModelException from spiffworkflow_backend.services.task_service import TaskModelError
from spiffworkflow_backend.services.task_service import TaskService from spiffworkflow_backend.services.task_service import TaskService
@ -124,7 +124,7 @@ class ApiError(Exception):
if task_trace: if task_trace:
instance.task_trace = task_trace instance.task_trace = task_trace
else: else:
instance.task_trace = TaskModelException.get_task_trace(task_model) instance.task_trace = TaskModelError.get_task_trace(task_model)
try: try:
spec_reference = TaskService.get_spec_reference_from_bpmn_process(task_model.bpmn_process) spec_reference = TaskService.get_spec_reference_from_bpmn_process(task_model.bpmn_process)
@ -198,7 +198,7 @@ class ApiError(Exception):
error_line=exp.error_line, error_line=exp.error_line,
task_trace=exp.task_trace, task_trace=exp.task_trace,
) )
elif isinstance(exp, TaskModelException): elif isinstance(exp, TaskModelError):
# Note that WorkflowDataExceptions are also WorkflowTaskExceptions # Note that WorkflowDataExceptions are also WorkflowTaskExceptions
return ApiError.from_task_model( return ApiError.from_task_model(
error_code, error_code,

View File

@ -68,7 +68,7 @@ from spiffworkflow_backend.services.process_instance_service import (
from spiffworkflow_backend.services.process_instance_tmp_service import ProcessInstanceTmpService from spiffworkflow_backend.services.process_instance_tmp_service import ProcessInstanceTmpService
from spiffworkflow_backend.services.process_model_service import ProcessModelService from spiffworkflow_backend.services.process_model_service import ProcessModelService
from spiffworkflow_backend.services.spec_file_service import SpecFileService from spiffworkflow_backend.services.spec_file_service import SpecFileService
from spiffworkflow_backend.services.task_service import TaskModelException from spiffworkflow_backend.services.task_service import TaskModelError
from spiffworkflow_backend.services.task_service import TaskService from spiffworkflow_backend.services.task_service import TaskService
@ -377,7 +377,7 @@ def _render_instructions_for_end_user(task_model: TaskModel, extensions: Optiona
instructions = _render_jinja_template(extensions["instructionsForEndUser"], task_model) instructions = _render_jinja_template(extensions["instructionsForEndUser"], task_model)
extensions["instructionsForEndUser"] = instructions extensions["instructionsForEndUser"] = instructions
return instructions return instructions
except TaskModelException as wfe: except TaskModelError as wfe:
wfe.add_note("Failed to render instructions for end user.") wfe.add_note("Failed to render instructions for end user.")
raise ApiError.from_workflow_exception("instructions_error", str(wfe), exp=wfe) from wfe raise ApiError.from_workflow_exception("instructions_error", str(wfe), exp=wfe) from wfe
return "" return ""
@ -669,7 +669,7 @@ def _prepare_form_data(form_file: str, task_model: TaskModel, process_model: Pro
status_code=400, status_code=400,
) )
) from exception ) from exception
except TaskModelException as wfe: except TaskModelError as wfe:
wfe.add_note(f"Error in Json Form File '{form_file}'") wfe.add_note(f"Error in Json Form File '{form_file}'")
api_error = ApiError.from_workflow_exception("instructions_error", str(wfe), exp=wfe) api_error = ApiError.from_workflow_exception("instructions_error", str(wfe), exp=wfe)
api_error.file_name = form_file api_error.file_name = form_file
@ -683,7 +683,7 @@ def _render_jinja_template(unprocessed_template: str, task_model: TaskModel) ->
template = jinja_environment.from_string(unprocessed_template) template = jinja_environment.from_string(unprocessed_template)
return template.render(**(task_model.get_data())) return template.render(**(task_model.get_data()))
except jinja2.exceptions.TemplateError as template_error: except jinja2.exceptions.TemplateError as template_error:
wfe = TaskModelException(str(template_error), task_model=task_model, exception=template_error) wfe = TaskModelError(str(template_error), task_model=task_model, exception=template_error)
if isinstance(template_error, TemplateSyntaxError): if isinstance(template_error, TemplateSyntaxError):
wfe.line_number = template_error.lineno wfe.line_number = template_error.lineno
wfe.error_line = template_error.source.split("\n")[template_error.lineno - 1] wfe.error_line = template_error.source.split("\n")[template_error.lineno - 1]
@ -691,7 +691,7 @@ def _render_jinja_template(unprocessed_template: str, task_model: TaskModel) ->
raise wfe from template_error raise wfe from template_error
except Exception as error: except Exception as error:
_type, _value, tb = exc_info() _type, _value, tb = exc_info()
wfe = TaskModelException(str(error), task_model=task_model, exception=error) wfe = TaskModelError(str(error), task_model=task_model, exception=error)
while tb: while tb:
if tb.tb_frame.f_code.co_filename == "<template>": if tb.tb_frame.f_code.co_filename == "<template>":
wfe.line_number = tb.tb_lineno wfe.line_number = tb.tb_lineno

View File

@ -43,7 +43,7 @@ class JsonDataDict(TypedDict):
data: dict data: dict
class TaskModelException(Exception): class TaskModelError(Exception):
"""Copied from SpiffWorkflow.exceptions.WorkflowTaskException. """Copied from SpiffWorkflow.exceptions.WorkflowTaskException.
Reimplements the exception from SpiffWorkflow to not require a spiff_task. Reimplements the exception from SpiffWorkflow to not require a spiff_task.

View File

@ -357,7 +357,9 @@ class TestProcessInstanceProcessor(BaseTest):
human_task_one = process_instance.active_human_tasks[0] human_task_one = process_instance.active_human_tasks[0]
spiff_manual_task = processor.bpmn_process_instance.get_task_from_id(UUID(human_task_one.task_id)) spiff_manual_task = processor.bpmn_process_instance.get_task_from_id(UUID(human_task_one.task_id))
ProcessInstanceService.complete_form_task(processor, spiff_manual_task, {}, initiator_user, human_task_one) ProcessInstanceService.complete_form_task(processor, spiff_manual_task, {}, initiator_user, human_task_one)
assert len(process_instance.active_human_tasks) == 0, "expected 0 active human tasks after 2nd one is completed" assert (
len(process_instance.active_human_tasks) == 0
), "expected 0 active human tasks after 2nd one is completed"
processor.suspend() processor.suspend()
@ -376,7 +378,9 @@ class TestProcessInstanceProcessor(BaseTest):
# make sure sqlalchemy session matches current db state # make sure sqlalchemy session matches current db state
db.session.expire_all() db.session.expire_all()
assert len(process_instance.human_tasks) == 2, "still expected 2 human tasks after reset and session expire_all" assert (
len(process_instance.human_tasks) == 2
), "still expected 2 human tasks after reset and session expire_all"
process_instance = ProcessInstanceModel.query.filter_by(id=process_instance.id).first() process_instance = ProcessInstanceModel.query.filter_by(id=process_instance.id).first()
processor = ProcessInstanceProcessor(process_instance) processor = ProcessInstanceProcessor(process_instance)