From 6720356aff84b76bebb99c8d85ba49f2e0904bbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E7=8E=AE=20=28Jade=20Lin=29?= Date: Wed, 30 Sep 2026 16:48:37 +0800 Subject: [PATCH] fix(test): adapt SaaS fixtures after main merge --- .../web/test_public_app_admission.py | 29 ++++++++++++++----- .../services/test_app_dsl_service.py | 23 --------------- 2 files changed, 22 insertions(+), 30 deletions(-) diff --git a/api/tests/unit_tests/controllers/web/test_public_app_admission.py b/api/tests/unit_tests/controllers/web/test_public_app_admission.py index 2c263848e0a..f3fc31e325f 100644 --- a/api/tests/unit_tests/controllers/web/test_public_app_admission.py +++ b/api/tests/unit_tests/controllers/web/test_public_app_admission.py @@ -21,9 +21,12 @@ from models.workflow import Workflow, WorkflowRun, WorkflowType from repositories.app_definition_query_repository import AppDefinitionQueryRepository from repositories.web_passport_repository import WebPassportRepository from repositories.webapp_access_query_repository import WebAppAccessQueryRepository +from services import web_authentication_adapters from services.app_definition_query_service import AppDefinitionQueryService from services.entities.feature_entities import FeatureModel from services.web_app_runtime_query_service import WebAppRuntimeQueryService +from services.web_authentication_adapters import PassportWebAppSessionGateway +from services.web_authentication_service import WebAuthenticationService from services.web_passport_service import WebPassportService from services.webapp_access_query_service import WebAppAccessQueryService from tests.unit_tests.config_override import apply_config_overrides @@ -95,14 +98,24 @@ def _harness( tokens.issue.return_value = "new-passport" tokens.verify.return_value = {"app_id": app.id, "app_code": "fixture-code", "end_user_id": old_user.id} definitions = AppDefinitionQueryRepository(session_factory=factory) + webapp_access = WebAppAccessQueryService( + access=access_repo, + webapp_auth_enabled=False, + policy=MagicMock(get_access_mode=mode_lookup), + get_access_modes=MagicMock(), + get_user_permissions=MagicMock(), + ) services = SimpleNamespace( - webapp_access=WebAppAccessQueryService( - access=access_repo, - webapp_auth_enabled=False, - access_mode_for_app=mode_lookup, - is_user_allowed_for_app=MagicMock(), - get_access_modes=MagicMock(), - get_user_permissions=MagicMock(), + webapp_access=webapp_access, + web_authentication=WebAuthenticationService( + accounts=MagicMock(), + passwords=MagicMock(), + tokens=MagicMock(), + security=MagicMock(), + app_access=webapp_access, + app_sessions=PassportWebAppSessionGateway(sessions=access_repo, app_access=webapp_access), + audit=MagicMock(), + private_app_access_enabled=False, ), web_passport=WebPassportService( passports=passport_repo, @@ -125,7 +138,9 @@ def _harness( for module in (app_controller, login, passport, site, wraps): monkeypatch.setattr(module, "application_services", lambda: services) monkeypatch.setattr(wraps, "PassportService", lambda: tokens) + monkeypatch.setattr(web_authentication_adapters, "PassportService", lambda: tokens) monkeypatch.setattr(wraps, "extract_webapp_passport", lambda *_: "old-passport") + monkeypatch.setattr(login, "extract_webapp_passport", lambda *_: "old-passport") monkeypatch.setattr(wraps.SystemFeatureService, "is_webapp_auth_enabled", lambda: False) apply_config_overrides( monkeypatch, diff --git a/api/tests/unit_tests/services/test_app_dsl_service.py b/api/tests/unit_tests/services/test_app_dsl_service.py index f6c367902d4..66d2f0067b4 100644 --- a/api/tests/unit_tests/services/test_app_dsl_service.py +++ b/api/tests/unit_tests/services/test_app_dsl_service.py @@ -115,29 +115,6 @@ def test_extract_workflow_dependencies_includes_plugin_nodes(monkeypatch: pytest ] -def test_extract_workflow_dependencies_includes_plugin_nodes(monkeypatch: pytest.MonkeyPatch) -> None: - monkeypatch.setattr( - "services.app_dsl_service.ToolNodeData.model_validate", - Mock(return_value=SimpleNamespace(provider_id="acme/tool/provider")), - ) - graph = { - "nodes": [ - {"data": {"type": "tool", "plugin_id": "acme/tool"}}, - {"data": {"type": "trigger-plugin", "plugin_id": "acme/trigger"}}, - {"data": {"type": "datasource", "provider_type": "online_document", "plugin_id": "acme/drive"}}, - {"data": {"type": "datasource", "provider_type": "local_file", "plugin_id": "langgenius/file"}}, - {"data": {"type": "agent", "agent_strategy_provider_name": "acme/strategy/provider"}}, - ] - } - - assert AppDslService._extract_dependencies_from_workflow_graph(graph) == [ - "acme/tool", - "acme/trigger", - "acme/drive", - "acme/strategy", - ] - - def test_extract_workflow_dependencies_uses_llm_environment_variable_provider(monkeypatch: pytest.MonkeyPatch) -> None: workflow = _workflow( graph={