summaryrefslogtreecommitdiff
path: root/test/sql
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2012-11-12 14:30:18 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2012-11-12 14:30:18 -0500
commit12df8a9901256c9de7f5917296ddcb703445a52b (patch)
tree6598af889dab479e0514461377e811b3d8d777a9 /test/sql
parent9dd08c2eca8ed250e3a36dcb6a9aa20693d324be (diff)
downloadsqlalchemy-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.py150
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):