Use a mock when making external calls in tests.

This commit is contained in:
Dan 2023-02-08 13:14:42 -05:00
parent b1d4eee781
commit b5cd11ef37
1 changed files with 7 additions and 3 deletions

View File

@ -1,8 +1,8 @@
"""Test_various_bpmn_constructs.""" """Test_various_bpmn_constructs."""
import pytest import pytest
from flask.app import Flask from flask.app import Flask
from unittest.mock import Mock, patch
from tests.spiffworkflow_backend.helpers.base_test import BaseTest from tests.spiffworkflow_backend.helpers.base_test import BaseTest
from spiffworkflow_backend.services.secret_service import SecretService from spiffworkflow_backend.services.secret_service import SecretService
from spiffworkflow_backend.services.service_task_service import ConnectorProxyError from spiffworkflow_backend.services.service_task_service import ConnectorProxyError
from spiffworkflow_backend.services.service_task_service import ServiceTaskDelegate from spiffworkflow_backend.services.service_task_service import ServiceTaskDelegate
@ -37,8 +37,12 @@ class TestServiceTaskDelegate(BaseTest):
def test_invalid_call_returns_good_error_message( def test_invalid_call_returns_good_error_message(
self, app: Flask, with_db_and_bpmn_file_cleanup: None self, app: Flask, with_db_and_bpmn_file_cleanup: None
) -> None: ) -> None:
with pytest.raises(ConnectorProxyError) as ae: with patch('requests.post') as mock_post:
ServiceTaskDelegate.call_connector("my_invalid_operation", {}, {}) mock_post.return_value.status_code = 404
mock_post.return_value.ok = True
mock_post.return_value.json.return_value = ""
with pytest.raises(ConnectorProxyError) as ae:
ServiceTaskDelegate.call_connector("my_invalid_operation", {}, {})
assert "404" in str(ae) assert "404" in str(ae)
assert "The service did not find the requested resource." in str(ae) assert "The service did not find the requested resource." in str(ae)
assert ( assert (