diff options
Diffstat (limited to 'test/sql/constraints.py')
-rw-r--r-- | test/sql/constraints.py | 58 |
1 files changed, 29 insertions, 29 deletions
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() |