fix unit test

This commit is contained in:
yunlu.wen 2026-03-09 16:01:55 +08:00
parent fbe299f9b5
commit 67fdd0be03
2 changed files with 17 additions and 1 deletions

View File

@ -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

View File

@ -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()