diff options
author | Heiner Lohaus <hlohaus@users.noreply.github.com> | 2024-11-18 18:23:16 +0100 |
---|---|---|
committer | Heiner Lohaus <hlohaus@users.noreply.github.com> | 2024-11-18 18:23:16 +0100 |
commit | 2fe43166cc4ab4d05261c3fe9690a49284c90570 (patch) | |
tree | 447a5232ae89c2775608c237330f3aa0ecc379a7 /etc/unittest | |
parent | Add account support in Copilot provider (diff) | |
download | gpt4free-2fe43166cc4ab4d05261c3fe9690a49284c90570.tar gpt4free-2fe43166cc4ab4d05261c3fe9690a49284c90570.tar.gz gpt4free-2fe43166cc4ab4d05261c3fe9690a49284c90570.tar.bz2 gpt4free-2fe43166cc4ab4d05261c3fe9690a49284c90570.tar.lz gpt4free-2fe43166cc4ab4d05261c3fe9690a49284c90570.tar.xz gpt4free-2fe43166cc4ab4d05261c3fe9690a49284c90570.tar.zst gpt4free-2fe43166cc4ab4d05261c3fe9690a49284c90570.zip |
Diffstat (limited to '')
-rw-r--r-- | etc/unittest/__main__.py | 1 | ||||
-rw-r--r-- | etc/unittest/backend.py | 2 | ||||
-rw-r--r-- | etc/unittest/integration.py | 33 | ||||
-rw-r--r-- | etc/unittest/main.py | 12 |
4 files changed, 19 insertions, 29 deletions
diff --git a/etc/unittest/__main__.py b/etc/unittest/__main__.py index f8a73280..0acc5865 100644 --- a/etc/unittest/__main__.py +++ b/etc/unittest/__main__.py @@ -6,6 +6,5 @@ from .main import * from .model import * from .client import * from .include import * -from .integration import * unittest.main() diff --git a/etc/unittest/backend.py b/etc/unittest/backend.py index e781de8a..a90bf253 100644 --- a/etc/unittest/backend.py +++ b/etc/unittest/backend.py @@ -46,4 +46,4 @@ class TestBackendApi(unittest.TestCase): self.skipTest(e) except MissingRequirementsError: self.skipTest("search is not installed") - self.assertEqual(4, len(result)) + self.assertTrue(len(result) >= 4) 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 diff --git a/etc/unittest/main.py b/etc/unittest/main.py index cc3c6a18..a3949216 100644 --- a/etc/unittest/main.py +++ b/etc/unittest/main.py @@ -7,18 +7,6 @@ from .mocks import ProviderMock DEFAULT_MESSAGES = [{'role': 'user', 'content': 'Hello'}] -class NoTestChatCompletion(unittest.TestCase): - - def no_test_create_default(self): - result = ChatCompletion.create(g4f.models.default, DEFAULT_MESSAGES) - if "Good" not in result and "Hi" not in result: - self.assertIn("Hello", result) - - def no_test_bing_provider(self): - provider = g4f.Provider.Bing - result = ChatCompletion.create(g4f.models.default, DEFAULT_MESSAGES, provider) - self.assertIn("Bing", result) - class TestGetLastProvider(unittest.TestCase): def test_get_last_provider(self): |