MCPcopy
hub / github.com/django/django / test_loading_squashed_complex

Method test_loading_squashed_complex

tests/migrations/test_loader.py:313–357  ·  view source on GitHub ↗

Tests loading a complex set of squashed migrations

(self)

Source from the content-addressed store, hash-verified

311 MIGRATION_MODULES={"migrations": "migrations.test_migrations_squashed_complex"}
312 )
313 def test_loading_squashed_complex(self):
314 "Tests loading a complex set of squashed migrations"
315
316 loader = MigrationLoader(connection)
317 recorder = MigrationRecorder(connection)
318 self.addCleanup(recorder.flush)
319
320 def num_nodes():
321 plan = set(loader.graph.forwards_plan(("migrations", "7_auto")))
322 return len(plan - loader.applied_migrations.keys())
323
324 # Empty database: use squashed migration
325 loader.build_graph()
326 self.assertEqual(num_nodes(), 5)
327
328 # Starting at 1 or 2 should use the squashed migration too
329 self.record_applied(recorder, "migrations", "1_auto")
330 loader.build_graph()
331 self.assertEqual(num_nodes(), 4)
332
333 self.record_applied(recorder, "migrations", "2_auto")
334 loader.build_graph()
335 self.assertEqual(num_nodes(), 3)
336
337 # However, starting at 3 to 5 cannot use the squashed migration
338 self.record_applied(recorder, "migrations", "3_auto")
339 loader.build_graph()
340 self.assertEqual(num_nodes(), 4)
341
342 self.record_applied(recorder, "migrations", "4_auto")
343 loader.build_graph()
344 self.assertEqual(num_nodes(), 3)
345
346 # Starting at 5 to 7 we are past the squashed migrations.
347 self.record_applied(recorder, "migrations", "5_auto")
348 loader.build_graph()
349 self.assertEqual(num_nodes(), 2)
350
351 self.record_applied(recorder, "migrations", "6_auto")
352 loader.build_graph()
353 self.assertEqual(num_nodes(), 1)
354
355 self.record_applied(recorder, "migrations", "7_auto")
356 loader.build_graph()
357 self.assertEqual(num_nodes(), 0)
358
359 @override_settings(
360 MIGRATION_MODULES={

Callers

nothing calls this directly

Calls 4

build_graphMethod · 0.95
record_appliedMethod · 0.95
MigrationLoaderClass · 0.90
MigrationRecorderClass · 0.90

Tested by

no test coverage detected