You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
01/software/source/server/tests/test_run.py

41 lines
1.3 KiB

# 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