summaryrefslogtreecommitdiffstats
path: root/etc/unittest/asyncio.py
diff options
context:
space:
mode:
authorHeiner Lohaus <hlohaus@users.noreply.github.com>2024-01-21 02:20:23 +0100
committerHeiner Lohaus <hlohaus@users.noreply.github.com>2024-01-21 02:20:23 +0100
commit9cbe9c1ccb2381e37402a36297f11a0f96b1b557 (patch)
treed5c8f96e7a5b774c1a8af923f8346e1633a3d1f3 /etc/unittest/asyncio.py
parentFix permissions (diff)
downloadgpt4free-9cbe9c1ccb2381e37402a36297f11a0f96b1b557.tar
gpt4free-9cbe9c1ccb2381e37402a36297f11a0f96b1b557.tar.gz
gpt4free-9cbe9c1ccb2381e37402a36297f11a0f96b1b557.tar.bz2
gpt4free-9cbe9c1ccb2381e37402a36297f11a0f96b1b557.tar.lz
gpt4free-9cbe9c1ccb2381e37402a36297f11a0f96b1b557.tar.xz
gpt4free-9cbe9c1ccb2381e37402a36297f11a0f96b1b557.tar.zst
gpt4free-9cbe9c1ccb2381e37402a36297f11a0f96b1b557.zip
Diffstat (limited to '')
-rw-r--r--etc/unittest/asyncio.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/etc/unittest/asyncio.py b/etc/unittest/asyncio.py
new file mode 100644
index 00000000..74e29986
--- /dev/null
+++ b/etc/unittest/asyncio.py
@@ -0,0 +1,57 @@
+from .include import DEFAULT_MESSAGES
+import asyncio
+import nest_asyncio
+import unittest
+import g4f
+from g4f import ChatCompletion
+from .mocks import ProviderMock, AsyncProviderMock, AsyncGeneratorProviderMock
+
+class TestChatCompletion(unittest.TestCase):
+
+ async def run_exception(self):
+ return ChatCompletion.create(g4f.models.default, DEFAULT_MESSAGES, AsyncProviderMock)
+
+ def test_exception(self):
+ self.assertRaises(g4f.errors.NestAsyncioError, asyncio.run, self.run_exception())
+
+ def test_create(self):
+ result = ChatCompletion.create(g4f.models.default, DEFAULT_MESSAGES, AsyncProviderMock)
+ self.assertEqual("Mock",result)
+
+ def test_create_generator(self):
+ result = ChatCompletion.create(g4f.models.default, DEFAULT_MESSAGES, AsyncGeneratorProviderMock)
+ self.assertEqual("Mock",result)
+
+class TestChatCompletionAsync(unittest.IsolatedAsyncioTestCase):
+
+ async def test_base(self):
+ result = await ChatCompletion.create_async(g4f.models.default, DEFAULT_MESSAGES, ProviderMock)
+ self.assertEqual("Mock",result)
+
+ async def test_async(self):
+ result = await ChatCompletion.create_async(g4f.models.default, DEFAULT_MESSAGES, AsyncProviderMock)
+ self.assertEqual("Mock",result)
+
+ async def test_create_generator(self):
+ result = await ChatCompletion.create_async(g4f.models.default, DEFAULT_MESSAGES, AsyncGeneratorProviderMock)
+ self.assertEqual("Mock",result)
+
+class TestChatCompletionNestAsync(unittest.IsolatedAsyncioTestCase):
+
+ def setUp(self) -> None:
+ nest_asyncio.apply()
+
+ async def test_create(self):
+ result = await ChatCompletion.create_async(g4f.models.default, DEFAULT_MESSAGES, ProviderMock)
+ self.assertEqual("Mock",result)
+
+ async def test_nested(self):
+ result = ChatCompletion.create(g4f.models.default, DEFAULT_MESSAGES, AsyncProviderMock)
+ self.assertEqual("Mock",result)
+
+ async def test_nested_generator(self):
+ result = ChatCompletion.create(g4f.models.default, DEFAULT_MESSAGES, AsyncGeneratorProviderMock)
+ self.assertEqual("Mock",result)
+
+if __name__ == '__main__':
+ unittest.main() \ No newline at end of file