diff options
Diffstat (limited to 'etc/unittest/integration.py')
-rw-r--r-- | etc/unittest/integration.py | 33 |
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 |