diff options
Diffstat (limited to 'test/sql')
| -rw-r--r-- | test/sql/defaults.py | 29 | ||||
| -rw-r--r-- | test/sql/query.py | 10 | ||||
| -rw-r--r-- | test/sql/testtypes.py | 6 |
3 files changed, 41 insertions, 4 deletions
diff --git a/test/sql/defaults.py b/test/sql/defaults.py index d018c5efb..7e346aef4 100644 --- a/test/sql/defaults.py +++ b/test/sql/defaults.py @@ -63,7 +63,7 @@ class DefaultTest(PersistTest): Column('col5', deftype, PassiveDefault(def2)), # preexecute + update timestamp - Column('col6', Date, default=currenttime, onupdate=currenttime), + Column('col6', DateTime, default=currenttime, onupdate=currenttime), Column('boolcol1', Boolean, default=True), Column('boolcol2', Boolean, default=False) @@ -158,6 +158,33 @@ class AutoIncrementTest(PersistTest): finally: table.drop() + def testfetchid(self): + meta = BoundMetaData(testbase.db) + table = Table("aitest", meta, + Column('id', Integer, primary_key=True), + Column('data', String(20))) + table.create() + + try: + # simulate working on a table that doesn't already exist + meta2 = BoundMetaData(testbase.db) + table2 = Table("aitest", meta2, + Column('id', Integer, primary_key=True), + Column('data', String(20))) + class AiTest(object): + pass + mapper(AiTest, table2) + + s = create_session() + u = AiTest() + s.save(u) + s.flush() + assert u.id is not None + s.clear() + finally: + table.drop() + + class SequenceTest(PersistTest): @testbase.supported('postgres', 'oracle') def setUpAll(self): diff --git a/test/sql/query.py b/test/sql/query.py index fe119a63d..a7cb52dc4 100644 --- a/test/sql/query.py +++ b/test/sql/query.py @@ -159,6 +159,16 @@ class QueryTest(PersistTest): self.users.insert().execute(user_id=7, user_name='fido') r = self.users.select(limit=3, order_by=[self.users.c.user_id]).execute().fetchall() self.assert_(r == [(1, 'john'), (2, 'jack'), (3, 'ed')], repr(r)) + + @testbase.unsupported('mssql') + def testselectlimitoffset(self): + self.users.insert().execute(user_id=1, user_name='john') + self.users.insert().execute(user_id=2, user_name='jack') + self.users.insert().execute(user_id=3, user_name='ed') + self.users.insert().execute(user_id=4, user_name='wendy') + self.users.insert().execute(user_id=5, user_name='laura') + self.users.insert().execute(user_id=6, user_name='ralph') + self.users.insert().execute(user_id=7, user_name='fido') r = self.users.select(limit=3, offset=2, order_by=[self.users.c.user_id]).execute().fetchall() self.assert_(r==[(3, 'ed'), (4, 'wendy'), (5, 'laura')]) r = self.users.select(offset=5, order_by=[self.users.c.user_id]).execute().fetchall() diff --git a/test/sql/testtypes.py b/test/sql/testtypes.py index e924d08ca..411e39406 100644 --- a/test/sql/testtypes.py +++ b/test/sql/testtypes.py @@ -158,10 +158,10 @@ class UnicodeTest(AssertMixin): self.echo(repr(x['plain_data'])) self.assert_(isinstance(x['unicode_data'], unicode) and x['unicode_data'] == unicodedata) if isinstance(x['plain_data'], unicode): - # SQLLite returns even non-unicode data as unicode - self.assert_(db.name == 'sqlite') + # SQLLite and MSSQL return non-unicode data as unicode + self.assert_(db.name in ('sqlite', 'mssql')) self.assert_(x['plain_data'] == unicodedata) - self.echo("its sqlite !") + self.echo("it's %s!" % db.name) else: self.assert_(not isinstance(x['plain_data'], unicode) and x['plain_data'] == rawdata) def testengineparam(self): |
