fix: Add missing time import in provider_test.py

Co-Authored-By: Joe Moura <joao@crewai.com>
This commit is contained in:
Devin AI
2025-02-12 21:57:55 +00:00
parent 09a6fab35f
commit 5d7282971a

View File

@@ -1,5 +1,6 @@
import pytest
import requests
import time
from unittest.mock import Mock, patch
from crewai.cli.constants import JSON_URL, MODELS, PROVIDERS
@@ -19,12 +20,24 @@ def test_fetch_provider_data_wrong_content_type():
result = fetch_provider_data('/tmp/cache.json')
assert result is None
def test_get_provider_data_fallback():
with patch('crewai.cli.provider.load_provider_data') as mock_load:
mock_load.return_value = None
result = get_provider_data()
assert result is not None
assert all(provider.lower() in result for provider in PROVIDERS)
# Verify that each provider has its models from MODELS
for provider in PROVIDERS:
assert result[provider.lower()] == MODELS.get(provider.lower(), [])
def test_fetch_provider_data_success():
mock_data = {"model1": {"provider": "test"}}
with patch('requests.get') as mock_get:
mock_response = Mock()
mock_response.headers = {'content-type': 'application/json'}
mock_response.json.return_value = mock_data
mock_get.return_value = mock_response
result = fetch_provider_data('/tmp/cache.json')
assert result == mock_data
def test_cache_expiry():
with patch('os.path.getmtime') as mock_time:
mock_time.return_value = time.time() - (25 * 60 * 60) # 25 hours old
with patch('crewai.cli.provider.load_provider_data') as mock_load:
mock_load.return_value = None
result = get_provider_data()
assert result is not None
assert all(provider.lower() in result for provider in PROVIDERS)
# Verify that each provider has its models from MODELS
for provider in PROVIDERS:
assert result[provider.lower()] == MODELS.get(provider.lower(), [])