idk why these weren't committed
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
import pytest
|
||||
import asyncio
|
||||
import subprocess
|
||||
import time
|
||||
import requests
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import os
|
||||
import sys
|
||||
import unittest
|
||||
from unittest.mock import patch, MagicMock
|
||||
|
||||
# Ensure project root is in path
|
||||
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
|
||||
|
||||
@@ -2,12 +2,10 @@ import os
|
||||
import sys
|
||||
import unittest
|
||||
from unittest.mock import patch, MagicMock
|
||||
from pathlib import Path
|
||||
|
||||
# Ensure project root is in path
|
||||
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
|
||||
|
||||
from src.project_manager import default_project
|
||||
|
||||
class TestArchBoundaryPhase2(unittest.TestCase):
|
||||
def setUp(self) -> None:
|
||||
@@ -15,7 +13,6 @@ class TestArchBoundaryPhase2(unittest.TestCase):
|
||||
|
||||
def test_toml_exposes_all_dispatch_tools(self) -> None:
|
||||
"""manual_slop.toml [agent.tools] must list every tool in mcp_client.dispatch()."""
|
||||
from src import mcp_client
|
||||
from src import models
|
||||
|
||||
# We check the tool names in the source of mcp_client.dispatch
|
||||
@@ -44,7 +41,6 @@ class TestArchBoundaryPhase2(unittest.TestCase):
|
||||
|
||||
def test_mutating_tool_triggers_callback(self) -> None:
|
||||
"""All mutating tools must trigger the pre_tool_callback."""
|
||||
from src import ai_client
|
||||
from src.app_controller import AppController
|
||||
|
||||
# Use a real AppController to test its _confirm_and_run
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import os
|
||||
import sys
|
||||
import unittest
|
||||
from unittest.mock import patch, MagicMock
|
||||
|
||||
# Ensure project root is in path
|
||||
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
|
||||
@@ -29,7 +28,7 @@ class TestArchBoundaryPhase3(unittest.TestCase):
|
||||
|
||||
def test_cascade_blocks_multi_hop(self) -> None:
|
||||
"""Test that blocking cascades through multiple dependencies."""
|
||||
from src.models import Ticket, Track
|
||||
from src.models import Ticket
|
||||
from src.dag_engine import TrackDAG, ExecutionEngine
|
||||
|
||||
t1 = Ticket(id="T1", description="d1", status="blocked", assigned_to="worker1")
|
||||
@@ -45,7 +44,7 @@ class TestArchBoundaryPhase3(unittest.TestCase):
|
||||
|
||||
def test_manual_unblock_restores_todo(self) -> None:
|
||||
"""Test that unblocking a task manually works if dependencies are met."""
|
||||
from src.models import Ticket, Track
|
||||
from src.models import Ticket
|
||||
from src.dag_engine import TrackDAG, ExecutionEngine
|
||||
|
||||
t1 = Ticket(id="T1", description="d1", status="completed", assigned_to="worker1")
|
||||
@@ -64,7 +63,7 @@ class TestArchBoundaryPhase3(unittest.TestCase):
|
||||
|
||||
def test_in_progress_not_blocked(self) -> None:
|
||||
"""Test that in_progress tasks are not blocked automatically (only todo)."""
|
||||
from src.models import Ticket, Track
|
||||
from src.models import Ticket
|
||||
from src.dag_engine import TrackDAG, ExecutionEngine
|
||||
|
||||
t1 = Ticket(id="T1", description="d1", status="blocked", assigned_to="worker1")
|
||||
@@ -79,7 +78,7 @@ class TestArchBoundaryPhase3(unittest.TestCase):
|
||||
|
||||
def test_execution_engine_tick_cascades_blocks(self) -> None:
|
||||
"""Test that ExecutionEngine.tick() triggers the cascading blocks."""
|
||||
from src.models import Ticket, Track
|
||||
from src.models import Ticket
|
||||
from src.dag_engine import TrackDAG, ExecutionEngine
|
||||
|
||||
t1 = Ticket(id="T1", description="d1", status="blocked", assigned_to="worker1")
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import pytest
|
||||
from src.file_cache import ASTParser
|
||||
|
||||
def test_ast_parser_initialization() -> None:
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
import pytest
|
||||
from src.log_registry import LogRegistry
|
||||
from src import project_manager
|
||||
import time
|
||||
from pathlib import Path
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
import pytest
|
||||
from unittest.mock import patch, MagicMock
|
||||
import time
|
||||
from unittest.mock import patch
|
||||
from src.api_hook_client import ApiHookClient
|
||||
|
||||
def simulate_conductor_phase_completion(client: ApiHookClient, track_id: str, phase_name: str) -> bool:
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
from unittest.mock import patch, MagicMock
|
||||
from src import ai_client
|
||||
import json
|
||||
import pytest
|
||||
|
||||
def test_deepseek_model_selection() -> None:
|
||||
"""
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import pytest
|
||||
from src.models import Ticket
|
||||
from src.dag_engine import TrackDAG, ExecutionEngine
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import json
|
||||
import subprocess
|
||||
from unittest.mock import patch, MagicMock
|
||||
from src.gemini_cli_adapter import GeminiCliAdapter
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import unittest
|
||||
import json
|
||||
import subprocess
|
||||
from unittest.mock import patch, MagicMock
|
||||
from src.gemini_cli_adapter import GeminiCliAdapter
|
||||
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
import json
|
||||
import subprocess
|
||||
from unittest.mock import patch, MagicMock
|
||||
from src.gemini_cli_adapter import GeminiCliAdapter
|
||||
from src import mcp_client
|
||||
@@ -21,7 +19,6 @@ def test_gemini_cli_context_bleed_prevention() -> None:
|
||||
assert result["text"] == "Model response"
|
||||
|
||||
def test_gemini_cli_parameter_resilience() -> None:
|
||||
from src import mcp_client
|
||||
with patch('src.mcp_client.read_file', return_value="content") as mock_read:
|
||||
mcp_client.dispatch("read_file", {"file_path": "aliased.txt"})
|
||||
mock_read.assert_called_once_with("aliased.txt")
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import json
|
||||
from unittest.mock import patch, MagicMock
|
||||
from unittest.mock import MagicMock
|
||||
from src import ai_client
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
from typing import Any
|
||||
from unittest.mock import patch, MagicMock
|
||||
|
||||
def test_send_invokes_adapter_send() -> None:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from unittest.mock import patch, MagicMock
|
||||
from unittest.mock import patch
|
||||
from src.gui_2 import App
|
||||
from src import ai_client
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ from unittest.mock import MagicMock, patch
|
||||
from src.models import Ticket, Track
|
||||
from src import multi_agent_conductor
|
||||
from src.multi_agent_conductor import ConductorEngine
|
||||
from src import events
|
||||
from src import ai_client
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
import pytest
|
||||
import requests
|
||||
import time
|
||||
import sys
|
||||
import os
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import pytest
|
||||
from unittest.mock import patch, ANY
|
||||
from unittest.mock import patch
|
||||
import time
|
||||
import sys
|
||||
from src.gui_2 import App
|
||||
from src.events import UserRequestEvent
|
||||
from src.api_hook_client import ApiHookClient
|
||||
|
||||
@@ -2,8 +2,7 @@ import pytest
|
||||
from src.log_pruner import LogPruner
|
||||
from src.log_registry import LogRegistry
|
||||
from pathlib import Path
|
||||
from unittest.mock import MagicMock, patch
|
||||
import time
|
||||
from unittest.mock import patch
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
@pytest.fixture
|
||||
|
||||
@@ -5,10 +5,6 @@ state when logging comms and tools.
|
||||
"""
|
||||
|
||||
from src import ai_client
|
||||
from src import session_logger
|
||||
from src import project_manager
|
||||
from unittest.mock import patch, MagicMock
|
||||
import time
|
||||
|
||||
def reset_tier():
|
||||
ai_client.current_tier = None
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import pytest
|
||||
from unittest.mock import patch, MagicMock
|
||||
from unittest.mock import patch
|
||||
from typing import Any
|
||||
from src.gui_2 import App
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import json
|
||||
from unittest.mock import patch
|
||||
import time
|
||||
from src.gui_2 import App
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
from unittest.mock import patch
|
||||
from src.gui_2 import App
|
||||
|
||||
def test_cb_ticket_retry(app_instance: App) -> None:
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
from pathlib import Path
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
import pytest
|
||||
from unittest.mock import patch
|
||||
import json
|
||||
from typing import Any
|
||||
from src import orchestrator_pm
|
||||
from src import multi_agent_conductor
|
||||
from src import conductor_tech_lead
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import pytest
|
||||
from unittest.mock import MagicMock, patch
|
||||
from src.multi_agent_conductor import ConductorEngine, run_worker_lifecycle
|
||||
from src.models import Ticket, Track, WorkerContext
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from typing import Generator
|
||||
import pytest
|
||||
from unittest.mock import patch, MagicMock
|
||||
from unittest.mock import patch
|
||||
from src import ai_client
|
||||
from src.gui_2 import App
|
||||
|
||||
|
||||
@@ -3,9 +3,8 @@ from unittest.mock import MagicMock, patch
|
||||
from src import multi_agent_conductor
|
||||
from src.models import Ticket, WorkerContext
|
||||
from src import events
|
||||
import time
|
||||
import threading
|
||||
from typing import Generator, Any
|
||||
from typing import Generator
|
||||
|
||||
class MockDialog:
|
||||
def __init__(self, approved: bool, final_payload: dict | None = None) -> None:
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import pytest
|
||||
from unittest.mock import patch, MagicMock
|
||||
from unittest.mock import patch
|
||||
from src.api_hook_client import ApiHookClient
|
||||
|
||||
def test_api_ask_client_method() -> None:
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
from unittest.mock import MagicMock, patch
|
||||
from src.shell_runner import run_powershell
|
||||
from src import ai_client
|
||||
from typing import Any, Optional, Callable
|
||||
|
||||
def test_run_powershell_qa_callback_on_failure(vlogger) -> None:
|
||||
"""Test that qa_callback is called when a powershell command fails (non-zero exit code)."""
|
||||
@@ -75,7 +74,6 @@ def test_end_to_end_tier4_integration(vlogger) -> None:
|
||||
|
||||
def test_ai_client_passes_qa_callback() -> None:
|
||||
"""Verifies that ai_client.send passes the qa_callback down to the provider function."""
|
||||
from src import ai_client
|
||||
qa_callback = lambda x: "analysis"
|
||||
|
||||
with patch("src.ai_client._send_gemini") as mock_send:
|
||||
@@ -89,7 +87,6 @@ def test_ai_client_passes_qa_callback() -> None:
|
||||
|
||||
def test_gemini_provider_passes_qa_callback_to_run_script() -> None:
|
||||
"""Verifies that _send_gemini passes the qa_callback to _run_script."""
|
||||
from src import ai_client
|
||||
qa_callback = MagicMock()
|
||||
|
||||
# Mock the tool loop behavior
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
import sys
|
||||
import os
|
||||
import hashlib
|
||||
from unittest.mock import patch, MagicMock
|
||||
from types import SimpleNamespace
|
||||
from pathlib import Path
|
||||
|
||||
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
|
||||
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
|
||||
from src import ai_client
|
||||
from typing import Any
|
||||
import pytest
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
def test_add_bleed_derived_aliases() -> None:
|
||||
"""_add_bleed_derived must inject 'estimated_prompt_tokens' alias."""
|
||||
|
||||
Reference in New Issue
Block a user