Files
letta-server/tests/test_autogen_integration.py
2024-04-20 11:40:22 -07:00

39 lines
1.6 KiB
Python

import os
import subprocess
import pytest
@pytest.mark.skipif(not os.getenv("OPENAI_API_KEY"), reason="Missing OpenAI API key")
def test_agent_groupchat():
# Define the path to the script you want to test
script_path = "memgpt/autogen/examples/agent_groupchat.py"
# Dynamically get the project's root directory (assuming this script is run from the root)
# project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".."))
# print(project_root)
# project_root = os.path.join(project_root, "MemGPT")
# print(project_root)
# sys.exit(1)
project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
project_root = os.path.join(project_root, "memgpt")
print(f"Adding the following to PATH: {project_root}")
# Prepare the environment, adding the project root to PYTHONPATH
env = os.environ.copy()
env["PYTHONPATH"] = f"{project_root}:{env.get('PYTHONPATH', '')}"
# Run the script using subprocess.run
# Capture the output (stdout) and the exit code
# result = subprocess.run(["python", script_path], capture_output=True, text=True)
result = subprocess.run(["poetry", "run", "python", script_path], capture_output=True, text=True)
# Check the exit code (0 indicates success)
assert result.returncode == 0, f"Script exited with code {result.returncode}: {result.stderr}"
# Optionally, check the output for expected content
# For example, if you expect a specific line in the output, uncomment and adapt the following line:
# assert "expected output" in result.stdout, "Expected output not found in script's output"