Stub web project

This commit is contained in:
2024-11-02 11:55:03 +01:00
parent 17a70e08d5
commit 092a05c3aa
19 changed files with 324 additions and 36 deletions

View File

@@ -1,23 +1,19 @@
from aiohttp import WSMsgType
from aiohttp import WSMsgType
from aiohttp import web
from aiohttp.test_utils import AioHTTPTestCase, unittest_run_loop
from pathlib import Path
from sia.web_agent import WebAgentState
from typing import AsyncIterator, Iterator
from unittest.mock import Mock, patch
from unittest.mock import patch
import asyncio
import asyncio
import json
import json
import shutil
import tempfile
from sia.llm_engine import LlmEngine
from sia.response_parser import ResponseParser
from sia.system_metrics import SystemMetrics
from sia.web_agent import WebAgentState
from sia.web_io_buffer import WebIOBuffer
from sia.web_server import WebServer, ServerMessage, ClientMessage
from sia.working_memory import WorkingMemory
from sia.xml_validator import XMLValidator
from .mock_web_agent import MockWebAgent
class WebServerTest(AioHTTPTestCase):
@@ -25,13 +21,28 @@ class WebServerTest(AioHTTPTestCase):
"""Create application for testing."""
self.io_buffer = WebIOBuffer()
# Create MockWebAgent instance
self.agent = MockWebAgent()
# Create temporary directory for static files
self.temp_dir = Path(tempfile.mkdtemp())
self.static_dir = self.temp_dir / "static"
self.static_dir.mkdir(exist_ok=True)
# Create web server
self.web_server = WebServer(self.agent, self.io_buffer, "localhost", 8080)
# Create web server with temp static directory
self.web_server = WebServer(
self.agent,
self.io_buffer,
"localhost",
8080,
static_dir=self.static_dir
)
return self.web_server.app
def tearDown(self):
"""Clean up temporary directory."""
if hasattr(self, 'temp_dir'):
shutil.rmtree(self.temp_dir)
async def wait_for_messages(self, ws, count=1, timeout=5):
"""Helper to wait for multiple WebSocket messages."""
messages = []