| 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")}) | |