def init(session: "Session_") -> Iterator[None]: from .models import Base, User, engine, Item from smorest_sfs.plugins.queries.abstract import RenderableStatementABC from sqlalchemy.dialects.sqlite import dialect registered = False if (hasattr(RenderableStatementABC, "_session") and getattr(RenderableStatementABC, "_session") is not None): pre_session = getattr(RenderableStatementABC, "_session") pre_dialect = getattr(RenderableStatementABC, "_DIALECT") registered = True RenderableStatementABC.init_statement(session, dialect) mixer = Mixer(session=session) Base.metadata.create_all(engine) mixer.cycle(5).blend( User, name=mixer.sequence("name{0}"), nickname=mixer.sequence("nickname{0}"), items=mixer.sequence( lambda x: [Item(name="name{0}".format(3 * x + i)) for i in range(3)]), ) yield if registered: RenderableStatementABC.init_statement(pre_session, pre_dialect) Base.metadata.drop_all(engine)
def email_templates( flask_app: Flask, temp_db_instance_helper: INS_HELPER["EmailTemplate"], sqla_mixer: SqlaMixer, ) -> Iterator[List["EmailTemplate"]]: # pylint: disable=W0613 from smorest_sfs.modules.email_templates.models import EmailTemplate for _ in temp_db_instance_helper(*sqla_mixer.cycle(3).blend( EmailTemplate, name=sqla_mixer.sequence("{0}_test_name"))): yield _
def groups( flask_app: Flask, temp_db_instance_helper: INS_HELPER["Group"], sqla_mixer: SqlaMixer, ) -> Iterator[List["Group"]]: from smorest_sfs.modules.groups.models import Group for _ in temp_db_instance_helper( *sqla_mixer.cycle(3).blend(Group, name=sqla_mixer.sequence("{0}_test_name")) ): yield _