diff options
Diffstat (limited to '')
-rw-r--r-- | etc/unittest/integration.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/etc/unittest/integration.py b/etc/unittest/integration.py new file mode 100644 index 00000000..36f09c0e --- /dev/null +++ b/etc/unittest/integration.py @@ -0,0 +1,34 @@ +import unittest +import json + +try: + import nest_asyncio + has_nest_asyncio = True +except: + has_nest_asyncio = False + +from g4f.client import Client, ChatCompletion +from g4f.Provider import Bing, OpenaiChat + +DEFAULT_MESSAGES = [{"role": "system", "content": 'Response in json, Example: {"success: True"}'}, + {"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): + client = Client(provider=Bing) + 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): + client = Client(provider=OpenaiChat) + 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)) + +if __name__ == '__main__': + unittest.main()
\ No newline at end of file |