2024-01-02 23:42:00 +08:00
|
|
|
import os
|
|
|
|
|
|
|
|
import pytest
|
2024-04-18 20:24:05 +08:00
|
|
|
|
2024-01-02 23:42:00 +08:00
|
|
|
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
|
|
|
|
|
2024-01-12 12:34:01 +08:00
|
|
|
|
2024-08-23 23:52:25 +08:00
|
|
|
@pytest.mark.parametrize("setup_openai_mock", [["moderation"]], indirect=True)
|
2024-01-02 23:42:00 +08:00
|
|
|
def test_validate_credentials(setup_openai_mock):
|
|
|
|
model = OpenAIModerationModel()
|
|
|
|
|
|
|
|
with pytest.raises(CredentialsValidateFailedError):
|
2024-08-23 23:52:25 +08:00
|
|
|
model.validate_credentials(model="text-moderation-stable", credentials={"openai_api_key": "invalid_key"})
|
2024-01-02 23:42:00 +08:00
|
|
|
|
|
|
|
model.validate_credentials(
|
2024-08-23 23:52:25 +08:00
|
|
|
model="text-moderation-stable", credentials={"openai_api_key": os.environ.get("OPENAI_API_KEY")}
|
2024-01-02 23:42:00 +08:00
|
|
|
)
|
|
|
|
|
2024-08-23 23:52:25 +08:00
|
|
|
|
|
|
|
@pytest.mark.parametrize("setup_openai_mock", [["moderation"]], indirect=True)
|
2024-01-02 23:42:00 +08:00
|
|
|
def test_invoke_model(setup_openai_mock):
|
|
|
|
model = OpenAIModerationModel()
|
|
|
|
|
|
|
|
result = model.invoke(
|
2024-08-23 23:52:25 +08:00
|
|
|
model="text-moderation-stable",
|
|
|
|
credentials={"openai_api_key": os.environ.get("OPENAI_API_KEY")},
|
2024-01-02 23:42:00 +08:00
|
|
|
text="hello",
|
2024-08-23 23:52:25 +08:00
|
|
|
user="abc-123",
|
2024-01-02 23:42:00 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
assert isinstance(result, bool)
|
|
|
|
assert result is False
|
|
|
|
|
|
|
|
result = model.invoke(
|
2024-08-23 23:52:25 +08:00
|
|
|
model="text-moderation-stable",
|
|
|
|
credentials={"openai_api_key": os.environ.get("OPENAI_API_KEY")},
|
2024-01-02 23:42:00 +08:00
|
|
|
text="i will kill you",
|
2024-08-23 23:52:25 +08:00
|
|
|
user="abc-123",
|
2024-01-02 23:42:00 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
assert isinstance(result, bool)
|
|
|
|
assert result is True
|