import unittest from gradio_client import Client, handle_file import os class TestSageLiveAPI(unittest.TestCase): @classmethod def setUpClass(cls): # Connect to the local server with SSL verification disabled for self-signed certs cls.client = Client("https://localhost:7860/", ssl_verify=False) def test_basic_chat(self): """Verify that the chat responds to a simple greeting.""" # api_name="/chat_wrapper" -> (sage, value_10, value_17, sage_voice) result = self.client.predict( message="Hallo", history=[], api_name="/chat_wrapper" ) history = result[0] self.assertIsInstance(history, list) self.assertTrue(len(history) > 0) self.assertEqual(history[0]["role"], "user") self.assertEqual(history[-1]["role"], "assistant") def test_tool_use_multi_turn(self): """Verify that a tool call (oracle) is handled correctly.""" result = self.client.predict( message="Frage das Orakel nach dem Frieden.", history=[], api_name="/chat_wrapper" ) history = result[0] self.assertEqual(history[-1]["role"], "assistant") content = history[-1]["content"] self.assertTrue(len(content) > 0) self.assertNotIn("", content) if __name__ == "__main__": unittest.main()