diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-11-12 14:30:18 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-11-12 14:30:18 -0500 |
| commit | 12df8a9901256c9de7f5917296ddcb703445a52b (patch) | |
| tree | 6598af889dab479e0514461377e811b3d8d777a9 /test/sql | |
| parent | 9dd08c2eca8ed250e3a36dcb6a9aa20693d324be (diff) | |
| download | sqlalchemy-12df8a9901256c9de7f5917296ddcb703445a52b.tar.gz | |
- support "fails_if" requirements as __requires__; so far this just skips, doesn't
actually run the test
- add requirements for date/datetime/time capabilities
- remove test/sql/test_types->DateTest and create new tests in suite/test_types
- move the StringTest with the "no length create" test to the suite, though this is a
weird test
Diffstat (limited to 'test/sql')
| -rw-r--r-- | test/sql/test_types.py | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/test/sql/test_types.py b/test/sql/test_types.py index 98bc51624..5f80e7947 100644 --- a/test/sql/test_types.py +++ b/test/sql/test_types.py @@ -1301,157 +1301,7 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL): allow_dialect_select=True) -class DateTest(fixtures.TestBase, AssertsExecutionResults): - @classmethod - def setup_class(cls): - global users_with_date, insert_data - - db = testing.db - if testing.against('oracle'): - insert_data = [ - (7, 'jack', - datetime.datetime(2005, 11, 10, 0, 0), - datetime.date(2005,11,10), - datetime.datetime(2005, 11, 10, 0, 0, 0, 29384)), - (8, 'roy', - datetime.datetime(2005, 11, 10, 11, 52, 35), - datetime.date(2005,10,10), - datetime.datetime(2006, 5, 10, 15, 32, 47, 6754)), - (9, 'foo', - datetime.datetime(2006, 11, 10, 11, 52, 35), - datetime.date(1970,4,1), - datetime.datetime(2004, 9, 18, 4, 0, 52, 1043)), - (10, 'colber', None, None, None), - ] - fnames = ['user_id', 'user_name', 'user_datetime', - 'user_date', 'user_time'] - - collist = [Column('user_id', INT, primary_key=True), - Column('user_name', VARCHAR(20)), - Column('user_datetime', DateTime), - Column('user_date', Date), - Column('user_time', TIMESTAMP)] - else: - datetime_micro = 54839 - time_micro = 999 - - # Missing or poor microsecond support: - if testing.against('mssql', 'mysql', 'firebird', '+zxjdbc'): - datetime_micro, time_micro = 0, 0 - # No microseconds for TIME - elif testing.against('maxdb'): - time_micro = 0 - - insert_data = [ - (7, 'jack', - datetime.datetime(2005, 11, 10, 0, 0), - datetime.date(2005, 11, 10), - datetime.time(12, 20, 2)), - (8, 'roy', - datetime.datetime(2005, 11, 10, 11, 52, 35), - datetime.date(2005, 10, 10), - datetime.time(0, 0, 0)), - (9, 'foo', - datetime.datetime(2005, 11, 10, 11, 52, 35, datetime_micro), - datetime.date(1970, 4, 1), - datetime.time(23, 59, 59, time_micro)), - (10, 'colber', None, None, None), - ] - - - fnames = ['user_id', 'user_name', 'user_datetime', - 'user_date', 'user_time'] - - collist = [Column('user_id', INT, primary_key=True), - Column('user_name', VARCHAR(20)), - Column('user_datetime', DateTime(timezone=False)), - Column('user_date', Date), - Column('user_time', Time)] - - if testing.against('sqlite', 'postgresql'): - insert_data.append( - (11, 'historic', - datetime.datetime(1850, 11, 10, 11, 52, 35, datetime_micro), - datetime.date(1727,4,1), - None), - ) - - users_with_date = Table('query_users_with_date', - MetaData(testing.db), *collist) - users_with_date.create() - insert_dicts = [dict(zip(fnames, d)) for d in insert_data] - - for idict in insert_dicts: - users_with_date.insert().execute(**idict) - - @classmethod - def teardown_class(cls): - users_with_date.drop() - - def test_date_roundtrip(self): - global insert_data - - l = map(tuple, - users_with_date.select().order_by(users_with_date.c.user_id).execute().fetchall()) - self.assert_(l == insert_data, - 'DateTest mismatch: got:%s expected:%s' % (l, insert_data)) - - def test_text_date_roundtrip(self): - x = testing.db.execute(text( - "select user_datetime from query_users_with_date", - typemap={'user_datetime': DateTime})).fetchall() - - self.assert_(isinstance(x[0][0], datetime.datetime)) - - x = testing.db.execute(text( - "select * from query_users_with_date where user_datetime=:somedate", - bindparams=[bindparam('somedate', type_=types.DateTime)]), - somedate=datetime.datetime(2005, 11, 10, 11, 52, 35)).fetchall() - - def test_date_mixdatetime_roundtrip(self): - meta = MetaData(testing.db) - t = Table('testdate', meta, - Column('id', Integer, - Sequence('datetest_id_seq', optional=True), - primary_key=True), - Column('adate', Date), - Column('adatetime', DateTime)) - t.create(checkfirst=True) - try: - d1 = datetime.date(2007, 10, 30) - t.insert().execute(adate=d1, adatetime=d1) - d2 = datetime.datetime(2007, 10, 30) - t.insert().execute(adate=d2, adatetime=d2) - - x = t.select().execute().fetchall()[0] - eq_(x.adate.__class__, datetime.date) - eq_(x.adatetime.__class__, datetime.datetime) - - t.delete().execute() - - # test mismatched date/datetime - t.insert().execute(adate=d2, adatetime=d2) - eq_( - select([t.c.adate, t.c.adatetime], t.c.adate == d1)\ - .execute().fetchall(), - [(d1, d2)]) - eq_( - select([t.c.adate, t.c.adatetime], t.c.adate == d1)\ - .execute().fetchall(), - [(d1, d2)]) - - finally: - t.drop(checkfirst=True) - -class StringTest(fixtures.TestBase): - - @testing.requires.unbounded_varchar - def test_nolength_string(self): - metadata = MetaData(testing.db) - foo = Table('foo', metadata, Column('one', String)) - foo.create() - foo.drop() class NumericTest(fixtures.TestBase): def setup(self): |
