diff options
author | olly <olly@ollycope.com> | 2015-09-04 08:56:21 +0000 |
---|---|---|
committer | olly <olly@ollycope.com> | 2015-09-04 08:56:21 +0000 |
commit | 06f284a1de778ed02a45280dc5231453fad4b3ac (patch) | |
tree | 2b3898d392a9c5942016d1b416eb74439ad705b4 | |
parent | 8079f3763b2a0d889993075787aa1013f92efc5b (diff) | |
download | yoyo-06f284a1de778ed02a45280dc5231453fad4b3ac.tar.gz |
Prefix all tables created by the test suite with '_yoyo'
This makes it easier to tear down the test suite cleanly for tests
running against a db with a persistent storage backend
-rw-r--r-- | yoyo/tests/test_backends.py | 24 | ||||
-rw-r--r-- | yoyo/tests/test_migrations.py | 59 |
2 files changed, 43 insertions, 40 deletions
diff --git a/yoyo/tests/test_backends.py b/yoyo/tests/test_backends.py index a9d3a1c..0fc8050 100644 --- a/yoyo/tests/test_backends.py +++ b/yoyo/tests/test_backends.py @@ -12,48 +12,50 @@ class TestTransactionHandling(object): backend = request.param with backend.transaction(): if backend.__class__ is backends.MySQLBackend: - backend.execute("CREATE TABLE t (id CHAR(1) primary key) " + backend.execute("CREATE TABLE _yoyo_t " + "(id CHAR(1) primary key) " "ENGINE=InnoDB") else: - backend.execute("CREATE TABLE t (id CHAR(1) primary key)") + backend.execute("CREATE TABLE _yoyo_t " + "(id CHAR(1) primary key)") yield backend with backend.transaction(): - backend.execute("DROP TABLE t") + backend.execute("DROP TABLE _yoyo_t") def test_it_commits(self, backend): with backend.transaction(): - backend.execute("INSERT INTO t values ('A')") + backend.execute("INSERT INTO _yoyo_t values ('A')") with backend.transaction(): - rows = list(backend.execute("SELECT * FROM t").fetchall()) + rows = list(backend.execute("SELECT * FROM _yoyo_t").fetchall()) assert rows == [('A',)] def test_it_rolls_back(self, backend): try: with backend.transaction(): - backend.execute("INSERT INTO t values ('A')") + backend.execute("INSERT INTO _yoyo_t values ('A')") # Invalid SQL to produce an error backend.execute("INSERT INTO nonexistant values ('A')") except tuple(exceptions.DatabaseErrors): pass with backend.transaction(): - rows = list(backend.execute("SELECT * FROM t").fetchall()) + rows = list(backend.execute("SELECT * FROM _yoyo_t").fetchall()) assert rows == [] def test_it_nests_transactions(self, backend): with backend.transaction(): - backend.execute("INSERT INTO t values ('A')") + backend.execute("INSERT INTO _yoyo_t values ('A')") with backend.transaction() as trans: - backend.execute("INSERT INTO t values ('B')") + backend.execute("INSERT INTO _yoyo_t values ('B')") trans.rollback() with backend.transaction() as trans: - backend.execute("INSERT INTO t values ('C')") + backend.execute("INSERT INTO _yoyo_t values ('C')") with backend.transaction(): - rows = list(backend.execute("SELECT * FROM t").fetchall()) + rows = list(backend.execute("SELECT * FROM _yoyo_t").fetchall()) assert rows == [('A',), ('C',)] def test_backend_detects_transactional_ddl(self, backend): diff --git a/yoyo/tests/test_migrations.py b/yoyo/tests/test_migrations.py index d6f9324..6843b56 100644 --- a/yoyo/tests/test_migrations.py +++ b/yoyo/tests/test_migrations.py @@ -26,11 +26,11 @@ from yoyo.migrations import topological_sort, MigrationList @with_migrations( """ - step("CREATE TABLE test (id INT)") + step("CREATE TABLE _yoyo_test (id INT)") """, """ -step("INSERT INTO test VALUES (1)") -step("INSERT INTO test VALUES ('x', 'y')") +step("INSERT INTO _yoyo_test VALUES (1)") +step("INSERT INTO _yoyo_test VALUES ('x', 'y')") """) def test_transaction_is_not_committed_on_error(tmpdir): backend = get_backend(dburi) @@ -43,15 +43,15 @@ def test_transaction_is_not_committed_on_error(tmpdir): else: raise AssertionError("Expected a DatabaseError") cursor = backend.cursor() - cursor.execute("SELECT count(1) FROM test") + cursor.execute("SELECT count(1) FROM _yoyo_test") assert cursor.fetchone() == (0,) @with_migrations( - 'step("CREATE TABLE test (id INT)")', + 'step("CREATE TABLE _yoyo_test (id INT)")', ''' -step("INSERT INTO test VALUES (1)", "DELETE FROM test WHERE id=1") -step("UPDATE test SET id=2 WHERE id=1", "UPDATE test SET id=1 WHERE id=2") +step("INSERT INTO _yoyo_test VALUES (1)", "DELETE FROM _yoyo_test WHERE id=1") +step("UPDATE _yoyo_test SET id=2 WHERE id=1", "UPDATE _yoyo_test SET id=1 WHERE id=2") ''' ) def test_rollbacks_happen_in_reverse(tmpdir): @@ -59,19 +59,19 @@ def test_rollbacks_happen_in_reverse(tmpdir): migrations = read_migrations(tmpdir) backend.apply_migrations(migrations) cursor = backend.cursor() - cursor.execute("SELECT * FROM test") + cursor.execute("SELECT * FROM _yoyo_test") assert cursor.fetchall() == [(2,)] backend.rollback_migrations(migrations) - cursor.execute("SELECT * FROM test") + cursor.execute("SELECT * FROM _yoyo_test") assert cursor.fetchall() == [] @with_migrations( ''' - step("CREATE TABLE test (id INT)") - step("INSERT INTO test VALUES (1)") - step("INSERT INTO test VALUES ('a', 'b')", ignore_errors='all') - step("INSERT INTO test VALUES (2)") + step("CREATE TABLE _yoyo_test (id INT)") + step("INSERT INTO _yoyo_test VALUES (1)") + step("INSERT INTO _yoyo_test VALUES ('a', 'b')", ignore_errors='all') + step("INSERT INTO _yoyo_test VALUES (2)") ''' ) def test_execution_continues_with_ignore_errors(tmpdir): @@ -79,20 +79,20 @@ def test_execution_continues_with_ignore_errors(tmpdir): migrations = read_migrations(tmpdir) backend.apply_migrations(migrations) cursor = backend.cursor() - cursor.execute("SELECT * FROM test") + cursor.execute("SELECT * FROM _yoyo_test") assert cursor.fetchall() == [(1,), (2,)] @with_migrations( ''' from yoyo import step, group - step("CREATE TABLE test (id INT)") + step("CREATE TABLE _yoyo_test (id INT)") group( - step("INSERT INTO test VALUES (1)"), - step("INSERT INTO test VALUES ('a', 'b')"), + step("INSERT INTO _yoyo_test VALUES (1)"), + step("INSERT INTO _yoyo_test VALUES ('a', 'b')"), ignore_errors='all' ) - step("INSERT INTO test VALUES (2)") + step("INSERT INTO _yoyo_test VALUES (2)") ''' ) def test_execution_continues_with_ignore_errors_in_transaction(tmpdir): @@ -100,15 +100,16 @@ def test_execution_continues_with_ignore_errors_in_transaction(tmpdir): migrations = read_migrations(tmpdir) backend.apply_migrations(migrations) cursor = backend.cursor() - cursor.execute("SELECT * FROM test") + cursor.execute("SELECT * FROM _yoyo_test") assert cursor.fetchall() == [(2,)] @with_migrations( ''' - step("CREATE TABLE test (id INT)") - step("INSERT INTO test VALUES (1)", "DELETE FROM test WHERE id=2") - step("UPDATE test SET id=2 WHERE id=1", + step("CREATE TABLE _yoyo_test (id INT)") + step("INSERT INTO _yoyo_test VALUES (1)", + "DELETE FROM _yoyo_test WHERE id=2") + step("UPDATE _yoyo_test SET id=2 WHERE id=1", "SELECT nonexistent FROM imaginary", ignore_errors='rollback') ''' ) @@ -117,18 +118,18 @@ def test_rollbackignores_errors(tmpdir): migrations = read_migrations(tmpdir) backend.apply_migrations(migrations) cursor = backend.cursor() - cursor.execute("SELECT * FROM test") + cursor.execute("SELECT * FROM _yoyo_test") assert cursor.fetchall() == [(2,)] backend.rollback_migrations(migrations) - cursor.execute("SELECT * FROM test") + cursor.execute("SELECT * FROM _yoyo_test") assert cursor.fetchall() == [] @with_migrations( ''' - step("CREATE TABLE test (id INT)") - step("DROP TABLE test") + step("CREATE TABLE _yoyo_test (id INT)") + step("DROP TABLE _yoyo_test") ''' ) def test_specify_migration_table(tmpdir): @@ -165,8 +166,8 @@ def test_migration_functions_have_namespace_access(tmpdir): @with_migrations( ''' from yoyo import group, step - step("CREATE TABLE test (id INT)") - group(step("INSERT INTO test VALUES (1)")), + step("CREATE TABLE _yoyo_test (id INT)") + group(step("INSERT INTO _yoyo_test VALUES (1)")), ''' ) def test_migrations_can_import_step_and_group(tmpdir): @@ -174,7 +175,7 @@ def test_migrations_can_import_step_and_group(tmpdir): migrations = read_migrations(tmpdir) backend.apply_migrations(migrations) cursor = backend.cursor() - cursor.execute("SELECT id FROM test") + cursor.execute("SELECT id FROM _yoyo_test") assert cursor.fetchall() == [(1,)] |