summaryrefslogtreecommitdiff
path: root/test/sql
diff options
context:
space:
mode:
Diffstat (limited to 'test/sql')
-rw-r--r--test/sql/alltests.py12
-rw-r--r--test/sql/case_statement.py34
-rw-r--r--test/sql/constraints.py58
-rw-r--r--test/sql/defaults.py54
-rw-r--r--test/sql/functions.py30
-rw-r--r--test/sql/generative.py4
-rw-r--r--test/sql/labels.py38
-rw-r--r--test/sql/query.py44
-rw-r--r--test/sql/quote.py44
-rw-r--r--test/sql/rowcount.py16
-rw-r--r--test/sql/select.py6
-rwxr-xr-xtest/sql/selectable.py4
-rw-r--r--test/sql/testtypes.py72
-rw-r--r--test/sql/unicode.py12
14 files changed, 212 insertions, 216 deletions
diff --git a/test/sql/alltests.py b/test/sql/alltests.py
index 5f5c68904..f49cf14d4 100644
--- a/test/sql/alltests.py
+++ b/test/sql/alltests.py
@@ -1,4 +1,4 @@
-import testbase
+import testenv; testenv.configure_for_tests()
import unittest
@@ -8,20 +8,20 @@ def suite():
'sql.constraints',
'sql.generative',
-
+
# SQL syntax
'sql.select',
'sql.selectable',
- 'sql.case_statement',
+ 'sql.case_statement',
'sql.labels',
'sql.unicode',
-
+
# assorted round-trip tests
'sql.functions',
'sql.query',
'sql.quote',
'sql.rowcount',
-
+
# defaults, sequences (postgres/oracle)
'sql.defaults',
)
@@ -34,4 +34,4 @@ def suite():
return alltests
if __name__ == '__main__':
- testbase.main(suite())
+ testenv.main(suite())
diff --git a/test/sql/case_statement.py b/test/sql/case_statement.py
index bddf70b99..6476537b0 100644
--- a/test/sql/case_statement.py
+++ b/test/sql/case_statement.py
@@ -1,4 +1,4 @@
-import testbase
+import testenv; testenv.configure_for_tests()
import sys
from sqlalchemy import *
from testlib import *
@@ -7,32 +7,32 @@ from testlib import *
class CaseTest(PersistTest):
def setUpAll(self):
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
global info_table
info_table = Table('infos', metadata,
- Column('pk', Integer, primary_key=True),
- Column('info', String(30)))
+ Column('pk', Integer, primary_key=True),
+ Column('info', String(30)))
info_table.create()
info_table.insert().execute(
- {'pk':1, 'info':'pk_1_data'},
- {'pk':2, 'info':'pk_2_data'},
- {'pk':3, 'info':'pk_3_data'},
- {'pk':4, 'info':'pk_4_data'},
- {'pk':5, 'info':'pk_5_data'},
- {'pk':6, 'info':'pk_6_data'})
+ {'pk':1, 'info':'pk_1_data'},
+ {'pk':2, 'info':'pk_2_data'},
+ {'pk':3, 'info':'pk_3_data'},
+ {'pk':4, 'info':'pk_4_data'},
+ {'pk':5, 'info':'pk_5_data'},
+ {'pk':6, 'info':'pk_6_data'})
def tearDownAll(self):
info_table.drop()
@testing.fails_on('maxdb')
def testcase(self):
inner = select([case([
- [info_table.c.pk < 3,
+ [info_table.c.pk < 3,
literal('lessthan3', type_=String)],
- [and_(info_table.c.pk >= 3, info_table.c.pk < 7),
+ [and_(info_table.c.pk >= 3, info_table.c.pk < 7),
literal('gt3', type_=String)]]).label('x'),
- info_table.c.pk, info_table.c.info],
+ info_table.c.pk, info_table.c.info],
from_obj=[info_table]).alias('q_inner')
inner_result = inner.execute().fetchall()
@@ -67,12 +67,12 @@ class CaseTest(PersistTest):
]
w_else = select([case([
- [info_table.c.pk < 3,
+ [info_table.c.pk < 3,
literal(3, type_=Integer)],
- [and_(info_table.c.pk >= 3, info_table.c.pk < 6),
+ [and_(info_table.c.pk >= 3, info_table.c.pk < 6),
literal(6, type_=Integer)]],
else_ = 0).label('x'),
- info_table.c.pk, info_table.c.info],
+ info_table.c.pk, info_table.c.info],
from_obj=[info_table]).alias('q_inner')
else_result = w_else.execute().fetchall()
@@ -87,4 +87,4 @@ class CaseTest(PersistTest):
]
if __name__ == "__main__":
- testbase.main()
+ testenv.main()
diff --git a/test/sql/constraints.py b/test/sql/constraints.py
index c5320ada3..142f1ffba 100644
--- a/test/sql/constraints.py
+++ b/test/sql/constraints.py
@@ -1,19 +1,19 @@
-import testbase
+import testenv; testenv.configure_for_tests()
from sqlalchemy import *
from sqlalchemy import exceptions
from testlib import *
class ConstraintTest(AssertMixin):
-
+
def setUp(self):
global metadata
- metadata = MetaData(testbase.db)
-
+ metadata = MetaData(testing.db)
+
def tearDown(self):
metadata.drop_all()
-
+
def test_constraint(self):
- employees = Table('employees', metadata,
+ employees = Table('employees', metadata,
Column('id', Integer),
Column('soc', String(40)),
Column('name', String(30)),
@@ -30,7 +30,7 @@ class ConstraintTest(AssertMixin):
metadata.create_all()
def test_circular_constraint(self):
- a = Table("a", metadata,
+ a = Table("a", metadata,
Column('id', Integer, primary_key=True),
Column('bid', Integer),
ForeignKeyConstraint(["bid"], ["b.id"], name="afk")
@@ -43,7 +43,7 @@ class ConstraintTest(AssertMixin):
metadata.create_all()
def test_circular_constraint_2(self):
- a = Table("a", metadata,
+ a = Table("a", metadata,
Column('id', Integer, primary_key=True),
Column('bid', Integer, ForeignKey("b.id")),
)
@@ -52,15 +52,15 @@ class ConstraintTest(AssertMixin):
Column("aid", Integer, ForeignKey("a.id", use_alter=True, name="bfk")),
)
metadata.create_all()
-
+
@testing.unsupported('mysql')
def test_check_constraint(self):
- foo = Table('foo', metadata,
+ foo = Table('foo', metadata,
Column('id', Integer, primary_key=True),
Column('x', Integer),
Column('y', Integer),
CheckConstraint('x>y'))
- bar = Table('bar', metadata,
+ bar = Table('bar', metadata,
Column('id', Integer, primary_key=True),
Column('x', Integer, CheckConstraint('x>7')),
Column('z', Integer)
@@ -80,7 +80,7 @@ class ConstraintTest(AssertMixin):
assert False
except exceptions.SQLError:
assert True
-
+
def test_unique_constraint(self):
foo = Table('foo', metadata,
Column('id', Integer, primary_key=True),
@@ -106,7 +106,7 @@ class ConstraintTest(AssertMixin):
assert False
except exceptions.SQLError:
assert True
-
+
def test_index_create(self):
employees = Table('employees', metadata,
Column('id', Integer, primary_key=True),
@@ -114,14 +114,14 @@ class ConstraintTest(AssertMixin):
Column('last_name', String(30)),
Column('email_address', String(30)))
employees.create()
-
+
i = Index('employee_name_index',
employees.c.last_name, employees.c.first_name)
i.create()
assert i in employees.indexes
-
+
i2 = Index('employee_email_index',
- employees.c.email_address, unique=True)
+ employees.c.email_address, unique=True)
i2.create()
assert i2 in employees.indexes
@@ -134,13 +134,13 @@ class ConstraintTest(AssertMixin):
Column('emailAddress', String(30)))
employees.create()
-
+
i = Index('employeeNameIndex',
employees.c.lastName, employees.c.firstName)
i.create()
-
+
i = Index('employeeEmailIndex',
- employees.c.emailAddress, unique=True)
+ employees.c.emailAddress, unique=True)
i.create()
# Check that the table is useable. This is mostly for pg,
@@ -163,7 +163,7 @@ class ConstraintTest(AssertMixin):
Index('sport_announcer', events.c.sport, events.c.announcer, unique=True)
Index('idx_winners', events.c.winner)
-
+
index_names = [ ix.name for ix in events.indexes ]
assert 'ix_events_name' in index_names
assert 'ix_events_location' in index_names
@@ -172,7 +172,7 @@ class ConstraintTest(AssertMixin):
assert len(index_names) == 4
capt = []
- connection = testbase.db.connect()
+ connection = testing.db.connect()
# TODO: hacky, put a real connection proxy in
ex = connection._Connection__execute_raw
def proxy(context):
@@ -180,26 +180,26 @@ class ConstraintTest(AssertMixin):
capt.append(repr(context.parameters))
ex(context)
connection._Connection__execute_raw = proxy
- schemagen = testbase.db.dialect.schemagenerator(testbase.db.dialect, connection)
+ schemagen = testing.db.dialect.schemagenerator(testing.db.dialect, connection)
schemagen.traverse(events)
-
+
assert capt[0].strip().startswith('CREATE TABLE events')
-
+
s = set([capt[x].strip() for x in [2,4,6,8]])
-
+
assert s == set([
'CREATE UNIQUE INDEX ix_events_name ON events (name)',
'CREATE INDEX ix_events_location ON events (location)',
'CREATE UNIQUE INDEX sport_announcer ON events (sport, announcer)',
'CREATE INDEX idx_winners ON events (winner)'
])
-
+
# verify that the table is functional
events.insert().execute(id=1, name='hockey finals', location='rink',
sport='hockey', announcer='some canadian',
winner='sweden')
ss = events.select().execute().fetchall()
-
-if __name__ == "__main__":
- testbase.main()
+
+if __name__ == "__main__":
+ testenv.main()
diff --git a/test/sql/defaults.py b/test/sql/defaults.py
index a41ef4a17..a8311b791 100644
--- a/test/sql/defaults.py
+++ b/test/sql/defaults.py
@@ -1,4 +1,4 @@
-import testbase
+import testenv; testenv.configure_for_tests()
import datetime
from sqlalchemy import *
from sqlalchemy import exceptions, schema, util
@@ -11,7 +11,7 @@ class DefaultTest(PersistTest):
def setUpAll(self):
global t, f, f2, ts, currenttime, metadata, default_generator
- db = testbase.db
+ db = testing.db
metadata = MetaData(db)
default_generator = {'x':50}
@@ -127,7 +127,7 @@ class DefaultTest(PersistTest):
c = ColumnDefault(fn)
def teststandalone(self):
- c = testbase.db.engine.contextual_connect()
+ c = testing.db.engine.contextual_connect()
x = c.execute(t.c.col1.default)
y = t.c.col2.default.execute()
z = c.execute(t.c.col3.default)
@@ -148,7 +148,7 @@ class DefaultTest(PersistTest):
t.insert().execute()
t.insert().execute()
- ctexec = select([currenttime.label('now')], bind=testbase.db).scalar()
+ ctexec = select([currenttime.label('now')], bind=testing.db).scalar()
l = t.select().execute()
today = datetime.date.today()
self.assertEquals(l.fetchall(), [
@@ -161,7 +161,7 @@ class DefaultTest(PersistTest):
def testinsertmany(self):
# MySQL-Python 1.2.2 breaks functions in execute_many :(
if (testing.against('mysql') and
- testbase.db.dialect.dbapi.version_info[:3] == (1, 2, 2)):
+ testing.db.dialect.dbapi.version_info[:3] == (1, 2, 2)):
return
r = t.insert().execute({}, {}, {})
@@ -179,7 +179,7 @@ class DefaultTest(PersistTest):
def testupdatemany(self):
# MySQL-Python 1.2.2 breaks functions in execute_many :(
if (testing.against('mysql') and
- testbase.db.dialect.dbapi.version_info[:3] == (1, 2, 2)):
+ testing.db.dialect.dbapi.version_info[:3] == (1, 2, 2)):
return
t.insert().execute({}, {}, {})
@@ -226,8 +226,8 @@ class DefaultTest(PersistTest):
key values in memory before insert; otherwise we cant locate the just inserted row."""
try:
- meta = MetaData(testbase.db)
- testbase.db.execute("""
+ meta = MetaData(testing.db)
+ testing.db.execute("""
CREATE TABLE speedy_users
(
speedy_user_id SERIAL PRIMARY KEY,
@@ -242,13 +242,13 @@ class DefaultTest(PersistTest):
l = t.select().execute().fetchall()
self.assert_(l == [(1, 'user', 'lala')])
finally:
- testbase.db.execute("drop table speedy_users", None)
+ testing.db.execute("drop table speedy_users", None)
class PKDefaultTest(PersistTest):
def setUpAll(self):
global metadata, t1, t2
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
t2 = Table('t2', metadata,
Column('nextid', Integer))
@@ -277,7 +277,7 @@ class AutoIncrementTest(PersistTest):
def setUp(self):
global aitable, aimeta
- aimeta = MetaData(testbase.db)
+ aimeta = MetaData(testing.db)
aitable = Table("aitest", aimeta,
Column('id', Integer, Sequence('ai_id_seq', optional=True),
primary_key=True),
@@ -292,7 +292,7 @@ class AutoIncrementTest(PersistTest):
@testing.fails_on('sqlite')
def testnonautoincrement(self):
# sqlite INT primary keys can be non-unique! (only for ints)
- meta = MetaData(testbase.db)
+ meta = MetaData(testing.db)
nonai_table = Table("nonaitest", meta,
Column('id', Integer, autoincrement=False, primary_key=True),
Column('data', String(20)))
@@ -344,10 +344,10 @@ class AutoIncrementTest(PersistTest):
[(1, 1, None), (2, None, 'row 2'), (3, 3, 'row 3'), (4, 4, None)])
def test_autoincrement_autocommit(self):
- self._test_autoincrement(testbase.db)
+ self._test_autoincrement(testing.db)
def test_autoincrement_transaction(self):
- con = testbase.db.connect()
+ con = testing.db.connect()
tx = con.begin()
try:
try:
@@ -364,10 +364,10 @@ class AutoIncrementTest(PersistTest):
con.close()
def test_autoincrement_fk(self):
- if not testbase.db.dialect.supports_pk_autoincrement:
+ if not testing.db.dialect.supports_pk_autoincrement:
return True
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
# No optional sequence here.
nodes = Table('nodes', metadata,
@@ -389,7 +389,7 @@ class SequenceTest(PersistTest):
def setUpAll(self):
global cartitems, sometable, metadata
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
cartitems = Table("cartitems", metadata,
Column("cart_id", Integer, Sequence('cart_id_seq'), primary_key=True),
Column("description", String(40)),
@@ -409,7 +409,7 @@ class SequenceTest(PersistTest):
result = sometable.insert().execute(name="somename")
assert 'id' in result.postfetch_cols()
-
+
result = sometable.insert().execute(name="someother")
assert 'id' in result.postfetch_cols()
@@ -443,7 +443,7 @@ class SequenceTest(PersistTest):
# maxdb db-api seems to double-execute NEXTVAL internally somewhere,
# throwing off the numbers for these tests...
def test_implicit_sequence_exec(self):
- s = Sequence("my_sequence", metadata=MetaData(testbase.db))
+ s = Sequence("my_sequence", metadata=MetaData(testing.db))
s.create()
try:
x = s.execute()
@@ -454,19 +454,19 @@ class SequenceTest(PersistTest):
@testing.fails_on('maxdb')
def teststandalone_explicit(self):
s = Sequence("my_sequence")
- s.create(bind=testbase.db)
+ s.create(bind=testing.db)
try:
- x = s.execute(testbase.db)
+ x = s.execute(testing.db)
self.assert_(x == 1)
finally:
- s.drop(testbase.db)
+ s.drop(testing.db)
def test_checkfirst(self):
s = Sequence("my_sequence")
- s.create(testbase.db, checkfirst=False)
- s.create(testbase.db, checkfirst=True)
- s.drop(testbase.db, checkfirst=False)
- s.drop(testbase.db, checkfirst=True)
+ s.create(testing.db, checkfirst=False)
+ s.create(testing.db, checkfirst=True)
+ s.drop(testing.db, checkfirst=False)
+ s.drop(testing.db, checkfirst=True)
@testing.fails_on('maxdb')
def teststandalone2(self):
@@ -478,4 +478,4 @@ class SequenceTest(PersistTest):
if __name__ == "__main__":
- testbase.main()
+ testenv.main()
diff --git a/test/sql/functions.py b/test/sql/functions.py
index 1103245ea..08b4615b9 100644
--- a/test/sql/functions.py
+++ b/test/sql/functions.py
@@ -1,4 +1,4 @@
-import testbase
+import testenv; testenv.configure_for_tests()
import datetime
from sqlalchemy import *
from sqlalchemy import databases, exceptions, sql
@@ -16,8 +16,8 @@ dialects = [getattr(databases, mod).dialect()
# if the configured dialect is out-of-tree or not yet in __all__, include it
# too.
-if testbase.db.name not in databases.__all__:
- dialects.append(testbase.db.dialect)
+if testing.db.name not in databases.__all__:
+ dialects.append(testing.db.dialect)
class CompileTest(SQLCompileTest):
@@ -61,18 +61,18 @@ class CompileTest(SQLCompileTest):
class ExecuteTest(PersistTest):
def test_standalone_execute(self):
- x = testbase.db.func.current_date().execute().scalar()
- y = testbase.db.func.current_date().select().execute().scalar()
- z = testbase.db.func.current_date().scalar()
+ x = testing.db.func.current_date().execute().scalar()
+ y = testing.db.func.current_date().select().execute().scalar()
+ z = testing.db.func.current_date().scalar()
assert (x == y == z) is True
# ansi func
- x = testbase.db.func.current_date()
+ x = testing.db.func.current_date()
assert isinstance(x.type, Date)
assert isinstance(x.execute().scalar(), datetime.date)
def test_conn_execute(self):
- conn = testbase.db.connect()
+ conn = testing.db.connect()
try:
x = conn.execute(func.current_date()).scalar()
y = conn.execute(func.current_date().select()).scalar()
@@ -88,7 +88,7 @@ class ExecuteTest(PersistTest):
get overridden.
"""
- meta = MetaData(testbase.db)
+ meta = MetaData(testing.db)
t = Table('t1', meta,
Column('id', Integer, Sequence('t1idseq', optional=True), primary_key=True),
Column('value', Integer)
@@ -138,13 +138,13 @@ class ExecuteTest(PersistTest):
@testing.fails_on_everything_except('postgres')
def test_as_from(self):
# TODO: shouldnt this work on oracle too ?
- x = testbase.db.func.current_date().execute().scalar()
- y = testbase.db.func.current_date().select().execute().scalar()
- z = testbase.db.func.current_date().scalar()
- w = select(['*'], from_obj=[testbase.db.func.current_date()]).scalar()
+ x = testing.db.func.current_date().execute().scalar()
+ y = testing.db.func.current_date().select().execute().scalar()
+ z = testing.db.func.current_date().scalar()
+ w = select(['*'], from_obj=[testing.db.func.current_date()]).scalar()
# construct a column-based FROM object out of a function, like in [ticket:172]
- s = select([sql.column('date', type_=DateTime)], from_obj=[testbase.db.func.current_date()])
+ s = select([sql.column('date', type_=DateTime)], from_obj=[testing.db.func.current_date()])
q = s.execute().fetchone()[s.c.date]
r = s.alias('datequery').select().scalar()
@@ -157,4 +157,4 @@ def exec_sorted(statement, *args, **kw):
for row in statement.execute(*args, **kw).fetchall()])
if __name__ == '__main__':
- testbase.main()
+ testenv.main()
diff --git a/test/sql/generative.py b/test/sql/generative.py
index c787d3404..26d78c6f0 100644
--- a/test/sql/generative.py
+++ b/test/sql/generative.py
@@ -1,4 +1,4 @@
-import testbase
+import testenv; testenv.configure_for_tests()
from sqlalchemy import *
from sqlalchemy.sql import table, column, ClauseElement
from sqlalchemy.sql.expression import _clone
@@ -489,4 +489,4 @@ class SelectTest(SQLCompileTest):
self.assert_compile(s, "SELECT table1.col1, table1.col2, table1.col3 FROM table1")
if __name__ == '__main__':
- testbase.main()
+ testenv.main()
diff --git a/test/sql/labels.py b/test/sql/labels.py
index 90323dc73..3d4f0adde 100644
--- a/test/sql/labels.py
+++ b/test/sql/labels.py
@@ -1,4 +1,4 @@
-import testbase
+import testenv; testenv.configure_for_tests()
from sqlalchemy import *
from testlib import *
from sqlalchemy.engine import default
@@ -11,7 +11,7 @@ IDENT_LENGTH = 29
class LabelTypeTest(PersistTest):
def test_type(self):
m = MetaData()
- t = Table('sometable', m,
+ t = Table('sometable', m,
Column('col1', Integer),
Column('col2', Float))
assert isinstance(t.c.col1.label('hi').type, Integer)
@@ -20,24 +20,24 @@ class LabelTypeTest(PersistTest):
class LongLabelsTest(SQLCompileTest):
def setUpAll(self):
global metadata, table1, maxlen
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
table1 = Table("some_large_named_table", metadata,
Column("this_is_the_primarykey_column", Integer, Sequence("this_is_some_large_seq"), primary_key=True),
Column("this_is_the_data_column", String(30))
)
-
+
metadata.create_all()
-
- maxlen = testbase.db.dialect.max_identifier_length
- testbase.db.dialect.max_identifier_length = IDENT_LENGTH
-
+
+ maxlen = testing.db.dialect.max_identifier_length
+ testing.db.dialect.max_identifier_length = IDENT_LENGTH
+
def tearDown(self):
table1.delete().execute()
-
+
def tearDownAll(self):
metadata.drop_all()
- testbase.db.dialect.max_identifier_length = maxlen
-
+ testing.db.dialect.max_identifier_length = maxlen
+
def test_result(self):
table1.insert().execute(**{"this_is_the_primarykey_column":1, "this_is_the_data_column":"data1"})
table1.insert().execute(**{"this_is_the_primarykey_column":2, "this_is_the_data_column":"data2"})
@@ -54,7 +54,7 @@ class LongLabelsTest(SQLCompileTest):
(3, "data3"),
(4, "data4"),
], repr(result)
-
+
def test_colbinds(self):
table1.insert().execute(**{"this_is_the_primarykey_column":1, "this_is_the_data_column":"data1"})
table1.insert().execute(**{"this_is_the_primarykey_column":2, "this_is_the_data_column":"data2"})
@@ -69,15 +69,15 @@ class LongLabelsTest(SQLCompileTest):
table1.c.this_is_the_primarykey_column == 2
)).execute()
assert r.fetchall() == [(2, "data2"), (4, "data4")]
-
+
def test_insert_no_pk(self):
table1.insert().execute(**{"this_is_the_data_column":"data1"})
table1.insert().execute(**{"this_is_the_data_column":"data2"})
table1.insert().execute(**{"this_is_the_data_column":"data3"})
table1.insert().execute(**{"this_is_the_data_column":"data4"})
-
+
def test_subquery(self):
- # this is the test that fails if the "max identifier length" is shorter than the
+ # this is the test that fails if the "max identifier length" is shorter than the
# length of the actual columns created, because the column names get truncated.
# if you try to separate "physical columns" from "labels", and only truncate the labels,
# the compiler.DefaultCompiler.visit_select() logic which auto-labels columns in a subquery (for the purposes of sqlite compat) breaks the code,
@@ -94,13 +94,13 @@ class LongLabelsTest(SQLCompileTest):
q = table1.select(table1.c.this_is_the_primarykey_column == 4).alias()
x = select([q], use_labels=True)
- self.assert_compile(x, "SELECT anon_1.this_is_the_primarykey_column AS anon_1_this_is_the_prim_1, anon_1.this_is_the_data_column AS anon_1_this_is_the_data_2 "
+ self.assert_compile(x, "SELECT anon_1.this_is_the_primarykey_column AS anon_1_this_is_the_prim_1, anon_1.this_is_the_data_column AS anon_1_this_is_the_data_2 "
"FROM (SELECT some_large_named_table.this_is_the_primarykey_column AS this_is_the_primarykey_column, some_large_named_table.this_is_the_data_column AS this_is_the_data_column "
"FROM some_large_named_table "
"WHERE some_large_named_table.this_is_the_primarykey_column = :some_large_named_table__1) AS anon_1", dialect=compile_dialect)
-
+
print x.execute().fetchall()
-
+
def test_oid(self):
"""test that a primary key column compiled as the 'oid' column gets proper length truncation"""
from sqlalchemy.databases import postgres
@@ -113,4 +113,4 @@ class LongLabelsTest(SQLCompileTest):
assert str(x).endswith("""ORDER BY foo.some_large_named_table_t_2""")
if __name__ == '__main__':
- testbase.main()
+ testenv.main()
diff --git a/test/sql/query.py b/test/sql/query.py
index d1583dc57..784ab0407 100644
--- a/test/sql/query.py
+++ b/test/sql/query.py
@@ -1,4 +1,4 @@
-import testbase
+import testenv; testenv.configure_for_tests()
import datetime
from sqlalchemy import *
from sqlalchemy import exceptions, sql
@@ -10,7 +10,7 @@ class QueryTest(PersistTest):
def setUpAll(self):
global users, addresses, metadata
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
users = Table('query_users', metadata,
Column('user_id', INT, primary_key = True),
Column('user_name', VARCHAR(20)),
@@ -119,7 +119,7 @@ class QueryTest(PersistTest):
{'id':'id1', 'bar':'hi'},
),
]:
- if testbase.db.name in supported['unsupported']:
+ if testing.db.name in supported['unsupported']:
continue
try:
table.create()
@@ -168,13 +168,13 @@ class QueryTest(PersistTest):
def test_compiled_execute(self):
users.insert().execute(user_id = 7, user_name = 'jack')
s = select([users], users.c.user_id==bindparam('id')).compile()
- c = testbase.db.connect()
+ c = testing.db.connect()
assert c.execute(s, id=7).fetchall()[0]['user_id'] == 7
def test_compiled_insert_execute(self):
users.insert().compile().execute(user_id = 7, user_name = 'jack')
s = select([users], users.c.user_id==bindparam('id')).compile()
- c = testbase.db.connect()
+ c = testing.db.connect()
assert c.execute(s, id=7).fetchall()[0]['user_id'] == 7
def test_repeated_bindparams(self):
@@ -198,14 +198,14 @@ class QueryTest(PersistTest):
def test_bindparams_in_params(self):
"""test that a _BindParamClause itself can be a key in the params dict"""
-
+
users.insert().execute(user_id = 7, user_name = 'jack')
users.insert().execute(user_id = 8, user_name = 'fred')
u = bindparam('userid')
r = users.select(users.c.user_name==u).execute({u:'fred'}).fetchall()
assert len(r) == 1
-
+
def test_bindparam_shortname(self):
"""test the 'shortname' field on BindParamClause."""
users.insert().execute(user_id = 7, user_name = 'jack')
@@ -370,27 +370,27 @@ class QueryTest(PersistTest):
self.assert_(r.user_id == r['user_id'] == r[users.c.user_id] == 2)
self.assert_(r.user_name == r['user_name'] == r[users.c.user_name] == 'jack')
- r = text("select * from query_users where user_id=2", bind=testbase.db).execute().fetchone()
+ r = text("select * from query_users where user_id=2", bind=testing.db).execute().fetchone()
self.assert_(r.user_id == r['user_id'] == r[users.c.user_id] == 2)
self.assert_(r.user_name == r['user_name'] == r[users.c.user_name] == 'jack')
# test slices
- r = text("select * from query_addresses", bind=testbase.db).execute().fetchone()
+ r = text("select * from query_addresses", bind=testing.db).execute().fetchone()
self.assert_(r[0:1] == (1,))
self.assert_(r[1:] == (2, 'foo@bar.com'))
self.assert_(r[:-1] == (1, 2))
-
+
# test a little sqlite weirdness - with the UNION, cols come back as "query_users.user_id" in cursor.description
r = text("select query_users.user_id, query_users.user_name from query_users "
- "UNION select query_users.user_id, query_users.user_name from query_users", bind=testbase.db).execute().fetchone()
+ "UNION select query_users.user_id, query_users.user_name from query_users", bind=testing.db).execute().fetchone()
self.assert_(r['user_id']) == 1
self.assert_(r['user_name']) == "john"
# test using literal tablename.colname
- r = text('select query_users.user_id AS "query_users.user_id", query_users.user_name AS "query_users.user_name" from query_users', bind=testbase.db).execute().fetchone()
+ r = text('select query_users.user_id AS "query_users.user_id", query_users.user_name AS "query_users.user_name" from query_users', bind=testing.db).execute().fetchone()
self.assert_(r['query_users.user_id']) == 1
self.assert_(r['query_users.user_name']) == "john"
-
+
def test_ambiguous_column(self):
users.insert().execute(user_id=1, user_name='john')
@@ -428,10 +428,10 @@ class QueryTest(PersistTest):
r = users.select().execute().fetchone()
self.assertEqual(len(r), 2)
r.close()
- r = testbase.db.execute('select user_name, user_id from query_users', {}).fetchone()
+ r = testing.db.execute('select user_name, user_id from query_users', {}).fetchone()
self.assertEqual(len(r), 2)
r.close()
- r = testbase.db.execute('select user_name from query_users', {}).fetchone()
+ r = testing.db.execute('select user_name from query_users', {}).fetchone()
self.assertEqual(len(r), 1)
r.close()
@@ -455,7 +455,7 @@ class QueryTest(PersistTest):
def test_column_order_with_text_query(self):
# should return values in query order
users.insert().execute(user_id=1, user_name='foo')
- r = testbase.db.execute('select user_name, user_id from query_users', {}).fetchone()
+ r = testing.db.execute('select user_name, user_id from query_users', {}).fetchone()
self.assertEqual(r[0], 'foo')
self.assertEqual(r[1], 1)
self.assertEqual([x.lower() for x in r.keys()], ['user_name', 'user_id'])
@@ -463,7 +463,7 @@ class QueryTest(PersistTest):
@testing.unsupported('oracle', 'firebird', 'maxdb')
def test_column_accessor_shadow(self):
- meta = MetaData(testbase.db)
+ meta = MetaData(testing.db)
shadowed = Table('test_shadowed', meta,
Column('shadow_id', INT, primary_key = True),
Column('shadow_name', VARCHAR(20)),
@@ -548,7 +548,7 @@ class CompoundTest(PersistTest):
different databases."""
def setUpAll(self):
global metadata, t1, t2, t3
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
t1 = Table('t1', metadata,
Column('col1', Integer, Sequence('t1pkseq'), primary_key=True),
Column('col2', String(30)),
@@ -755,7 +755,7 @@ class JoinTest(PersistTest):
global metadata
global t1, t2, t3
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
t1 = Table('t1', metadata,
Column('t1_id', Integer, primary_key=True),
Column('name', String(32)))
@@ -788,7 +788,7 @@ class JoinTest(PersistTest):
found = sorted([tuple(row)
for row in statement.execute().fetchall()])
-
+
self.assertEquals(found, sorted(expected))
def test_join_x1(self):
@@ -1014,7 +1014,7 @@ class JoinTest(PersistTest):
class OperatorTest(PersistTest):
def setUpAll(self):
global metadata, flds
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
flds = Table('flds', metadata,
Column('idcol', Integer, Sequence('t1pkseq'), primary_key=True),
Column('intcol', Integer),
@@ -1041,4 +1041,4 @@ class OperatorTest(PersistTest):
if __name__ == "__main__":
- testbase.main()
+ testenv.main()
diff --git a/test/sql/quote.py b/test/sql/quote.py
index 9d3c8505d..ee7164836 100644
--- a/test/sql/quote.py
+++ b/test/sql/quote.py
@@ -1,4 +1,4 @@
-import testbase
+import testenv; testenv.configure_for_tests()
from sqlalchemy import *
from sqlalchemy import sql
from sqlalchemy.sql import compiler
@@ -10,7 +10,7 @@ class QuoteTest(PersistTest):
# such as: spaces, quote characters, punctuation characters, set up tests for those as
# well.
global table1, table2, table3
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
table1 = Table('WorstCase1', metadata,
Column('lowercase', Integer, primary_key=True),
Column('UPPERCASE', Integer),
@@ -22,15 +22,15 @@ class QuoteTest(PersistTest):
Column('MixedCase', Integer))
table1.create()
table2.create()
-
+
def tearDown(self):
table1.delete().execute()
table2.delete().execute()
-
+
def tearDownAll(self):
table1.drop()
table2.drop()
-
+
def testbasic(self):
table1.insert().execute({'lowercase':1,'UPPERCASE':2,'MixedCase':3,'a123':4},
{'lowercase':2,'UPPERCASE':2,'MixedCase':3,'a123':4},
@@ -38,17 +38,17 @@ class QuoteTest(PersistTest):
table2.insert().execute({'d123':1,'u123':2,'MixedCase':3},
{'d123':2,'u123':2,'MixedCase':3},
{'d123':4,'u123':3,'MixedCase':2})
-
+
res1 = select([table1.c.lowercase, table1.c.UPPERCASE, table1.c.MixedCase, table1.c.a123]).execute().fetchall()
print res1
assert(res1==[(1,2,3,4),(2,2,3,4),(4,3,2,1)])
-
+
res2 = select([table2.c.d123, table2.c.u123, table2.c.MixedCase]).execute().fetchall()
print res2
assert(res2==[(1,2,3),(2,2,3),(4,3,2)])
-
+
def testreflect(self):
- meta2 = MetaData(testbase.db)
+ meta2 = MetaData(testing.db)
t2 = Table('WorstCase2', meta2, autoload=True, quote=True)
assert 'MixedCase' in t2.c
@@ -59,31 +59,31 @@ class QuoteTest(PersistTest):
table2.insert().execute({'d123':1,'u123':2,'MixedCase':3},
{'d123':2,'u123':2,'MixedCase':3},
{'d123':4,'u123':3,'MixedCase':2})
-
+
res1 = select([table1.c.lowercase, table1.c.UPPERCASE, table1.c.MixedCase, table1.c.a123], use_labels=True).execute().fetchall()
print res1
assert(res1==[(1,2,3,4),(2,2,3,4),(4,3,2,1)])
-
+
res2 = select([table2.c.d123, table2.c.u123, table2.c.MixedCase], use_labels=True).execute().fetchall()
print res2
assert(res2==[(1,2,3),(2,2,3),(4,3,2)])
-
- @testing.unsupported('oracle')
+
+ @testing.unsupported('oracle')
def testlabels(self):
"""test the quoting of labels.
-
+
if labels arent quoted, a query in postgres in particular will fail since it produces:
-
- SELECT LaLa.lowercase, LaLa."UPPERCASE", LaLa."MixedCase", LaLa."ASC"
+
+ SELECT LaLa.lowercase, LaLa."UPPERCASE", LaLa."MixedCase", LaLa."ASC"
FROM (SELECT DISTINCT "WorstCase1".lowercase AS lowercase, "WorstCase1"."UPPERCASE" AS UPPERCASE, "WorstCase1"."MixedCase" AS MixedCase, "WorstCase1"."ASC" AS ASC \nFROM "WorstCase1") AS LaLa
-
+
where the "UPPERCASE" column of "LaLa" doesnt exist.
"""
x = table1.select(distinct=True).alias("LaLa").select().scalar()
def testlabels2(self):
metadata = MetaData()
- table = Table("ImATable", metadata,
+ table = Table("ImATable", metadata,
Column("col1", Integer))
x = select([table.c.col1.label("ImATable_col1")]).alias("SomeAlias")
assert str(select([x.c.ImATable_col1])) == '''SELECT "SomeAlias"."ImATable_col1" \nFROM (SELECT "ImATable".col1 AS "ImATable_col1" \nFROM "ImATable") AS "SomeAlias"'''
@@ -92,11 +92,11 @@ class QuoteTest(PersistTest):
x = select([sql.literal_column("'foo'").label("somelabel")], from_obj=[table]).alias("AnAlias")
x = x.select()
assert str(x) == '''SELECT "AnAlias".somelabel \nFROM (SELECT 'foo' AS somelabel \nFROM "ImATable") AS "AnAlias"'''
-
+
x = select([sql.literal_column("'FooCol'").label("SomeLabel")], from_obj=[table])
x = x.select()
assert str(x) == '''SELECT "SomeLabel" \nFROM (SELECT 'FooCol' AS "SomeLabel" \nFROM "ImATable")'''
-
+
class PreparerTest(PersistTest):
"""Test the db-agnostic quoting services of IdentifierPreparer."""
@@ -147,6 +147,6 @@ class PreparerTest(PersistTest):
a_eq(unformat('foo.`bar`'), ['foo', 'bar'])
a_eq(unformat('`foo`.bar'), ['foo', 'bar'])
a_eq(unformat('`foo`.`b``a``r`.`baz`'), ['foo', 'b`a`r', 'baz'])
-
+
if __name__ == "__main__":
- testbase.main()
+ testenv.main()
diff --git a/test/sql/rowcount.py b/test/sql/rowcount.py
index 4bd52b9fa..dc90c1945 100644
--- a/test/sql/rowcount.py
+++ b/test/sql/rowcount.py
@@ -1,4 +1,4 @@
-import testbase
+import testenv; testenv.configure_for_tests()
from sqlalchemy import *
from testlib import *
@@ -6,7 +6,7 @@ from testlib import *
class FoundRowsTest(AssertMixin):
"""tests rowcount functionality"""
def setUpAll(self):
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
global employees_table
@@ -48,7 +48,7 @@ class FoundRowsTest(AssertMixin):
department = employees_table.c.department
r = employees_table.update(department=='C').execute(department='Z')
print "expecting 3, dialect reports %s" % r.rowcount
- if testbase.db.dialect.supports_sane_rowcount:
+ if testing.db.dialect.supports_sane_rowcount:
assert r.rowcount == 3
def test_update_rowcount2(self):
@@ -56,7 +56,7 @@ class FoundRowsTest(AssertMixin):
department = employees_table.c.department
r = employees_table.update(department=='C').execute(department='C')
print "expecting 3, dialect reports %s" % r.rowcount
- if testbase.db.dialect.supports_sane_rowcount:
+ if testing.db.dialect.supports_sane_rowcount:
assert r.rowcount == 3
def test_delete_rowcount(self):
@@ -64,12 +64,8 @@ class FoundRowsTest(AssertMixin):
department = employees_table.c.department
r = employees_table.delete(department=='C').execute()
print "expecting 3, dialect reports %s" % r.rowcount
- if testbase.db.dialect.supports_sane_rowcount:
+ if testing.db.dialect.supports_sane_rowcount:
assert r.rowcount == 3
if __name__ == '__main__':
- testbase.main()
-
-
-
-
+ testenv.main()
diff --git a/test/sql/select.py b/test/sql/select.py
index 4c15bfb1b..07c3ce69e 100644
--- a/test/sql/select.py
+++ b/test/sql/select.py
@@ -1,4 +1,4 @@
-import testbase
+import testenv; testenv.configure_for_tests()
import re, operator
from sqlalchemy import *
from sqlalchemy import exceptions, sql, util
@@ -451,7 +451,7 @@ sq.myothertable_othername AS sq_myothertable_othername FROM (" + sqstring + ") A
clause = (table1.c.myid == 12) & table1.c.myid.between(15, 20) & table1.c.myid.like('hoho')
assert str(clause) == str(util.pickle.loads(util.pickle.dumps(clause)))
-
+
def testextracomparisonoperators(self):
self.assert_compile(
@@ -1413,4 +1413,4 @@ class SchemaTest(SQLCompileTest):
"(:rem_id, :datatype_id, :value)")
if __name__ == "__main__":
- testbase.main()
+ testenv.main()
diff --git a/test/sql/selectable.py b/test/sql/selectable.py
index 850e29e16..a64697b81 100755
--- a/test/sql/selectable.py
+++ b/test/sql/selectable.py
@@ -2,7 +2,7 @@
useable primary keys and foreign keys. Full relational algebra depends on
every selectable unit behaving nicely with others.."""
-import testbase
+import testenv; testenv.configure_for_tests()
from sqlalchemy import *
from testlib import *
@@ -309,4 +309,4 @@ class DerivedTest(AssertMixin):
assert not t2.select().alias('foo').is_derived_from(t1)
if __name__ == "__main__":
- testbase.main()
+ testenv.main()
diff --git a/test/sql/testtypes.py b/test/sql/testtypes.py
index 8f1cc461e..fdb6f3cc2 100644
--- a/test/sql/testtypes.py
+++ b/test/sql/testtypes.py
@@ -1,4 +1,4 @@
-import testbase
+import testenv; testenv.configure_for_tests()
import datetime, os, pickleable, re
from sqlalchemy import *
from sqlalchemy import types, exceptions
@@ -111,8 +111,8 @@ class UserDefinedTest(PersistTest):
def testbasic(self):
print users.c.goofy4.type
- print users.c.goofy4.type.dialect_impl(testbase.db.dialect)
- print users.c.goofy4.type.dialect_impl(testbase.db.dialect).get_col_spec()
+ print users.c.goofy4.type.dialect_impl(testing.db.dialect)
+ print users.c.goofy4.type.dialect_impl(testing.db.dialect).get_col_spec()
def testprocessing(self):
@@ -240,7 +240,7 @@ class UserDefinedTest(PersistTest):
def copy(self):
return LegacyUnicodeType(self.impl.length)
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
users = Table('type_users', metadata,
Column('user_id', Integer, primary_key = True),
# totall custom type
@@ -276,7 +276,7 @@ class ColumnsTest(AssertMixin):
'float_column': 'float_column FLOAT(25)',
}
- db = testbase.db
+ db = testing.db
if testing.against('sqlite', 'oracle'):
expectedResults['float_column'] = 'float_column NUMERIC(25, 2)'
@@ -303,7 +303,7 @@ class UnicodeTest(AssertMixin):
"""tests the Unicode type. also tests the TypeDecorator with instances in the types package."""
def setUpAll(self):
global unicode_table
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
unicode_table = Table('unicode_table', metadata,
Column('id', Integer, Sequence('uni_id_seq', optional=True), primary_key=True),
Column('unicode_varchar', Unicode(250)),
@@ -335,7 +335,7 @@ class UnicodeTest(AssertMixin):
# SQLLite and MSSQL return non-unicode data as unicode
self.assert_(testing.against('sqlite', 'mssql'))
self.assert_(x['plain_varchar'] == unicodedata)
- print "it's %s!" % testbase.db.name
+ print "it's %s!" % testing.db.name
else:
self.assert_(not isinstance(x['plain_varchar'], unicode) and x['plain_varchar'] == rawdata)
@@ -372,11 +372,11 @@ class UnicodeTest(AssertMixin):
def testengineparam(self):
"""tests engine-wide unicode conversion"""
- prev_unicode = testbase.db.engine.dialect.convert_unicode
- prev_assert = testbase.db.engine.dialect.assert_unicode
+ prev_unicode = testing.db.engine.dialect.convert_unicode
+ prev_assert = testing.db.engine.dialect.assert_unicode
try:
- testbase.db.engine.dialect.convert_unicode = True
- testbase.db.engine.dialect.assert_unicode = False
+ testing.db.engine.dialect.convert_unicode = True
+ testing.db.engine.dialect.assert_unicode = False
rawdata = 'Alors vous imaginez ma surprise, au lever du jour, quand une dr\xc3\xb4le de petit voix m\xe2\x80\x99a r\xc3\xa9veill\xc3\xa9. Elle disait: \xc2\xab S\xe2\x80\x99il vous pla\xc3\xaet\xe2\x80\xa6 dessine-moi un mouton! \xc2\xbb\n'
unicodedata = rawdata.decode('utf-8')
unicode_table.insert().execute(unicode_varchar=unicodedata,
@@ -391,14 +391,14 @@ class UnicodeTest(AssertMixin):
self.assert_(isinstance(x['unicode_text'], unicode) and x['unicode_text'] == unicodedata)
self.assert_(isinstance(x['plain_varchar'], unicode) and x['plain_varchar'] == unicodedata)
finally:
- testbase.db.engine.dialect.convert_unicode = prev_unicode
- testbase.db.engine.dialect.convert_unicode = prev_assert
+ testing.db.engine.dialect.convert_unicode = prev_unicode
+ testing.db.engine.dialect.convert_unicode = prev_assert
@testing.unsupported('oracle')
def testlength(self):
"""checks the database correctly understands the length of a unicode string"""
teststr = u'aaa\x1234'
- self.assert_(testbase.db.func.length(teststr).scalar() == len(teststr))
+ self.assert_(testing.db.func.length(teststr).scalar() == len(teststr))
class BinaryTest(AssertMixin):
def setUpAll(self):
@@ -417,7 +417,7 @@ class BinaryTest(AssertMixin):
value.stuff = 'this is the right stuff'
return value
- binary_table = Table('binary_table', MetaData(testbase.db),
+ binary_table = Table('binary_table', MetaData(testing.db),
Column('primary_id', Integer, Sequence('binary_id_seq', optional=True), primary_key=True),
Column('data', Binary),
Column('data_slice', Binary(100)),
@@ -449,7 +449,7 @@ class BinaryTest(AssertMixin):
for stmt in (
binary_table.select(order_by=binary_table.c.primary_id),
- text("select * from binary_table order by binary_table.primary_id", typemap={'pickled':PickleType, 'mypickle':MyPickleType}, bind=testbase.db)
+ text("select * from binary_table order by binary_table.primary_id", typemap={'pickled':PickleType, 'mypickle':MyPickleType}, bind=testing.db)
):
l = stmt.execute().fetchall()
print type(stream1), type(l[0]['data']), type(l[0]['data_slice'])
@@ -463,7 +463,7 @@ class BinaryTest(AssertMixin):
self.assertEquals(l[0]['mypickle'].stuff, 'this is the right stuff')
def load_stream(self, name, len=12579):
- f = os.path.join(os.path.dirname(testbase.__file__), name)
+ f = os.path.join(os.path.dirname(testenv.__file__), name)
# put a number less than the typical MySQL default BLOB size
return file(f).read(len)
@@ -485,7 +485,7 @@ class ExpressionTest(AssertMixin):
def adapt_operator(self, op):
return {operators.add:operators.sub, operators.sub:operators.add}.get(op, op)
- meta = MetaData(testbase.db)
+ meta = MetaData(testing.db)
test_table = Table('test', meta,
Column('id', Integer, primary_key=True),
Column('data', String(30)),
@@ -500,7 +500,7 @@ class ExpressionTest(AssertMixin):
meta.drop_all()
def test_control(self):
- assert testbase.db.execute("select value from test").scalar() == 250
+ assert testing.db.execute("select value from test").scalar() == 250
assert test_table.select().execute().fetchall() == [(1, 'somedata', datetime.date(2007, 10, 15), 25)]
@@ -508,11 +508,11 @@ class ExpressionTest(AssertMixin):
expr = test_table.c.timestamp == bindparam("thedate")
assert expr.right.type.__class__ == test_table.c.timestamp.type.__class__
- assert testbase.db.execute(test_table.select().where(expr), {"thedate":datetime.date(2007, 10, 15)}).fetchall() == [(1, 'somedata', datetime.date(2007, 10, 15), 25)]
+ assert testing.db.execute(test_table.select().where(expr), {"thedate":datetime.date(2007, 10, 15)}).fetchall() == [(1, 'somedata', datetime.date(2007, 10, 15), 25)]
expr = test_table.c.value == bindparam("somevalue")
assert expr.right.type.__class__ == test_table.c.value.type.__class__
- assert testbase.db.execute(test_table.select().where(expr), {"somevalue":25}).fetchall() == [(1, 'somedata', datetime.date(2007, 10, 15), 25)]
+ assert testing.db.execute(test_table.select().where(expr), {"somevalue":25}).fetchall() == [(1, 'somedata', datetime.date(2007, 10, 15), 25)]
def test_operator_adapt(self):
@@ -520,10 +520,10 @@ class ExpressionTest(AssertMixin):
# test string concatenation
expr = test_table.c.data + "somedata"
- assert testbase.db.execute(select([expr])).scalar() == "somedatasomedata"
+ assert testing.db.execute(select([expr])).scalar() == "somedatasomedata"
expr = test_table.c.id + 15
- assert testbase.db.execute(select([expr])).scalar() == 16
+ assert testing.db.execute(select([expr])).scalar() == 16
# test custom operator conversion
expr = test_table.c.value + 40
@@ -531,17 +531,17 @@ class ExpressionTest(AssertMixin):
# + operator converted to -
# value is calculated as: (250 - (40 * 10)) / 10 == -15
- assert testbase.db.execute(select([expr.label('foo')])).scalar() == -15
+ assert testing.db.execute(select([expr.label('foo')])).scalar() == -15
# this one relies upon anonymous labeling to assemble result
# processing rules on the column.
- assert testbase.db.execute(select([expr])).scalar() == -15
+ assert testing.db.execute(select([expr])).scalar() == -15
class DateTest(AssertMixin):
def setUpAll(self):
global users_with_date, insert_data
- db = testbase.db
+ db = testing.db
if testing.against('oracle'):
import sqlalchemy.databases.oracle as oracle
insert_data = [
@@ -603,7 +603,7 @@ class DateTest(AssertMixin):
Column('user_time', Time)]
users_with_date = Table('query_users_with_date',
- MetaData(testbase.db), *collist)
+ MetaData(testing.db), *collist)
users_with_date.create()
insert_dicts = [dict(zip(fnames, d)) for d in insert_data]
@@ -621,21 +621,21 @@ class DateTest(AssertMixin):
'DateTest mismatch: got:%s expected:%s' % (l, insert_data))
def testtextdate(self):
- x = testbase.db.text(
+ x = testing.db.text(
"select user_datetime from query_users_with_date",
typemap={'user_datetime':DateTime}).execute().fetchall()
print repr(x)
self.assert_(isinstance(x[0][0], datetime.datetime))
- x = testbase.db.text(
+ x = testing.db.text(
"select * from query_users_with_date where user_datetime=:somedate",
bindparams=[bindparam('somedate', type_=types.DateTime)]).execute(
somedate=datetime.datetime(2005, 11, 10, 11, 52, 35)).fetchall()
print repr(x)
def testdate2(self):
- meta = MetaData(testbase.db)
+ meta = MetaData(testing.db)
t = Table('testdate', meta,
Column('id', Integer,
Sequence('datetest_id_seq', optional=True),
@@ -664,12 +664,12 @@ class DateTest(AssertMixin):
class StringTest(AssertMixin):
def test_nolen_string_deprecated(self):
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
foo =Table('foo', metadata,
Column('one', String))
# no warning
- select([func.count("*")], bind=testbase.db).execute()
+ select([func.count("*")], bind=testing.db).execute()
try:
# warning during CREATE
@@ -693,7 +693,7 @@ class StringTest(AssertMixin):
class NumericTest(AssertMixin):
def setUpAll(self):
global numeric_table, metadata
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
numeric_table = Table('numeric_table', metadata,
Column('id', Integer, Sequence('numeric_id_seq', optional=True), primary_key=True),
Column('numericcol', Numeric(asdecimal=False)),
@@ -728,7 +728,7 @@ class NumericTest(AssertMixin):
class IntervalTest(AssertMixin):
def setUpAll(self):
global interval_table, metadata
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
interval_table = Table("intervaltable", metadata,
Column("id", Integer, Sequence('interval_id_seq', optional=True), primary_key=True),
Column("interval", Interval),
@@ -753,7 +753,7 @@ class IntervalTest(AssertMixin):
class BooleanTest(AssertMixin):
def setUpAll(self):
global bool_table
- metadata = MetaData(testbase.db)
+ metadata = MetaData(testing.db)
bool_table = Table('booltest', metadata,
Column('id', Integer, primary_key=True),
Column('value', Boolean))
@@ -776,4 +776,4 @@ class BooleanTest(AssertMixin):
assert(res2==[(2, False)])
if __name__ == "__main__":
- testbase.main()
+ testenv.main()
diff --git a/test/sql/unicode.py b/test/sql/unicode.py
index 03673eb4d..9f352fd09 100644
--- a/test/sql/unicode.py
+++ b/test/sql/unicode.py
@@ -1,7 +1,7 @@
# coding: utf-8
"""verrrrry basic unicode column name testing"""
-import testbase
+import testenv; testenv.configure_for_tests()
from sqlalchemy import *
from testlib import *
from testlib.engines import utf8_engine
@@ -61,13 +61,13 @@ class UnicodeSchemaTest(PersistTest):
t3.delete().execute()
t2.delete().execute()
t1.delete().execute()
-
+
@testing.unsupported('maxdb', 'oracle', 'sybase')
def tearDownAll(self):
global unicode_bind
metadata.drop_all()
del unicode_bind
-
+
@testing.unsupported('maxdb', 'oracle', 'sybase')
def test_insert(self):
t1.insert().execute({u'méil':1, u'\u6e2c\u8a66':5})
@@ -80,7 +80,7 @@ class UnicodeSchemaTest(PersistTest):
assert t1.select().execute().fetchall() == [(1, 5)]
assert t2.select().execute().fetchall() == [(1, 1)]
assert t3.select().execute().fetchall() == [(1, 5, 1, 1)]
-
+
@testing.unsupported('maxdb', 'oracle', 'sybase')
def test_reflect(self):
t1.insert().execute({u'méil':2, u'\u6e2c\u8a66':7})
@@ -111,8 +111,8 @@ class UnicodeSchemaTest(PersistTest):
[(2, 7, 2, 2), (1, 5, 1, 1)])
meta.drop_all()
metadata.create_all()
-
+
if __name__ == '__main__':
- testbase.main()
+ testenv.main()