def METHOD_NAME(self, _):
    setup_module()
    import transaction
    from sqlalchemy import Column, ForeignKey, types
    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy.orm import relationship
    from c2cgeoportal_commons.models import DBSession
    from c2cgeoportal_geoportal.lib.dbreflection import _AssociationProxy
    # Always see the diff
    # https://docs.python.org/2/library/unittest.html#unittest.TestCase.maxDiff
    self.maxDiff = None
    Base = declarative_base(bind=DBSession.c2c_rw_bind)  # noqa
    class Child(Base):  # type: ignore
        __tablename__ = "child"
        id = Column(types.Integer, primary_key=True)
        name = Column(types.Unicode)
        custom_order = Column(types.Integer)
        def __init__(self, name, custom_order):
            self.name = name
            self.custom_order = custom_order
    class Parent(Base):  # type: ignore
        __tablename__ = "parent"
        id = Column(types.Integer, primary_key=True)
        child1_id = Column(types.Integer, ForeignKey("child.id"))
        child2_id = Column(types.Integer, ForeignKey("child.id"))
        other = Column(types.String)
        readonly = Column(types.String, info={"readonly": True})
        child1_ = relationship(Child, primaryjoin=(child1_id == Child.id))
        child1 = _AssociationProxy("child1_", "name")
        child1_id.info["association_proxy"] = "child1"
        child2_ = relationship(Child, primaryjoin=(child2_id == Child.id))
        child2 = _AssociationProxy("child2_", "name", nullable=False, order_by="custom_order")
        child2_id.info["association_proxy"] = "child2"
    Child.__table__.create()
    Parent.__table__.create()
    self._tables = [Parent.__table__, Child.__table__]
    DBSession.add_all([Child("foo", 2), Child("zad", 1), Child("bar", 2)])
    transaction.commit()
    self.metadata = Base.metadata
    self.cls = Parent