mirror of
https://github.com/kennethreitz/instructor.git
synced 2026-06-05 22:50:18 +00:00
46 lines
1.0 KiB
Python
46 lines
1.0 KiB
Python
import functools
|
|
|
|
from openai import AsyncOpenAI, OpenAI
|
|
|
|
import instructor
|
|
from instructor.patch import OVERRIDE_DOCS, is_async
|
|
|
|
|
|
def test_patch_completes_successfully() -> None:
|
|
instructor.patch(OpenAI())
|
|
|
|
|
|
def test_apatch_completes_successfully() -> None:
|
|
instructor.apatch(AsyncOpenAI())
|
|
|
|
|
|
def test_is_async_returns_true_if_function_is_async() -> None:
|
|
async def async_function() -> None:
|
|
pass
|
|
|
|
assert is_async(async_function) is True
|
|
|
|
|
|
def test_is_async_returns_false_if_function_is_not_async() -> None:
|
|
def sync_function() -> None:
|
|
pass
|
|
|
|
assert is_async(sync_function) is False
|
|
|
|
|
|
def test_is_async_returns_true_if_wrapped_function_is_async() -> None:
|
|
async def async_function() -> None:
|
|
pass
|
|
|
|
@functools.wraps(async_function)
|
|
def wrapped_function() -> None:
|
|
pass
|
|
|
|
assert is_async(wrapped_function) is True
|
|
|
|
|
|
def test_override_docs() -> None:
|
|
assert (
|
|
"response_model" in OVERRIDE_DOCS
|
|
), "response_model should be in OVERRIDE_DOCS"
|