summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--etc/unittest/__main__.py1
-rw-r--r--etc/unittest/integration.py25
2 files changed, 26 insertions, 0 deletions
diff --git a/etc/unittest/__main__.py b/etc/unittest/__main__.py
index 06b2dff5..3a459dba 100644
--- a/etc/unittest/__main__.py
+++ b/etc/unittest/__main__.py
@@ -5,5 +5,6 @@ from .main import *
from .model import *
from .client import *
from .include import *
+from .integration import *
unittest.main() \ No newline at end of file
diff --git a/etc/unittest/integration.py b/etc/unittest/integration.py
new file mode 100644
index 00000000..808a8d1d
--- /dev/null
+++ b/etc/unittest/integration.py
@@ -0,0 +1,25 @@
+import unittest
+import json
+
+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 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