Coverage for modules/box__default/auth/tests/factories.py : 100%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1"""Factories to help in tests."""
2from factory import Sequence
3from factory.alchemy import SQLAlchemyModelFactory
4from init import db
5from modules.box__default.auth.models import Role
6from modules.box__default.auth.models import User
7from sqlalchemy.orm import scoped_session
10class BaseFactory(SQLAlchemyModelFactory):
11 """Base factory."""
13 class Meta:
14 """Factory configuration."""
16 abstract = True
17 sqlalchemy_session = db.session
18 sqlalchemy_session = scoped_session(
19 lambda: db.session, scopefunc=lambda: db.session
20 )
21 sqlalchemy_session_persistence = "commit"
24class UserFactory(BaseFactory):
25 """User factory."""
27 username = Sequence(lambda n: f"user{n}")
28 email = Sequence(lambda n: f"user{n}@example.com")
29 password = "pass"
30 is_email_confirmed = True
31 is_admin = False
33 class Meta:
34 """Factory configuration."""
36 model = User
39class RoleFactory(BaseFactory):
40 """Role factory."""
42 name = Sequence(lambda n: f"role{n}")
44 class Meta:
45 """Factory configuration."""
47 model = Role