MCPcopy Create free account
hub / github.com/sqlalchemy/sqlalchemy / test_mapper_config_sequence

Method test_mapper_config_sequence

test/orm/test_events.py:1775–1860  ·  view source on GitHub ↗
(self, decl_base, listen_type)

Source from the content-addressed store, hash-verified

1773 ["listen_on_mapper", "listen_on_base", "listen_on_mixin"],
1774 )
1775 def test_mapper_config_sequence(self, decl_base, listen_type):
1776 canary = Mock()
1777
1778 if listen_type.listen_on_mapper:
1779 event.listen(Mapper, "instrument_class", canary.instrument_class)
1780 event.listen(
1781 Mapper,
1782 "after_mapper_constructed",
1783 canary.after_mapper_constructed,
1784 )
1785 elif listen_type.listen_on_base:
1786 event.listen(
1787 decl_base,
1788 "instrument_class",
1789 canary.instrument_class,
1790 propagate=True,
1791 )
1792 event.listen(
1793 decl_base,
1794 "after_mapper_constructed",
1795 canary.after_mapper_constructed,
1796 propagate=True,
1797 )
1798 elif listen_type.listen_on_mixin:
1799
1800 class Mixin:
1801 pass
1802
1803 event.listen(
1804 Mixin,
1805 "instrument_class",
1806 canary.instrument_class,
1807 propagate=True,
1808 )
1809 event.listen(
1810 Mixin,
1811 "after_mapper_constructed",
1812 canary.after_mapper_constructed,
1813 propagate=True,
1814 )
1815 else:
1816 listen_type.fail()
1817
1818 event.listen(object, "class_instrument", canary.class_instrument)
1819 event.listen(Mapper, "before_configured", canary.before_configured)
1820 event.listen(
1821 Mapper, "before_mapper_configured", canary.before_mapper_configured
1822 )
1823 event.listen(Mapper, "after_configured", canary.after_configured)
1824
1825 if listen_type.listen_on_mixin:
1826
1827 class Thing(Mixin, decl_base):
1828 __tablename__ = "thing"
1829
1830 id = Column(Integer, primary_key=True)
1831
1832 else:

Callers

nothing calls this directly

Calls 11

inspectFunction · 0.90
eq_Function · 0.90
listenMethod · 0.45
failMethod · 0.45
instrument_classMethod · 0.45
class_instrumentMethod · 0.45
configureMethod · 0.45
before_configuredMethod · 0.45
after_configuredMethod · 0.45

Tested by

no test coverage detected