mirror of
https://github.com/langgenius/dify.git
synced 2025-07-13 04:02:42 +00:00
29 lines
1.1 KiB
Python
29 lines
1.1 KiB
Python
![]() |
import os
|
||
|
from unittest.mock import Mock, patch
|
||
|
|
||
|
import pytest
|
||
|
|
||
|
from core.model_runtime.errors.validate import CredentialsValidateFailedError
|
||
|
from core.model_runtime.model_providers.mixedbread.mixedbread import MixedBreadProvider
|
||
|
|
||
|
|
||
|
def test_validate_provider_credentials():
|
||
|
provider = MixedBreadProvider()
|
||
|
|
||
|
with pytest.raises(CredentialsValidateFailedError):
|
||
|
provider.validate_provider_credentials(credentials={"api_key": "hahahaha"})
|
||
|
with patch("requests.post") as mock_post:
|
||
|
mock_response = Mock()
|
||
|
mock_response.json.return_value = {
|
||
|
"usage": {"prompt_tokens": 3, "total_tokens": 3},
|
||
|
"model": "mixedbread-ai/mxbai-embed-large-v1",
|
||
|
"data": [{"embedding": [0.23333 for _ in range(1024)], "index": 0, "object": "embedding"}],
|
||
|
"object": "list",
|
||
|
"normalized": "true",
|
||
|
"encoding_format": "float",
|
||
|
"dimensions": 1024,
|
||
|
}
|
||
|
mock_response.status_code = 200
|
||
|
mock_post.return_value = mock_response
|
||
|
provider.validate_provider_credentials(credentials={"api_key": os.environ.get("MIXEDBREAD_API_KEY")})
|