~malept/ubuntu/lucid/python2.6/dev-dependency-fix

« back to all changes in this revision

Viewing changes to Lib/sqlite3/test/dump.py

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-02-13 12:51:00 UTC
  • Revision ID: james.westby@ubuntu.com-20090213125100-uufgcb9yeqzujpqw
Tags: upstream-2.6.1
ImportĀ upstreamĀ versionĀ 2.6.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Author: Paul Kippes <kippesp@gmail.com>
 
2
 
 
3
import unittest
 
4
import sqlite3 as sqlite
 
5
 
 
6
class DumpTests(unittest.TestCase):
 
7
    def setUp(self):
 
8
        self.cx = sqlite.connect(":memory:")
 
9
        self.cu = self.cx.cursor()
 
10
 
 
11
    def tearDown(self):
 
12
        self.cx.close()
 
13
 
 
14
    def CheckTableDump(self):
 
15
        expected_sqls = [
 
16
                "CREATE TABLE t1(id integer primary key, s1 text, " \
 
17
                "t1_i1 integer not null, i2 integer, unique (s1), " \
 
18
                "constraint t1_idx1 unique (i2));"
 
19
                ,
 
20
                "INSERT INTO \"t1\" VALUES(1,'foo',10,20);"
 
21
                ,
 
22
                "INSERT INTO \"t1\" VALUES(2,'foo2',30,30);"
 
23
                ,
 
24
                "CREATE TABLE t2(id integer, t2_i1 integer, " \
 
25
                "t2_i2 integer, primary key (id)," \
 
26
                "foreign key(t2_i1) references t1(t1_i1));"
 
27
                ,
 
28
                "CREATE TRIGGER trigger_1 update of t1_i1 on t1 " \
 
29
                "begin " \
 
30
                "update t2 set t2_i1 = new.t1_i1 where t2_i1 = old.t1_i1; " \
 
31
                "end;"
 
32
                ,
 
33
                "CREATE VIEW v1 as select * from t1 left join t2 " \
 
34
                "using (id);"
 
35
                ]
 
36
        [self.cu.execute(s) for s in expected_sqls]
 
37
        i = self.cx.iterdump()
 
38
        actual_sqls = [s for s in i]
 
39
        expected_sqls = ['BEGIN TRANSACTION;'] + expected_sqls + \
 
40
            ['COMMIT;']
 
41
        [self.assertEqual(expected_sqls[i], actual_sqls[i])
 
42
            for i in xrange(len(expected_sqls))]
 
43
 
 
44
def suite():
 
45
    return unittest.TestSuite(unittest.makeSuite(DumpTests, "Check"))
 
46
 
 
47
def test():
 
48
    runner = unittest.TextTestRunner()
 
49
    runner.run(suite())
 
50
 
 
51
if __name__ == "__main__":
 
52
    test()