summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorolly <olly@ollycope.com>2015-09-04 08:56:21 +0000
committerolly <olly@ollycope.com>2015-09-04 08:56:21 +0000
commit06f284a1de778ed02a45280dc5231453fad4b3ac (patch)
tree2b3898d392a9c5942016d1b416eb74439ad705b4
parent8079f3763b2a0d889993075787aa1013f92efc5b (diff)
downloadyoyo-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.py24
-rw-r--r--yoyo/tests/test_migrations.py59
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,)]