test_moderation.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import os
  2. import pytest
  3. from core.model_runtime.errors.validate import CredentialsValidateFailedError
  4. from core.model_runtime.model_providers.openai.moderation.moderation import OpenAIModerationModel
  5. from tests.integration_tests.model_runtime.__mock.openai import setup_openai_mock
  6. @pytest.mark.parametrize("setup_openai_mock", [["moderation"]], indirect=True)
  7. def test_validate_credentials(setup_openai_mock):
  8. model = OpenAIModerationModel()
  9. with pytest.raises(CredentialsValidateFailedError):
  10. model.validate_credentials(model="text-moderation-stable", credentials={"openai_api_key": "invalid_key"})
  11. model.validate_credentials(
  12. model="text-moderation-stable", credentials={"openai_api_key": os.environ.get("OPENAI_API_KEY")}
  13. )
  14. @pytest.mark.parametrize("setup_openai_mock", [["moderation"]], indirect=True)
  15. def test_invoke_model(setup_openai_mock):
  16. model = OpenAIModerationModel()
  17. result = model.invoke(
  18. model="text-moderation-stable",
  19. credentials={"openai_api_key": os.environ.get("OPENAI_API_KEY")},
  20. text="hello",
  21. user="abc-123",
  22. )
  23. assert isinstance(result, bool)
  24. assert result is False
  25. result = model.invoke(
  26. model="text-moderation-stable",
  27. credentials={"openai_api_key": os.environ.get("OPENAI_API_KEY")},
  28. text="i will kill you",
  29. user="abc-123",
  30. )
  31. assert isinstance(result, bool)
  32. assert result is True