From: Mike Bayer Date: Wed, 2 Apr 2008 16:12:07 +0000 (+0000) Subject: some test fixup for oracle X-Git-Tag: rel_0_4_5~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cfd78078386d854ad3dae862b66431262fdbe68d;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git some test fixup for oracle --- diff --git a/test/dialect/oracle.py b/test/dialect/oracle.py index 4e9960012b..d88ad27e9d 100644 --- a/test/dialect/oracle.py +++ b/test/dialect/oracle.py @@ -179,7 +179,7 @@ class SchemaReflectionTest(TestBase, AssertsCompiledSQL): parent = Table('parent', meta, autoload=True, schema='ed') child = Table('child', meta, autoload=True, schema='ed') - self.assert_compile(parent.join(child), "ed.parent JOIN ed.child ON parent.id = child.parent_id") + self.assert_compile(parent.join(child), "ed.parent JOIN ed.child ON ed.parent.id = ed.child.parent_id") select([parent, child]).select_from(parent.join(child)).execute().fetchall() def test_reflect_local_to_remote(self): @@ -188,7 +188,7 @@ class SchemaReflectionTest(TestBase, AssertsCompiledSQL): meta = MetaData(testing.db) lcl = Table('localtable', meta, autoload=True) parent = meta.tables['ed.parent'] - self.assert_compile(parent.join(lcl), "ed.parent JOIN localtable ON parent.id = localtable.parent_id") + self.assert_compile(parent.join(lcl), "ed.parent JOIN localtable ON ed.parent.id = localtable.parent_id") select([parent, lcl]).select_from(parent.join(lcl)).execute().fetchall() finally: testing.db.execute("DROP TABLE localtable") @@ -198,7 +198,7 @@ class SchemaReflectionTest(TestBase, AssertsCompiledSQL): parent = Table('parent', meta, autoload=True, schema='ed') child = Table('child', meta, autoload=True, schema='ed') - self.assert_compile(parent.join(child), "ed.parent JOIN ed.child ON parent.id = child.parent_id") + self.assert_compile(parent.join(child), "ed.parent JOIN ed.child ON ed.parent.id = ed.child.parent_id") select([parent, child]).select_from(parent.join(child)).execute().fetchall() def test_reflect_alt_owner_synonyms(self): @@ -207,7 +207,7 @@ class SchemaReflectionTest(TestBase, AssertsCompiledSQL): meta = MetaData(testing.db) lcl = Table('localtable', meta, autoload=True, oracle_resolve_synonyms=True) parent = meta.tables['ed.ptable'] - self.assert_compile(parent.join(lcl), "ed.ptable JOIN localtable ON ptable.id = localtable.parent_id") + self.assert_compile(parent.join(lcl), "ed.ptable JOIN localtable ON ed.ptable.id = localtable.parent_id") select([parent, lcl]).select_from(parent.join(lcl)).execute().fetchall() finally: testing.db.execute("DROP TABLE localtable") @@ -216,7 +216,7 @@ class SchemaReflectionTest(TestBase, AssertsCompiledSQL): meta = MetaData(testing.db) parent = Table('ptable', meta, autoload=True, schema='ed', oracle_resolve_synonyms=True) child = Table('ctable', meta, autoload=True, schema='ed', oracle_resolve_synonyms=True) - self.assert_compile(parent.join(child), "ed.ptable JOIN ed.ctable ON ptable.id = ctable.parent_id") + self.assert_compile(parent.join(child), "ed.ptable JOIN ed.ctable ON ed.ptable.id = ed.ctable.parent_id") select([parent, child]).select_from(parent.join(child)).execute().fetchall() diff --git a/test/orm/query.py b/test/orm/query.py index 285c14fbfe..691babf7f0 100644 --- a/test/orm/query.py +++ b/test/orm/query.py @@ -1251,7 +1251,7 @@ class SelfReferentialTest(ORMTest): def define_tables(self, metadata): global nodes nodes = Table('nodes', metadata, - Column('id', Integer, primary_key=True), + Column('id', Integer, primary_key=True, test_needs_autoincrement=True), Column('parent_id', Integer, ForeignKey('nodes.id')), Column('data', String(30))) @@ -1330,7 +1330,7 @@ class SelfReferentialM2MTest(ORMTest): def define_tables(self, metadata): global nodes, node_to_nodes nodes = Table('nodes', metadata, - Column('id', Integer, primary_key=True), + Column('id', Integer, primary_key=True, test_needs_autoincrement=True), Column('data', String(30))) node_to_nodes =Table('node_to_nodes', metadata, diff --git a/test/testlib/schema.py b/test/testlib/schema.py index feea8355b6..37f3591ade 100644 --- a/test/testlib/schema.py +++ b/test/testlib/schema.py @@ -53,6 +53,11 @@ def Table(*args, **kw): if fk.onupdate is None: fk.onupdate = 'CASCADE' + if testing.against('oracle'): + pk_seqs = [col for col in args if isinstance(col, schema.Column) + and col.primary_key and getattr(col, '_needs_autoincrement', False)] + for c in pk_seqs: + c.args.append(schema.Sequence(args[0] + '_' + c.name + '_seq', optional=True)) return schema.Table(*args, **kw) @@ -66,9 +71,8 @@ def Column(*args, **kw): test_opts = dict([(k,kw.pop(k)) for k in kw.keys() if k.startswith('test_')]) + c = schema.Column(*args, **kw) if testing.against('oracle'): if 'test_needs_autoincrement' in test_opts: - args = list(args) - args.append(schema.Sequence(args[0] + "_seq", optional=True)) - - return schema.Column(*args, **kw) + c._needs_autoincrement = True + return c