diff options
Diffstat (limited to 'test/sql/test_functions.py')
| -rw-r--r-- | test/sql/test_functions.py | 85 |
1 files changed, 41 insertions, 44 deletions
diff --git a/test/sql/test_functions.py b/test/sql/test_functions.py index ffc72e9ee..6fba7519c 100644 --- a/test/sql/test_functions.py +++ b/test/sql/test_functions.py @@ -800,6 +800,7 @@ class ExecuteTest(fixtures.TestBase): ret.close() @engines.close_first + @testing.provide_metadata def test_update(self): """ Tests sending functions and SQL expressions to the VALUES and SET @@ -807,7 +808,7 @@ class ExecuteTest(fixtures.TestBase): get overridden. """ - meta = MetaData(testing.db) + meta = self.metadata t = Table('t1', meta, Column('id', Integer, Sequence('t1idseq', optional=True), primary_key=True), @@ -820,51 +821,47 @@ class ExecuteTest(fixtures.TestBase): Column('stuff', String(20), onupdate="thisisstuff") ) meta.create_all() - try: - t.insert(values=dict(value=func.length("one"))).execute() - assert t.select().execute().first()['value'] == 3 - t.update(values=dict(value=func.length("asfda"))).execute() - assert t.select().execute().first()['value'] == 5 - - r = t.insert(values=dict(value=func.length("sfsaafsda"))).execute() - id = r.inserted_primary_key[0] - assert t.select(t.c.id == id).execute().first()['value'] == 9 - t.update(values={t.c.value: func.length("asdf")}).execute() - assert t.select().execute().first()['value'] == 4 - t2.insert().execute() - t2.insert(values=dict(value=func.length("one"))).execute() - t2.insert(values=dict(value=func.length("asfda") + -19)).\ - execute(stuff="hi") - - res = exec_sorted(select([t2.c.value, t2.c.stuff])) - eq_(res, [(-14, 'hi'), (3, None), (7, None)]) - - t2.update(values=dict(value=func.length("asdsafasd"))).\ - execute(stuff="some stuff") - assert select([t2.c.value, t2.c.stuff]).execute().fetchall() == \ - [(9, "some stuff"), (9, "some stuff"), - (9, "some stuff")] - - t2.delete().execute() - - t2.insert(values=dict(value=func.length("one") + 8)).execute() - assert t2.select().execute().first()['value'] == 11 - - t2.update(values=dict(value=func.length("asfda"))).execute() - eq_( - select([t2.c.value, t2.c.stuff]).execute().first(), - (5, "thisisstuff") + t.insert(values=dict(value=func.length("one"))).execute() + assert t.select().execute().first()['value'] == 3 + t.update(values=dict(value=func.length("asfda"))).execute() + assert t.select().execute().first()['value'] == 5 + + r = t.insert(values=dict(value=func.length("sfsaafsda"))).execute() + id = r.inserted_primary_key[0] + assert t.select(t.c.id == id).execute().first()['value'] == 9 + t.update(values={t.c.value: func.length("asdf")}).execute() + assert t.select().execute().first()['value'] == 4 + t2.insert().execute() + t2.insert(values=dict(value=func.length("one"))).execute() + t2.insert(values=dict(value=func.length("asfda") + -19)).\ + execute(stuff="hi") + + res = exec_sorted(select([t2.c.value, t2.c.stuff])) + eq_(res, [(-14, 'hi'), (3, None), (7, None)]) + + t2.update(values=dict(value=func.length("asdsafasd"))).\ + execute(stuff="some stuff") + assert select([t2.c.value, t2.c.stuff]).execute().fetchall() == \ + [(9, "some stuff"), (9, "some stuff"), + (9, "some stuff")] + + t2.delete().execute() + + t2.insert(values=dict(value=func.length("one") + 8)).execute() + assert t2.select().execute().first()['value'] == 11 + + t2.update(values=dict(value=func.length("asfda"))).execute() + eq_( + select([t2.c.value, t2.c.stuff]).execute().first(), + (5, "thisisstuff") + ) + + t2.update(values={t2.c.value: func.length("asfdaasdf"), + t2.c.stuff: "foo"}).execute() + eq_(select([t2.c.value, t2.c.stuff]).execute().first(), + (9, "foo") ) - t2.update(values={t2.c.value: func.length("asfdaasdf"), - t2.c.stuff: "foo"}).execute() - print("HI", select([t2.c.value, t2.c.stuff]).execute().first()) - eq_(select([t2.c.value, t2.c.stuff]).execute().first(), - (9, "foo") - ) - finally: - meta.drop_all() - @testing.fails_on_everything_except('postgresql') def test_as_from(self): # TODO: shouldn't this work on oracle too ? |
