mirror of
https://github.com/kennethreitz/instructor.git
synced 2026-06-05 14:50:16 +00:00
74 lines
1.5 KiB
Python
74 lines
1.5 KiB
Python
import functools
|
|
|
|
from openai import AsyncOpenAI, OpenAI
|
|
|
|
import instructor
|
|
from instructor.utils import is_async
|
|
|
|
|
|
def test_patch_completes_successfully():
|
|
instructor.patch(OpenAI())
|
|
|
|
|
|
def test_apatch_completes_successfully():
|
|
instructor.apatch(AsyncOpenAI())
|
|
|
|
|
|
def test_is_async_returns_true_if_function_is_async():
|
|
async def async_function():
|
|
pass
|
|
|
|
assert is_async(async_function) is True
|
|
|
|
|
|
def test_is_async_returns_false_if_function_is_not_async():
|
|
def sync_function():
|
|
pass
|
|
|
|
assert is_async(sync_function) is False
|
|
|
|
|
|
def test_is_async_returns_true_if_wrapped_function_is_async():
|
|
async def async_function():
|
|
pass
|
|
|
|
@functools.wraps(async_function)
|
|
def wrapped_function():
|
|
pass
|
|
|
|
assert is_async(wrapped_function) is True
|
|
|
|
|
|
def test_is_async_returns_true_if_double_wrapped_function_is_async():
|
|
async def async_function():
|
|
pass
|
|
|
|
@functools.wraps(async_function)
|
|
def wrapped_function():
|
|
pass
|
|
|
|
@functools.wraps(wrapped_function)
|
|
def double_wrapped_function():
|
|
pass
|
|
|
|
assert is_async(double_wrapped_function) is True
|
|
|
|
|
|
def test_is_async_returns_true_if_triple_wrapped_function_is_async():
|
|
async def async_function():
|
|
pass
|
|
|
|
@functools.wraps(async_function)
|
|
def wrapped_function():
|
|
pass
|
|
|
|
@functools.wraps(wrapped_function)
|
|
def double_wrapped_function():
|
|
pass
|
|
|
|
@functools.wraps(double_wrapped_function)
|
|
def triple_wrapped_function():
|
|
pass
|
|
|
|
assert is_async(triple_wrapped_function) is True
|