|
|
|
# test_main.py
|
|
|
|
import subprocess
|
|
|
|
import uuid
|
|
|
|
import pytest
|
|
|
|
from source.server.i import configure_interpreter
|
|
|
|
from unittest.mock import Mock
|
|
|
|
from fastapi.testclient import TestClient
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
|
|
def test_ping(client):
|
|
|
|
response = client.get("/ping")
|
|
|
|
assert response.status_code == 200
|
|
|
|
assert response.text == "pong"
|
|
|
|
|
|
|
|
|
|
|
|
# def test_interpreter_chat(mock_interpreter):
|
|
|
|
# # Set up a sample conversation
|
|
|
|
# messages = [
|
|
|
|
# {"role": "user", "type": "message", "content": "Hello."},
|
|
|
|
# {"role": "assistant", "type": "message", "content": "Hi there!"},
|
|
|
|
# # Add more messages as needed
|
|
|
|
# ]
|
|
|
|
|
|
|
|
# # Configure the mock interpreter with the sample conversation
|
|
|
|
# mock_interpreter.messages = messages
|
|
|
|
|
|
|
|
# # Simulate additional user input
|
|
|
|
# user_input = {"role": "user", "type": "message", "content": "How are you?"}
|
|
|
|
# mock_interpreter.chat([user_input])
|
|
|
|
|
|
|
|
# # Ensure the interpreter processed the user input
|
|
|
|
# assert len(mock_interpreter.messages) == len(messages)
|
|
|
|
# assert mock_interpreter.messages[-1]["role"] == "assistant"
|
|
|
|
# assert "don't have feelings" in mock_interpreter.messages[-1]["content"]
|
|
|
|
|
|
|
|
# def test_interpreter_configuration(mock_interpreter):
|
|
|
|
# # Test interpreter configuration
|
|
|
|
# interpreter = configure_interpreter(mock_interpreter)
|
|
|
|
# assert interpreter is not None
|