diff --git a/api/tests/unit_tests/core/plugin/test_plugin_manager.py b/api/tests/unit_tests/core/plugin/test_plugin_manager.py index 510aedd551..8519f92563 100644 --- a/api/tests/unit_tests/core/plugin/test_plugin_manager.py +++ b/api/tests/unit_tests/core/plugin/test_plugin_manager.py @@ -269,6 +269,7 @@ class TestPluginLoading: id="task-123", created_at=datetime.datetime.now(), updated_at=datetime.datetime.now(), + plugin_unique_identifier="test-org/test-plugin/1.0.0", status=PluginInstallTaskStatus.Running, total_plugins=3, completed_plugins=1, @@ -720,6 +721,7 @@ class TestPluginTaskManagement: id="task-1", created_at=datetime.datetime.now(), updated_at=datetime.datetime.now(), + plugin_unique_identifier="test-org/test-plugin-a/1.0.0", status=PluginInstallTaskStatus.Running, total_plugins=2, completed_plugins=1, @@ -729,6 +731,7 @@ class TestPluginTaskManagement: id="task-2", created_at=datetime.datetime.now(), updated_at=datetime.datetime.now(), + plugin_unique_identifier="test-org/test-plugin-b/1.0.0", status=PluginInstallTaskStatus.Success, total_plugins=1, completed_plugins=1, @@ -1256,6 +1259,7 @@ class TestPluginTaskStatusTransitions: id="pending-task", created_at=datetime.datetime.now(), updated_at=datetime.datetime.now(), + plugin_unique_identifier="test-org/test-plugin/1.0.0", status=PluginInstallTaskStatus.Pending, total_plugins=3, completed_plugins=0, # No plugins completed yet @@ -1283,6 +1287,7 @@ class TestPluginTaskStatusTransitions: id="running-task", created_at=datetime.datetime.now(), updated_at=datetime.datetime.now(), + plugin_unique_identifier="test-org/test-plugin/1.0.0", status=PluginInstallTaskStatus.Running, total_plugins=5, completed_plugins=2, # 2 out of 5 completed @@ -1311,6 +1316,7 @@ class TestPluginTaskStatusTransitions: id="success-task", created_at=datetime.datetime.now(), updated_at=datetime.datetime.now(), + plugin_unique_identifier="test-org/test-plugin/1.0.0", status=PluginInstallTaskStatus.Success, total_plugins=4, completed_plugins=4, # All plugins completed @@ -1338,6 +1344,7 @@ class TestPluginTaskStatusTransitions: id="failed-task", created_at=datetime.datetime.now(), updated_at=datetime.datetime.now(), + plugin_unique_identifier="test-org/test-plugin/1.0.0", status=PluginInstallTaskStatus.Failed, total_plugins=3, completed_plugins=1, # Only 1 completed before failure diff --git a/api/tests/unit_tests/services/enterprise/test_plugin_manager_service.py b/api/tests/unit_tests/services/enterprise/test_plugin_manager_service.py index 5a96977299..d5f34d00b9 100644 --- a/api/tests/unit_tests/services/enterprise/test_plugin_manager_service.py +++ b/api/tests/unit_tests/services/enterprise/test_plugin_manager_service.py @@ -9,6 +9,7 @@ from unittest.mock import patch from httpx import HTTPStatusError +from configs import dify_config from services.enterprise.plugin_manager_service import ( PluginManagerService, PreUninstallPluginRequest, @@ -34,6 +35,7 @@ class TestTryPreUninstallPlugin: "/pre-uninstall-plugin", json={"tenant_id": "tenant-123", "plugin_unique_identifier": "com.example.my_plugin"}, raise_for_status=True, + timeout=dify_config.ENTERPRISE_REQUEST_TIMEOUT, ) def test_try_pre_uninstall_plugin_http_error_soft_fails(self): @@ -61,6 +63,7 @@ class TestTryPreUninstallPlugin: "/pre-uninstall-plugin", json={"tenant_id": "tenant-456", "plugin_unique_identifier": "com.example.other_plugin"}, raise_for_status=True, + timeout=dify_config.ENTERPRISE_REQUEST_TIMEOUT, ) mock_logger.exception.assert_called_once() @@ -80,5 +83,11 @@ class TestTryPreUninstallPlugin: PluginManagerService.try_pre_uninstall_plugin(body) - mock_send_request.assert_called_once() + mock_send_request.assert_called_once_with( + "POST", + "/pre-uninstall-plugin", + json={"tenant_id": "tenant-789", "plugin_unique_identifier": "com.example.failing_plugin"}, + raise_for_status=True, + timeout=dify_config.ENTERPRISE_REQUEST_TIMEOUT, + ) mock_logger.exception.assert_called_once()