test_models.py 977 B

12345678910111213141516171819202122232425262728293031323334
  1. from unittest.mock import MagicMock, Mock, patch
  2. from sweagent.agent.models import OpenAIModel, ModelArguments
  3. import pytest
  4. @pytest.fixture
  5. def openai_mock_client():
  6. model = Mock()
  7. reponse = Mock()
  8. choice = Mock()
  9. choice.message.content = "test"
  10. reponse.choices = [choice]
  11. reponse.usage.prompt_tokens = 10
  12. reponse.usage.completion_tokens = 10
  13. model.chat.completions.create = MagicMock(return_value=reponse)
  14. return model
  15. TEST_HISTORY = [
  16. {
  17. "role": "system",
  18. "content": "Hello, how are you?"
  19. }
  20. ]
  21. def test_openai_model(openai_mock_client):
  22. for model_name in list(OpenAIModel.MODELS) + list(OpenAIModel.SHORTCUTS):
  23. TEST_MODEL_ARGUMENTS = ModelArguments(model_name)
  24. with patch("sweagent.agent.models.config.Config"), patch("sweagent.agent.models.OpenAI"):
  25. model = OpenAIModel(TEST_MODEL_ARGUMENTS, [])
  26. model.client = openai_mock_client
  27. model.query(TEST_HISTORY)