mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-27 17:18:13 +00:00
fix: Add missing time import in provider_test.py
Co-Authored-By: Joe Moura <joao@crewai.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import pytest
|
import pytest
|
||||||
import requests
|
import requests
|
||||||
|
import time
|
||||||
from unittest.mock import Mock, patch
|
from unittest.mock import Mock, patch
|
||||||
|
|
||||||
from crewai.cli.constants import JSON_URL, MODELS, PROVIDERS
|
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')
|
result = fetch_provider_data('/tmp/cache.json')
|
||||||
assert result is None
|
assert result is None
|
||||||
|
|
||||||
def test_get_provider_data_fallback():
|
def test_fetch_provider_data_success():
|
||||||
with patch('crewai.cli.provider.load_provider_data') as mock_load:
|
mock_data = {"model1": {"provider": "test"}}
|
||||||
mock_load.return_value = None
|
with patch('requests.get') as mock_get:
|
||||||
result = get_provider_data()
|
mock_response = Mock()
|
||||||
assert result is not None
|
mock_response.headers = {'content-type': 'application/json'}
|
||||||
assert all(provider.lower() in result for provider in PROVIDERS)
|
mock_response.json.return_value = mock_data
|
||||||
# Verify that each provider has its models from MODELS
|
mock_get.return_value = mock_response
|
||||||
for provider in PROVIDERS:
|
result = fetch_provider_data('/tmp/cache.json')
|
||||||
assert result[provider.lower()] == MODELS.get(provider.lower(), [])
|
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(), [])
|
||||||
|
|||||||
Reference in New Issue
Block a user