MCPcopy
hub / github.com/django/django / test_partial_router

Method test_partial_router

tests/multiple_database/tests.py:1426–1457  ·  view source on GitHub ↗

A router can choose to implement a subset of methods

(self)

Source from the content-addressed store, hash-verified

1424 self.assertTrue(router.allow_migrate_model("other", Book))
1425
1426 def test_partial_router(self):
1427 "A router can choose to implement a subset of methods"
1428 dive = Book.objects.using("other").create(
1429 title="Dive into Python", published=datetime.date(2009, 5, 4)
1430 )
1431
1432 # First check the baseline behavior.
1433
1434 self.assertEqual(router.db_for_read(User), "other")
1435 self.assertEqual(router.db_for_read(Book), "other")
1436
1437 self.assertEqual(router.db_for_write(User), "default")
1438 self.assertEqual(router.db_for_write(Book), "default")
1439
1440 self.assertTrue(router.allow_relation(dive, dive))
1441
1442 self.assertTrue(router.allow_migrate_model("default", User))
1443 self.assertTrue(router.allow_migrate_model("default", Book))
1444
1445 with override_settings(
1446 DATABASE_ROUTERS=[WriteRouter(), AuthRouter(), TestRouter()]
1447 ):
1448 self.assertEqual(router.db_for_read(User), "default")
1449 self.assertEqual(router.db_for_read(Book), "other")
1450
1451 self.assertEqual(router.db_for_write(User), "writer")
1452 self.assertEqual(router.db_for_write(Book), "writer")
1453
1454 self.assertTrue(router.allow_relation(dive, dive))
1455
1456 self.assertFalse(router.allow_migrate_model("default", User))
1457 self.assertTrue(router.allow_migrate_model("default", Book))
1458
1459 def test_database_routing(self):
1460 marty = Person.objects.using("default").create(name="Marty Alchin")

Callers

nothing calls this directly

Calls 10

override_settingsClass · 0.90
WriteRouterClass · 0.85
AuthRouterClass · 0.85
TestRouterClass · 0.70
createMethod · 0.45
usingMethod · 0.45
db_for_readMethod · 0.45
db_for_writeMethod · 0.45
allow_relationMethod · 0.45
allow_migrate_modelMethod · 0.45

Tested by

no test coverage detected