Files
2024-03-07 02:07:11 -05:00

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