summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRaffaele Salmaso <raffaele@salmaso.org>2014-08-22 09:26:06 +0200
committerTim Graham <timograham@gmail.com>2014-08-23 19:18:03 -0400
commitabd640fbdfce2c8dc8bca039525694d3a1a0297a (patch)
treebe79057df3ad9de1b0faaeddf85998443e206193 /tests
parent19999befbec89171f7b3d6d75d3b0600e5c41cc0 (diff)
Fixed #23341 -- Added migration name to nonexistent migration error in makemigrations.
Diffstat (limited to 'tests')
-rw-r--r--tests/migrations/test_autodetector.py4
-rw-r--r--tests/migrations/test_graph.py63
2 files changed, 46 insertions, 21 deletions
diff --git a/tests/migrations/test_autodetector.py b/tests/migrations/test_autodetector.py
index 1959e129d5..c3bec6ba84 100644
--- a/tests/migrations/test_autodetector.py
+++ b/tests/migrations/test_autodetector.py
@@ -156,8 +156,8 @@ class AutodetectorTests(TestCase):
graph.add_node(("testapp", "0001_initial"), None)
graph.add_node(("testapp", "0002_foobar"), None)
graph.add_node(("otherapp", "0001_initial"), None)
- graph.add_dependency(("testapp", "0002_foobar"), ("testapp", "0001_initial"))
- graph.add_dependency(("testapp", "0002_foobar"), ("otherapp", "0001_initial"))
+ graph.add_dependency("testapp.0002_foobar", ("testapp", "0002_foobar"), ("testapp", "0001_initial"))
+ graph.add_dependency("testapp.0002_foobar", ("testapp", "0002_foobar"), ("otherapp", "0001_initial"))
# Use project state to make a new migration change set
before = self.make_project_state([])
after = self.make_project_state([self.author_empty, self.other_pony, self.other_stable])
diff --git a/tests/migrations/test_graph.py b/tests/migrations/test_graph.py
index a72619eea5..ada8a5a1e5 100644
--- a/tests/migrations/test_graph.py
+++ b/tests/migrations/test_graph.py
@@ -23,11 +23,11 @@ class GraphTests(TestCase):
graph.add_node(("app_a", "0004"), None)
graph.add_node(("app_b", "0001"), None)
graph.add_node(("app_b", "0002"), None)
- graph.add_dependency(("app_a", "0004"), ("app_a", "0003"))
- graph.add_dependency(("app_a", "0003"), ("app_a", "0002"))
- graph.add_dependency(("app_a", "0002"), ("app_a", "0001"))
- graph.add_dependency(("app_a", "0003"), ("app_b", "0002"))
- graph.add_dependency(("app_b", "0002"), ("app_b", "0001"))
+ graph.add_dependency("app_a.0004", ("app_a", "0004"), ("app_a", "0003"))
+ graph.add_dependency("app_a.0003", ("app_a", "0003"), ("app_a", "0002"))
+ graph.add_dependency("app_a.0002", ("app_a", "0002"), ("app_a", "0001"))
+ graph.add_dependency("app_a.0003", ("app_a", "0003"), ("app_b", "0002"))
+ graph.add_dependency("app_b.0002", ("app_b", "0002"), ("app_b", "0001"))
# Test root migration case
self.assertEqual(
graph.forwards_plan(("app_a", "0001")),
@@ -78,15 +78,15 @@ class GraphTests(TestCase):
graph.add_node(("app_b", "0002"), None)
graph.add_node(("app_c", "0001"), None)
graph.add_node(("app_c", "0002"), None)
- graph.add_dependency(("app_a", "0004"), ("app_a", "0003"))
- graph.add_dependency(("app_a", "0003"), ("app_a", "0002"))
- graph.add_dependency(("app_a", "0002"), ("app_a", "0001"))
- graph.add_dependency(("app_a", "0003"), ("app_b", "0002"))
- graph.add_dependency(("app_b", "0002"), ("app_b", "0001"))
- graph.add_dependency(("app_a", "0004"), ("app_c", "0002"))
- graph.add_dependency(("app_c", "0002"), ("app_c", "0001"))
- graph.add_dependency(("app_c", "0001"), ("app_b", "0001"))
- graph.add_dependency(("app_c", "0002"), ("app_a", "0002"))
+ graph.add_dependency("app_a.0004", ("app_a", "0004"), ("app_a", "0003"))
+ graph.add_dependency("app_a.0003", ("app_a", "0003"), ("app_a", "0002"))
+ graph.add_dependency("app_a.0002", ("app_a", "0002"), ("app_a", "0001"))
+ graph.add_dependency("app_a.0003", ("app_a", "0003"), ("app_b", "0002"))
+ graph.add_dependency("app_b.0002", ("app_b", "0002"), ("app_b", "0001"))
+ graph.add_dependency("app_a.0004", ("app_a", "0004"), ("app_c", "0002"))
+ graph.add_dependency("app_c.0002", ("app_c", "0002"), ("app_c", "0001"))
+ graph.add_dependency("app_c.0001", ("app_c", "0001"), ("app_b", "0001"))
+ graph.add_dependency("app_c.0002", ("app_c", "0002"), ("app_a", "0002"))
# Test branch C only
self.assertEqual(
graph.forwards_plan(("app_c", "0002")),
@@ -123,11 +123,11 @@ class GraphTests(TestCase):
graph.add_node(("app_a", "0003"), None)
graph.add_node(("app_b", "0001"), None)
graph.add_node(("app_b", "0002"), None)
- graph.add_dependency(("app_a", "0003"), ("app_a", "0002"))
- graph.add_dependency(("app_a", "0002"), ("app_a", "0001"))
- graph.add_dependency(("app_a", "0001"), ("app_b", "0002"))
- graph.add_dependency(("app_b", "0002"), ("app_b", "0001"))
- graph.add_dependency(("app_b", "0001"), ("app_a", "0003"))
+ graph.add_dependency("app_a.0003", ("app_a", "0003"), ("app_a", "0002"))
+ graph.add_dependency("app_a.0002", ("app_a", "0002"), ("app_a", "0001"))
+ graph.add_dependency("app_a.0001", ("app_a", "0001"), ("app_b", "0002"))
+ graph.add_dependency("app_b.0002", ("app_b", "0002"), ("app_b", "0001"))
+ graph.add_dependency("app_b.0001", ("app_b", "0001"), ("app_a", "0003"))
# Test whole graph
self.assertRaises(
CircularDependencyError,
@@ -146,3 +146,28 @@ class GraphTests(TestCase):
with self.assertRaisesMessage(ValueError, message):
graph.backwards_plan(("app_b", "0001"))
+
+ def test_missing_parent_nodes(self):
+ """
+ Tests for missing parent nodes.
+ """
+ # Build graph
+ graph = MigrationGraph()
+ graph.add_node(("app_a", "0001"), None)
+ graph.add_node(("app_a", "0002"), None)
+ graph.add_node(("app_a", "0003"), None)
+ graph.add_node(("app_b", "0001"), None)
+ graph.add_dependency("app_a.0003", ("app_a", "0003"), ("app_a", "0002"))
+ graph.add_dependency("app_a.0002", ("app_a", "0002"), ("app_a", "0001"))
+ with self.assertRaisesMessage(KeyError, "Migration app_a.0001 dependencies references nonexistent parent node ('app_b', '0002')"):
+ graph.add_dependency("app_a.0001", ("app_a", "0001"), ("app_b", "0002"))
+
+ def test_missing_child_nodes(self):
+ """
+ Tests for missing child nodes.
+ """
+ # Build graph
+ graph = MigrationGraph()
+ graph.add_node(("app_a", "0001"), None)
+ with self.assertRaisesMessage(KeyError, "Migration app_a.0002 dependencies references nonexistent child node ('app_a', '0002')"):
+ graph.add_dependency("app_a.0002", ("app_a", "0002"), ("app_a", "0001"))