summaryrefslogtreecommitdiffstats
path: root/etc/unittest/integration.py
diff options
context:
space:
mode:
Diffstat (limited to 'etc/unittest/integration.py')
-rw-r--r--etc/unittest/integration.py33
1 files changed, 18 insertions, 15 deletions
diff --git a/etc/unittest/integration.py b/etc/unittest/integration.py
index af7494e2..8ad00990 100644
--- a/etc/unittest/integration.py
+++ b/etc/unittest/integration.py
@@ -1,36 +1,39 @@
import unittest
import json
-try:
- import nest_asyncio
- has_nest_asyncio = True
-except ImportError:
- has_nest_asyncio = False
-
-from g4f.client import Client, ChatCompletion
-from g4f.Provider import Bing, OpenaiChat
+from g4f.client import Client, AsyncClient, ChatCompletion
+from g4f.Provider import Copilot, DDG
DEFAULT_MESSAGES = [{"role": "system", "content": 'Response in json, Example: {"success": false}'},
{"role": "user", "content": "Say success true in json"}]
class TestProviderIntegration(unittest.TestCase):
- def setUp(self):
- if not has_nest_asyncio:
- self.skipTest("nest_asyncio is not installed")
def test_bing(self):
- self.skipTest("Not working")
- client = Client(provider=Bing)
+ client = Client(provider=Copilot)
response = client.chat.completions.create(DEFAULT_MESSAGES, "", response_format={"type": "json_object"})
self.assertIsInstance(response, ChatCompletion)
self.assertIn("success", json.loads(response.choices[0].message.content))
def test_openai(self):
- self.skipTest("not working in this network")
- client = Client(provider=OpenaiChat)
+ client = Client(provider=DDG)
response = client.chat.completions.create(DEFAULT_MESSAGES, "", response_format={"type": "json_object"})
self.assertIsInstance(response, ChatCompletion)
self.assertIn("success", json.loads(response.choices[0].message.content))
+class TestChatCompletionAsync(unittest.IsolatedAsyncioTestCase):
+
+ async def test_bing(self):
+ client = AsyncClient(provider=Copilot)
+ response = await client.chat.completions.create(DEFAULT_MESSAGES, "", response_format={"type": "json_object"})
+ self.assertIsInstance(response, ChatCompletion)
+ self.assertIn("success", json.loads(response.choices[0].message.content))
+
+ async def test_openai(self):
+ client = AsyncClient(provider=DDG)
+ response = await client.chat.completions.create(DEFAULT_MESSAGES, "", response_format={"type": "json_object"})
+ self.assertIsInstance(response, ChatCompletion)
+ self.assertIn("success", json.loads(response.choices[0].message.content))
+
if __name__ == '__main__':
unittest.main() \ No newline at end of file