BlenderGPT/lib/openai/tests/test_exceptions.py

41 wiersze
1.1 KiB
Python

import pickle
import pytest
import openai
EXCEPTION_TEST_CASES = [
openai.InvalidRequestError(
"message",
"param",
code=400,
http_body={"test": "test1"},
http_status="fail",
json_body={"text": "iono some text"},
headers={"request-id": "asasd"},
),
openai.error.AuthenticationError(),
openai.error.PermissionError(),
openai.error.RateLimitError(),
openai.error.ServiceUnavailableError(),
openai.error.SignatureVerificationError("message", "sig_header?"),
openai.error.APIConnectionError("message!", should_retry=True),
openai.error.TryAgain(),
openai.error.Timeout(),
openai.error.APIError(
message="message",
code=400,
http_body={"test": "test1"},
http_status="fail",
json_body={"text": "iono some text"},
headers={"request-id": "asasd"},
),
openai.error.OpenAIError(),
]
class TestExceptions:
@pytest.mark.parametrize("error", EXCEPTION_TEST_CASES)
def test_exceptions_are_pickleable(self, error) -> None:
assert error.__repr__() == pickle.loads(pickle.dumps(error)).__repr__()