summaryrefslogtreecommitdiff
path: root/sqlparse/pipeline.py
diff options
context:
space:
mode:
authorJesús Leganés Combarro "Piranna" <piranna@gmail.com>2011-09-02 15:42:09 +0200
committerJesús Leganés Combarro "Piranna" <piranna@gmail.com>2011-09-02 15:42:09 +0200
commit331a0fe7e84bb7f0e07f21aac1e4df13890b18b1 (patch)
tree9d252841ace8304f31a95b664fd2e0d88ff8e40a /sqlparse/pipeline.py
parentc88aefb12aa07a2c24ec9cfcbe5b73353b5feed7 (diff)
downloadsqlparse-331a0fe7e84bb7f0e07f21aac1e4df13890b18b1.tar.gz
Converted test function of pipeline in standard UnitTest
Diffstat (limited to 'sqlparse/pipeline.py')
-rw-r--r--sqlparse/pipeline.py117
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