diff options
author | Jesús Leganés Combarro "Piranna" <piranna@gmail.com> | 2011-09-02 15:42:09 +0200 |
---|---|---|
committer | Jesús Leganés Combarro "Piranna" <piranna@gmail.com> | 2011-09-02 15:42:09 +0200 |
commit | 331a0fe7e84bb7f0e07f21aac1e4df13890b18b1 (patch) | |
tree | 9d252841ace8304f31a95b664fd2e0d88ff8e40a /sqlparse/pipeline.py | |
parent | c88aefb12aa07a2c24ec9cfcbe5b73353b5feed7 (diff) | |
download | sqlparse-331a0fe7e84bb7f0e07f21aac1e4df13890b18b1.tar.gz |
Converted test function of pipeline in standard UnitTest
Diffstat (limited to 'sqlparse/pipeline.py')
-rw-r--r-- | sqlparse/pipeline.py | 117 |
1 files changed, 65 insertions, 52 deletions
diff --git a/sqlparse/pipeline.py b/sqlparse/pipeline.py index 167d083..11e2e3c 100644 --- a/sqlparse/pipeline.py +++ b/sqlparse/pipeline.py @@ -32,59 +32,72 @@ class Pipeline(list): if __name__ == '__main__': - sql = """-- type: script - -- return: integer - - INCLUDE "Direntry.make.sql"; - - INSERT INTO directories(inode) - VALUES(:inode) - LIMIT 1""" - - sql2 = """SELECT child_entry,asdf AS inode, creation - FROM links - WHERE parent_dir == :parent_dir AND name == :name - LIMIT 1""" - - sql3 = """SELECT - 0 AS st_dev, - 0 AS st_uid, - 0 AS st_gid, - - dir_entries.type AS st_mode, - dir_entries.inode AS st_ino, - COUNT(links.child_entry) AS st_nlink, - - :creation AS st_ctime, - dir_entries.access AS st_atime, - dir_entries.modification AS st_mtime, --- :creation AS st_ctime, --- CAST(STRFTIME('%s',dir_entries.access) AS INTEGER) AS st_atime, --- CAST(STRFTIME('%s',dir_entries.modification) AS INTEGER) AS st_mtime, - - COALESCE(files.size,0) AS st_size, -- Python-FUSE - COALESCE(files.size,0) AS size -- PyFilesystem - - FROM dir_entries - LEFT JOIN files - ON dir_entries.inode == files.inode - LEFT JOIN links - ON dir_entries.inode == links.child_entry - - WHERE dir_entries.inode == :inode - - GROUP BY dir_entries.inode - LIMIT 1""" + import unittest from filters import ColumnsSelect from lexer import tokenize - def show(args): - for a in args: - print repr(a) - - pipe = Pipeline() - pipe.append(tokenize) - pipe.append(ColumnsSelect()) - - show(pipe(sql3))
\ No newline at end of file + class Test(unittest.TestCase): + def setUp(self): + self.pipe = Pipeline() + self.pipe.append(tokenize) + self.pipe.append(ColumnsSelect()) + + def test_1(self): + sql = """ + -- type: script + -- return: integer + + INCLUDE "Direntry.make.sql"; + + INSERT INTO directories(inode) + VALUES(:inode) + LIMIT 1""" + self.assertListEqual([], self.pipe(sql)) + + def test_2(self): + sql = """ + SELECT child_entry,asdf AS inode, creation + FROM links + WHERE parent_dir == :parent_dir AND name == :name + LIMIT 1""" + self.assertListEqual([u'child_entry', u'inode', u'creation'], + self.pipe(sql)) + + def test_3(self): + sql = """ + SELECT + 0 AS st_dev, + 0 AS st_uid, + 0 AS st_gid, + + dir_entries.type AS st_mode, + dir_entries.inode AS st_ino, + COUNT(links.child_entry) AS st_nlink, + + :creation AS st_ctime, + dir_entries.access AS st_atime, + dir_entries.modification AS st_mtime, + -- :creation AS st_ctime, + -- CAST(STRFTIME('%s',dir_entries.access) AS INTEGER) AS st_atime, + -- CAST(STRFTIME('%s',dir_entries.modification) AS INTEGER) AS st_mtime, + + COALESCE(files.size,0) AS st_size, -- Python-FUSE + COALESCE(files.size,0) AS size -- PyFilesystem + + FROM dir_entries + LEFT JOIN files + ON dir_entries.inode == files.inode + LEFT JOIN links + ON dir_entries.inode == links.child_entry + + WHERE dir_entries.inode == :inode + + GROUP BY dir_entries.inode + LIMIT 1""" + self.assertListEqual([u'st_dev', u'st_uid', u'st_gid', u'st_mode', + u'st_ino', u'st_nlink', u'st_ctime', + u'st_atime', u'st_mtime', u'st_size', u'size'], + self.pipe(sql)) + + unittest.main()
\ No newline at end of file |