5 from sqlparse import parse
7 from mysql2sql.print_tokens import tlist2str
8 from mysql2sql.process_tokens import requote_names, StatementGrouper
12 class TestStGrouper(unittest.TestCase):
13 def test_incomplete(self):
14 grouper = StatementGrouper()
15 parsed = parse("select * from `T`")[0]
16 grouper.process(parsed)
17 self.assertFalse(grouper.statements)
18 self.assertEqual(len(grouper.statements), 0)
19 self.assertRaises(ValueError, grouper.close)
21 def test_statements(self):
22 grouper = StatementGrouper()
23 parsed = parse("select * from `T`;")[0]
24 grouper.process(parsed)
25 self.assertTrue(grouper.statements)
26 self.assertEqual(len(grouper.statements), 1)
27 g = grouper.get_statements()
29 requote_names(statement)
30 query = tlist2str(parsed)
31 self.assertEqual(query, 'SELECT * FROM "T";')
32 self.assertRaises(StopIteration, next, g)
33 self.assertEqual(len(grouper.statements), 0)
34 self.assertIsNone(grouper.close())
36 if __name__ == "__main__":