Spaces:
Runtime error
Runtime error
| import unittest | |
| from unittest.mock import patch | |
| from rich.console import Console | |
| from queryquest.sql.handoff import extract_sql_statements, expose_sql_statements | |
| class SqlHandoffTests(unittest.TestCase): | |
| def test_extract_sql_statements_plain_json(self) -> None: | |
| output = '{"sql_statements": ["SELECT * FROM table1"], "explanation": "ok"}' | |
| self.assertEqual(extract_sql_statements(output), ["SELECT * FROM table1"]) | |
| def test_extract_sql_statements_fenced_with_explanation_text(self) -> None: | |
| output = ( | |
| "I can do that.\n" | |
| "```json\n" | |
| "{\n" | |
| ' "sql_statements": ["SELECT * FROM listings"],\n' | |
| ' "explanation": "preview"\n' | |
| "}\n" | |
| "```" | |
| ) | |
| self.assertEqual(extract_sql_statements(output), ["SELECT * FROM listings"]) | |
| def test_extract_sql_statements_embedded_json_object(self) -> None: | |
| output = "Use this payload: {\"sql_statements\": [\"SELECT 1\"], \"explanation\": \"ok\"} thanks" | |
| self.assertEqual(extract_sql_statements(output), ["SELECT 1"]) | |
| def test_extract_sql_statements_invalid_json(self) -> None: | |
| self.assertEqual(extract_sql_statements("not json"), []) | |
| def test_expose_sql_statements_executes_and_logs(self, mock_execute, mock_log) -> None: | |
| console = Console(record=True) | |
| sql = ["SELECT 1"] | |
| expose_sql_statements(sql, provider="groq", model="llama", console=console) | |
| mock_execute.assert_called_once_with(sql, console=console, excel_dir=None) | |
| self.assertTrue(mock_log.called) | |
| if __name__ == "__main__": | |
| unittest.main() | |