mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-04-23 22:29:49 +08:00
45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
import os
|
|
|
|
import pytest
|
|
|
|
from core.model_runtime.errors.validate import CredentialsValidateFailedError
|
|
from core.model_runtime.model_providers.openai.moderation.moderation import OpenAIModerationModel
|
|
from tests.integration_tests.model_runtime.__mock.openai import setup_openai_mock
|
|
|
|
|
|
@pytest.mark.parametrize("setup_openai_mock", [["moderation"]], indirect=True)
|
|
def test_validate_credentials(setup_openai_mock):
|
|
model = OpenAIModerationModel()
|
|
|
|
with pytest.raises(CredentialsValidateFailedError):
|
|
model.validate_credentials(model="text-moderation-stable", credentials={"openai_api_key": "invalid_key"})
|
|
|
|
model.validate_credentials(
|
|
model="text-moderation-stable", credentials={"openai_api_key": os.environ.get("OPENAI_API_KEY")}
|
|
)
|
|
|
|
|
|
@pytest.mark.parametrize("setup_openai_mock", [["moderation"]], indirect=True)
|
|
def test_invoke_model(setup_openai_mock):
|
|
model = OpenAIModerationModel()
|
|
|
|
result = model.invoke(
|
|
model="text-moderation-stable",
|
|
credentials={"openai_api_key": os.environ.get("OPENAI_API_KEY")},
|
|
text="hello",
|
|
user="abc-123",
|
|
)
|
|
|
|
assert isinstance(result, bool)
|
|
assert result is False
|
|
|
|
result = model.invoke(
|
|
model="text-moderation-stable",
|
|
credentials={"openai_api_key": os.environ.get("OPENAI_API_KEY")},
|
|
text="i will kill you",
|
|
user="abc-123",
|
|
)
|
|
|
|
assert isinstance(result, bool)
|
|
assert result is True
|