diff options
Diffstat (limited to 'test/sql/test_query.py')
-rw-r--r-- | test/sql/test_query.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/sql/test_query.py b/test/sql/test_query.py index 8f7c4c6a7..da5b05d0a 100644 --- a/test/sql/test_query.py +++ b/test/sql/test_query.py @@ -706,6 +706,36 @@ class QueryTest(TestBase): eq_(r.lastrowid, 1) + def test_returns_rows_flag_insert(self): + r = testing.db.execute( + users.insert(), + {'user_id':1, 'user_name':'ed'} + ) + assert r.is_insert + assert not r.returns_rows + + def test_returns_rows_flag_update(self): + r = testing.db.execute( + users.update().values(user_name='fred') + ) + assert not r.is_insert + assert not r.returns_rows + + def test_returns_rows_flag_select(self): + r = testing.db.execute( + users.select() + ) + assert not r.is_insert + assert r.returns_rows + + @testing.requires.returning + def test_returns_rows_flag_insert_returning(self): + r = testing.db.execute( + users.insert().returning(users.c.user_id), + {'user_id':1, 'user_name':'ed'} + ) + assert r.is_insert + assert r.returns_rows def test_graceful_fetch_on_non_rows(self): """test that calling fetchone() etc. on a result that doesn't |