]> git.phdru.name Git - sqlconvert.git/blob - tests/test_stgrouper.py
Allow whitespaces and comments after the last statement
[sqlconvert.git] / tests / test_stgrouper.py
1 #! /usr/bin/env python
2
3
4 import unittest
5 from sqlparse import parse
6
7 from mysql2sql.print_tokens import tlist2str
8 from mysql2sql.process_tokens import requote_names, StatementGrouper
9 from tests import main
10
11
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)
20
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()
28         statement = next(g)
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.assertEqual(grouper.close(), [])
35
36 if __name__ == "__main__":
37     main()