Commit 2e7e897a
Changed files (2)
tests
test_utils
tests/lib/test_old_api.py
@@ -0,0 +1,17 @@
+import pytest
+
+import openai
+from openai.lib._old_api import APIRemovedInV1
+
+
+def test_basic_attribute_access_works() -> None:
+ for attr in dir(openai):
+ dir(getattr(openai, attr))
+
+
+def test_helpful_error_is_raised() -> None:
+ with pytest.raises(APIRemovedInV1):
+ openai.Completion.create() # type: ignore
+
+ with pytest.raises(APIRemovedInV1):
+ openai.ChatCompletion.create() # type: ignore
tests/test_utils/test_proxy.py
@@ -0,0 +1,23 @@
+import operator
+from typing import Any
+from typing_extensions import override
+
+from openai._utils import LazyProxy
+
+
+class RecursiveLazyProxy(LazyProxy[Any]):
+ @override
+ def __load__(self) -> Any:
+ return self
+
+ def __call__(self, *_args: Any, **_kwds: Any) -> Any:
+ raise RuntimeError("This should never be called!")
+
+
+def test_recursive_proxy() -> None:
+ proxy = RecursiveLazyProxy()
+ assert repr(proxy) == "RecursiveLazyProxy"
+ assert str(proxy) == "RecursiveLazyProxy"
+ assert dir(proxy) == []
+ assert getattr(type(proxy), "__name__") == "RecursiveLazyProxy"
+ assert type(operator.attrgetter("name.foo.bar.baz")(proxy)).__name__ == "RecursiveLazyProxy"